{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/core/guards/Calendario.guard.ts","webpack:///src/app/core/guards/Indicador.guard.ts","webpack:///src/app/core/guards/auth.guard.ts","webpack:///src/app/core/guards/categoriaRisco.guard.ts","webpack:///src/app/core/guards/coordenacao.guard.ts","webpack:///src/app/core/guards/criterio.guard.ts","webpack:///src/app/core/guards/custoRecurso.guard.ts","webpack:///src/app/core/guards/faseAtividade.guard.ts","webpack:///src/app/core/guards/matrizPlanejamento.guard.ts","webpack:///src/app/core/guards/modeloRelatorio.guard.ts","webpack:///src/app/core/guards/naturezaResponsabilidade.guard.ts","webpack:///src/app/core/guards/paa.guard.ts","webpack:///src/app/core/guards/pea.guard.ts","webpack:///src/app/core/guards/pergunta.guard.ts","webpack:///src/app/core/guards/periodo.guard.ts","webpack:///src/app/core/guards/procedimentoAuditoria.guard.ts","webpack:///src/app/core/guards/questao.guard.ts","webpack:///src/app/core/guards/questionario.guard.ts","webpack:///src/app/core/guards/recomendacao.guard.ts","webpack:///src/app/core/guards/riscos.guard.ts","webpack:///src/app/core/guards/subtipoAuditoria.guard.ts","webpack:///src/app/core/guards/tecnicaAuditoria.guard.ts","webpack:///src/app/core/guards/tipoAuditoria.guard.ts","webpack:///src/app/core/guards/tipoCriterio.guard.ts","webpack:///src/app/core/guards/tipoDispensa.guard.ts","webpack:///src/app/core/guards/tipoEnfase.guard.ts","webpack:///src/app/core/helpers/date.helper.ts","webpack:///src/app/core/helpers/filterby.ts","webpack:///src/app/core/helpers/mat-sort-data-accessor.ts","webpack:///src/app/core/helpers/number.helper.ts","webpack:///src/app/core/helpers/ptbr-paginator-intl.ts","webpack:///src/app/core/http/auth.interceptor.ts","webpack:///src/app/core/http/loading.interceptor.ts","webpack:///src/app/models/enum/acao-recurso.enum.ts","webpack:///src/app/models/enum/questionario-ug-situacao.enum.ts","webpack:///src/app/models/enum/recurso-perfil.enum.ts","webpack:///src/app/models/enum/riscos-chaves-situacao.ts","webpack:///src/app/models/enum/status-avaliacao-questionario-ug.enum.ts","webpack:///src/app/models/enum/status-solicitcao-tecnica.enum.ts","webpack:///src/app/models/enum/tipo-avaliacao-questionario-ug.enum.ts","webpack:///src/app/models/enum/tipo-documento-aprovacao.enum.ts","webpack:///src/app/models/enum/tipo-feriado.enum.ts","webpack:///src/app/models/enum/tipo-questionario-ug.enum.ts","webpack:///src/app/models/enum/tipo-universo.enum.ts","webpack:///src/app/models/enum/universo-auditavel-situacao.ts","webpack:///src/app/models/filtro.model.ts","webpack:///src/app/models/permissao.model.ts","webpack:///src/app/pages/agente-publico-form/aba-dados-basicos/aba-dados-basicos.component.html","webpack:///src/app/pages/agente-publico-form/aba-dados-basicos/aba-dados-basicos.component.ts","webpack:///src/app/pages/agente-publico-form/aba-dispensas/aba-dispensas.component.html","webpack:///src/app/pages/agente-publico-form/aba-dispensas/aba-dispensas.component.ts","webpack:///src/app/pages/agente-publico-form/aba-dispensas/modal-adicionar-dispensa/modal-adicionar-dispensa.component.html","webpack:///src/app/pages/agente-publico-form/aba-dispensas/modal-adicionar-dispensa/modal-adicionar-dispensa.component.ts","webpack:///src/app/pages/agente-publico-form/aba-disponibilidade/aba-disponibilidade.component.html","webpack:///src/app/pages/agente-publico-form/aba-disponibilidade/aba-disponibilidade.component.ts","webpack:///src/app/pages/agente-publico-form/agente-publico-form.component.html","webpack:///src/app/pages/agente-publico-form/agente-publico-form.component.ts","webpack:///src/app/pages/agente-publico-list/agente-publico-list.component.html","webpack:///src/app/pages/agente-publico-list/agente-publico-list.component.ts","webpack:///src/app/pages/aprovacao-list/aprovacao-list.component.ts","webpack:///src/app/pages/aprovacao-list/aprovacao-list.component.html","webpack:///src/app/pages/aprovacao-list/modal-avaliar/modal-avaliar.component.ts","webpack:///src/app/pages/aprovacao-list/modal-avaliar/modal-avaliar.component.html","webpack:///src/app/pages/auditoria-list/auditoria-list.component.ts","webpack:///src/app/pages/auditoria-list/auditoria-list.component.html","webpack:///src/app/pages/calendario-form/calendario-form.component.html","webpack:///src/app/pages/calendario-form/calendario-form.component.ts","webpack:///src/app/pages/calendario-list/calendario-list.component.ts","webpack:///src/app/pages/calendario-list/calendario-list.component.html","webpack:///src/app/pages/capitulo-relatorio-form/capitulo-relatorio-form.component.html","webpack:///src/app/pages/capitulo-relatorio-form/capitulo-relatorio-form.component.ts","webpack:///src/app/pages/capitulo-relatorio-list/capitulo-relatorio-list.component.ts","webpack:///src/app/pages/capitulo-relatorio-list/capitulo-relatorio-list.component.html","webpack:///src/app/pages/categoria-risco-form/categoria-risco-form.component.html","webpack:///src/app/pages/categoria-risco-form/categoria-risco-form.component.ts","webpack:///src/app/pages/categoria-risco-list/categoria-risco-list.component.ts","webpack:///src/app/pages/categoria-risco-list/categoria-risco-list.component.html","webpack:///src/app/pages/constatacao-form/constatacao-form.component.html","webpack:///src/app/pages/constatacao-form/constatacao-form.component.ts","webpack:///src/app/pages/constatacao-form/modal-constatacao/modal-constatacao.component.html","webpack:///src/app/pages/constatacao-form/modal-constatacao/modal-constatacao.component.ts","webpack:///src/app/pages/constatacao-form/modal-recomendacao/modal-recomendacao.component.ts","webpack:///src/app/pages/constatacao-form/modal-recomendacao/modal-recomendacao.component.html","webpack:///src/app/pages/constatacao-list/constatacao-list.component.ts","webpack:///src/app/pages/constatacao-list/constatacao-list.component.html","webpack:///src/app/pages/coordenacao-form/coordenacao-form.component.html","webpack:///src/app/pages/coordenacao-form/coordenacao-form.component.ts","webpack:///src/app/pages/coordenacao-form/modal-tipo-trabalho/modal-tipo-trabalho.component.html","webpack:///src/app/pages/coordenacao-form/modal-tipo-trabalho/modal-tipo-trabalho.component.ts","webpack:///src/app/pages/coordenacao-list/coordenacao-list.component.ts","webpack:///src/app/pages/coordenacao-list/coordenacao-list.component.html","webpack:///src/app/pages/criterio-form/criterio-form.component.html","webpack:///src/app/pages/criterio-form/criterio-form.component.ts","webpack:///src/app/pages/criterio-form/modal-metrica-numerico/modal-metrica-numerico.component.ts","webpack:///src/app/pages/criterio-form/modal-metrica-numerico/modal-metrica-numerico.component.html","webpack:///src/app/pages/criterio-form/modal-metrica-opcoes/modal-metrica-opcoes.component.ts","webpack:///src/app/pages/criterio-form/modal-metrica-opcoes/modal-metrica-opcoes.component.html","webpack:///src/app/pages/criterio-list/criterio-list.component.ts","webpack:///src/app/pages/criterio-list/criterio-list.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-controles/criterios-avaliacao-form-controles.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-controles/criterios-avaliacao-form-controles.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-controles/modal-controle/modal-controle.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-controles/modal-controle/modal-controle.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-dados/criterios-avaliacao-form-dados.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-dados/criterios-avaliacao-form-dados.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-niveis-risco-residual/criterios-avaliacao-form-niveis-risco-residual.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-niveis-risco-residual/criterios-avaliacao-form-niveis-risco-residual.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-niveis-risco-residual/formula-risco-residual/formula-risco-residual.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-niveis-risco-residual/formula-risco-residual/formula-risco-residual.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-niveis-risco-residual/modal-risco-residual/modal-risco-residual.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-niveis-risco-residual/modal-risco-residual/modal-risco-residual.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/criterios-avaliacao-form-risco-inerente.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/criterios-avaliacao-form-risco-inerente.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-escalas/form-magnitude-escala/form-magnitude-escala.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-escalas/form-magnitude-escala/form-magnitude-escala.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-escalas/grid-magnitude-escala/grid-magnitude-escala.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-escalas/grid-magnitude-escala/grid-magnitude-escala.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-escalas/modal-escalas.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-escalas/modal-escalas.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-formula-risco-inerente/modal-formula-risco-inerente.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-formula-risco-inerente/modal-formula-risco-inerente.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-risco-inerente/modal-risco-inerente.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-risco-inerente/modal-risco-inerente.component.html","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form.component.ts","webpack:///src/app/pages/criterios-avaliacao-form/criterios-avaliacao-form.component.html","webpack:///src/app/pages/criterios-avaliacao-list/criterios-avaliacao-list.component.html","webpack:///src/app/pages/criterios-avaliacao-list/criterios-avaliacao-list.component.ts","webpack:///src/app/pages/custo-recurso-form/custo-recurso-form.component.html","webpack:///src/app/pages/custo-recurso-form/custo-recurso-form.component.ts","webpack:///src/app/pages/custo-recurso-list/custo-recurso-list.component.ts","webpack:///src/app/pages/custo-recurso-list/custo-recurso-list.component.html","webpack:///src/app/pages/erro/erro.component.ts","webpack:///src/app/pages/erro/erro.component.html","webpack:///src/app/pages/faixa-classificacao-form/faixa-classificacao-form.component.html","webpack:///src/app/pages/faixa-classificacao-form/faixa-classificacao-form.component.ts","webpack:///src/app/pages/fase-atividade-form/fase-atividade-form.component.html","webpack:///src/app/pages/fase-atividade-form/fase-atividade-form.component.ts","webpack:///src/app/pages/fase-atividade-list/fase-atividade-list.component.ts","webpack:///src/app/pages/fase-atividade-list/fase-atividade-list.component.html","webpack:///src/app/pages/fluxo-aprovacao-form/fluxo-aprovacao-form.component.html","webpack:///src/app/pages/fluxo-aprovacao-form/fluxo-aprovacao-form.component.ts","webpack:///src/app/pages/fluxo-aprovacao-list/fluxo-aprovacao-list.component.ts","webpack:///src/app/pages/fluxo-aprovacao-list/fluxo-aprovacao-list.component.html","webpack:///src/app/pages/indicador-form/indicador-form.component.html","webpack:///src/app/pages/indicador-form/indicador-form.component.ts","webpack:///src/app/pages/indicador-list/indicador-list.component.ts","webpack:///src/app/pages/indicador-list/indicador-list.component.html","webpack:///src/app/pages/inicial/inicial.component.ts","webpack:///src/app/pages/inicial/inicial.component.html","webpack:///src/app/pages/log-sistema-form/log-form.component.ts","webpack:///src/app/pages/log-sistema-form/log-form.component.html","webpack:///src/app/pages/log-sistema-list/log-list.component.ts","webpack:///src/app/pages/log-sistema-list/log-list.component.html","webpack:///src/app/pages/matriz-planejamento-form/matriz-planejamento-form.component.html","webpack:///src/app/pages/matriz-planejamento-form/matriz-planejamento-form.component.ts","webpack:///src/app/pages/matriz-planejamento-list/matriz-planejamento-list.component.ts","webpack:///src/app/pages/matriz-planejamento-list/matriz-planejamento-list.component.html","webpack:///src/app/pages/matriz-planejamento-relatorio/matriz-planejamento-relatorio.component.html","webpack:///src/app/pages/matriz-planejamento-relatorio/matriz-planejamento-relatorio.component.ts","webpack:///src/app/pages/modelo-questionario-form/modal-cancelar/modal-cancelar.component.ts","webpack:///src/app/pages/modelo-questionario-form/modal-cancelar/modal-cancelar.component.html","webpack:///src/app/pages/modelo-questionario-form/modal-pergunta/modal-pergunta.component.html","webpack:///src/app/pages/modelo-questionario-form/modal-pergunta/modal-pergunta.component.ts","webpack:///src/app/pages/modelo-questionario-form/modal-secao/modal-secao.component.ts","webpack:///src/app/pages/modelo-questionario-form/modal-secao/modal-secao.component.html","webpack:///src/app/pages/modelo-questionario-form/modelo-questionario-form.component.html","webpack:///src/app/pages/modelo-questionario-form/modelo-questionario-form.component.ts","webpack:///src/app/pages/modelo-questionario-list/modelo-questionario-list.component.html","webpack:///src/app/pages/modelo-questionario-list/modelo-questionario-list.component.ts","webpack:///src/app/pages/modelo-relatorio-form/modal-capitulo/modal-capitulo.component.html","webpack:///src/app/pages/modelo-relatorio-form/modal-capitulo/modal-capitulo.component.ts","webpack:///src/app/pages/modelo-relatorio-form/modelo-relatorio-form.component.html","webpack:///src/app/pages/modelo-relatorio-form/modelo-relatorio-form.component.ts","webpack:///src/app/pages/modelo-relatorio-list/modelo-relatorio-list.component.ts","webpack:///src/app/pages/modelo-relatorio-list/modelo-relatorio-list.component.html","webpack:///src/app/pages/natureza-responsabilidade-form/natureza-responsabilidade-form.component.html","webpack:///src/app/pages/natureza-responsabilidade-form/natureza-responsabilidade-form.component.ts","webpack:///src/app/pages/natureza-responsabilidade-list/natureza-responsabilidade-list.component.ts","webpack:///src/app/pages/natureza-responsabilidade-list/natureza-responsabilidade-list.component.html","webpack:///src/app/pages/opa/form/opa-form.component.html","webpack:///src/app/pages/opa/form/opa-form.component.ts","webpack:///src/app/pages/opa/list/opa-list.component.ts","webpack:///src/app/pages/opa/list/opa-list.component.html","webpack:///src/app/pages/opa/modal/modal-alocar-equipe/modal-alocar-equipe-opa.component.html","webpack:///src/app/pages/opa/modal/modal-alocar-equipe/modal-alocar-equipe-opa.component.ts","webpack:///src/app/pages/opa/relatorio/opa-relatorio.component.html","webpack:///src/app/pages/opa/relatorio/opa-relatorio.component.ts","webpack:///src/app/pages/osa/filtro-component/filtro-component.component.ts","webpack:///src/app/pages/osa/filtro-component/filtro-component.component.html","webpack:///src/app/pages/osa/osa-form/aba-informacoes-basicas/aba-informacoes-basicas.component.html","webpack:///src/app/pages/osa/osa-form/aba-informacoes-basicas/aba-informacoes-basicas.component.ts","webpack:///src/app/pages/osa/osa-form/osa-abas/osa-abas.component.ts","webpack:///src/app/pages/osa/osa-form/osa-abas/osa-abas.component.html","webpack:///src/app/pages/osa/osa-form/osa-form.component.ts","webpack:///src/app/pages/osa/osa-form/osa-form.component.html","webpack:///src/app/pages/osa/osa-imprimir/osa-imprimir.component.ts","webpack:///src/app/pages/osa/osa-imprimir/osa-imprimir.component.html","webpack:///src/app/pages/osa/osa-list/osa-list.component.ts","webpack:///src/app/pages/osa/osa-list/osa-list.component.html","webpack:///src/app/pages/osa/osa.component.ts","webpack:///src/app/pages/osa/osa.component.html","webpack:///src/app/pages/paa-elaborar/aba-alocacao/paa-aba-alocacao.component.ts","webpack:///src/app/pages/paa-elaborar/aba-alocacao/paa-aba-alocacao.component.html","webpack:///src/app/pages/paa-elaborar/aba-capacidade/modal-capacidade/modal-capacidade-paa.component.ts","webpack:///src/app/pages/paa-elaborar/aba-capacidade/modal-capacidade/modal-capacidade-paa.component.html","webpack:///src/app/pages/paa-elaborar/aba-capacidade/paa-aba-capacidade.component.ts","webpack:///src/app/pages/paa-elaborar/aba-capacidade/paa-aba-capacidade.component.html","webpack:///src/app/pages/paa-elaborar/aba-dados/paa-aba-dados-basicos.component.ts","webpack:///src/app/pages/paa-elaborar/aba-dados/paa-aba-dados-basicos.component.html","webpack:///src/app/pages/paa-elaborar/aba-distribuicao/paa-aba-distribuicao.component.ts","webpack:///src/app/pages/paa-elaborar/aba-distribuicao/paa-aba-distribuicao.component.html","webpack:///src/app/pages/paa-elaborar/aba-indices-criterios/paa-aba-indices-criterios.component.ts","webpack:///src/app/pages/paa-elaborar/aba-indices-criterios/paa-aba-indices-criterios.component.html","webpack:///src/app/pages/paa-elaborar/modal-alocar-equipe/modal-alocar-equipe.component.html","webpack:///src/app/pages/paa-elaborar/modal-alocar-equipe/modal-alocar-equipe.component.ts","webpack:///src/app/pages/paa-elaborar/modal-alterar-tipo-auditoria/modal-alterar-tipo-auditoria.component.ts","webpack:///src/app/pages/paa-elaborar/modal-alterar-tipo-auditoria/modal-alterar-tipo-auditoria.component.html","webpack:///src/app/pages/paa-elaborar/modal-alterar-tipo-enfase/modal-alterar-tipo-enfase.component.ts","webpack:///src/app/pages/paa-elaborar/modal-alterar-tipo-enfase/modal-alterar-tipo-enfase.component.html","webpack:///src/app/pages/paa-elaborar/modal-cadastrar-criterio/modal-cadastrar-criterio.component.ts","webpack:///src/app/pages/paa-elaborar/modal-cadastrar-criterio/modal-cadastrar-criterio.component.html","webpack:///src/app/pages/paa-elaborar/modal-cadastrar-indicador/modal-cadastrar-indicador.component.ts","webpack:///src/app/pages/paa-elaborar/modal-cadastrar-indicador/modal-cadastrar-indicador.component.html","webpack:///src/app/pages/paa-elaborar/modal-capacidade-dispensa/modal-capacidade-dispensa.component.ts","webpack:///src/app/pages/paa-elaborar/modal-capacidade-dispensa/modal-capacidade-dispensa.component.html","webpack:///src/app/pages/paa-elaborar/modal-confirmar-reativacao-distribuicao/modal-confirmar-reativacao-distribuicao.component.ts","webpack:///src/app/pages/paa-elaborar/modal-confirmar-reativacao-distribuicao/modal-confirmar-reativacao-distribuicao.component.html","webpack:///src/app/pages/paa-elaborar/modal-descricao-paac/modal-descricao-paac.component.ts","webpack:///src/app/pages/paa-elaborar/modal-descricao-paac/modal-descricao-paac.component.html","webpack:///src/app/pages/paa-elaborar/modal-entranhar/modal-entranhar.component.html","webpack:///src/app/pages/paa-elaborar/modal-entranhar/modal-entranhar.component.ts","webpack:///src/app/pages/paa-elaborar/modal-enviar-questionario-criterio/modal-enviar-questionario-criterio.component.ts","webpack:///src/app/pages/paa-elaborar/modal-enviar-questionario-criterio/modal-enviar-questionario-criterio.component.html","webpack:///src/app/pages/paa-elaborar/modal-grafico-distribuicao/modal-grafico-distribuicao.component.ts","webpack:///src/app/pages/paa-elaborar/modal-grafico-distribuicao/modal-grafico-distribuicao.component.html","webpack:///src/app/pages/paa-elaborar/modal-grafico-distribuicao/template-impressao.ts","webpack:///src/app/pages/paa-elaborar/modal-importar-arquivo-criterio-paa/modal-importar-arquivo-criterio-paa.component.ts","webpack:///src/app/pages/paa-elaborar/modal-importar-arquivo-criterio-paa/modal-importar-arquivo-criterio-paa.component.html","webpack:///src/app/pages/paa-elaborar/modal-preencher-formulario/modal-preencher-formulario-paa.component.ts","webpack:///src/app/pages/paa-elaborar/modal-preencher-formulario/modal-preencher-formulario-paa.component.html","webpack:///src/app/pages/paa-elaborar/modal-ranking-prioridade/modal-ranking-prioridade.component.ts","webpack:///src/app/pages/paa-elaborar/modal-ranking-prioridade/modal-ranking-prioridade.component.html","webpack:///src/app/pages/paa-elaborar/modal-selecionar-colunas/modal-selecionar-colunas.component.ts","webpack:///src/app/pages/paa-elaborar/modal-selecionar-colunas/modal-selecionar-colunas.component.html","webpack:///src/app/pages/paa-elaborar/modal-selecionar-ug/modal-selecionar-ug.component.ts","webpack:///src/app/pages/paa-elaborar/modal-selecionar-ug/modal-selecionar-ug.component.html","webpack:///src/app/pages/paa-elaborar/modal-visualizar-questionario-criterio/modal-visualizar-questionario-criterio.component.ts","webpack:///src/app/pages/paa-elaborar/modal-visualizar-questionario-criterio/modal-visualizar-questionario-criterio.component.html","webpack:///src/app/pages/paa-elaborar/paa-elaborar.component.ts","webpack:///src/app/pages/paa-elaborar/paa-elaborar.component.html","webpack:///src/app/pages/paa-list/paa-list.component.html","webpack:///src/app/pages/paa-list/paa-list.component.ts","webpack:///src/app/pages/paa-relatorio/paa-relatorio.component.html","webpack:///src/app/pages/paa-relatorio/paa-relatorio.component.ts","webpack:///src/app/pages/parametrizacao-documento-edocs-form/parametrizacao-documento-edocs-form.component.html","webpack:///src/app/pages/parametrizacao-documento-edocs-form/parametrizacao-documento-edocs-form.component.ts","webpack:///src/app/pages/parametrizacao-list/modal-parametrizacao-form/modal-parametrizacao-form.component.html","webpack:///src/app/pages/parametrizacao-list/modal-parametrizacao-form/modal-parametrizacao-form.component.ts","webpack:///src/app/pages/parametrizacao-list/parametrizacao-list.component.ts","webpack:///src/app/pages/parametrizacao-list/parametrizacao-list.component.html","webpack:///src/app/pages/pea-form/modal-autuacao/modal-autuacao.component.html","webpack:///src/app/pages/pea-form/modal-autuacao/modal-autuacao.component.ts","webpack:///src/app/pages/pea-form/modal-capacidade/modal-capacidade.component.ts","webpack:///src/app/pages/pea-form/modal-capacidade/modal-capacidade.component.html","webpack:///src/app/pages/pea-form/modal-descricao-dias-uteis/modal-descricao-dias-uteis.component.ts","webpack:///src/app/pages/pea-form/modal-descricao-dias-uteis/modal-descricao-dias-uteis.component.html","webpack:///src/app/pages/pea-form/modal-descricao-peac/modal-descricao-peac.component.ts","webpack:///src/app/pages/pea-form/modal-descricao-peac/modal-descricao-peac.component.html","webpack:///src/app/pages/pea-form/modal-detalhar-valor-risco/modal-detalhar-valor-risco.component.ts","webpack:///src/app/pages/pea-form/modal-detalhar-valor-risco/modal-detalhar-valor-risco.component.html","webpack:///src/app/pages/pea-form/modal-enviar-questionario-criterio/modal-enviar-questionario-criterio.component.ts","webpack:///src/app/pages/pea-form/modal-enviar-questionario-criterio/modal-enviar-questionario-criterio.component.html","webpack:///src/app/pages/pea-form/modal-importar-arquivo-criterio/modal-importar-arquivo-criterio.component.ts","webpack:///src/app/pages/pea-form/modal-importar-arquivo-criterio/modal-importar-arquivo-criterio.component.html","webpack:///src/app/pages/pea-form/modal-preencher-formulario/modal-preencher-formulario.component.ts","webpack:///src/app/pages/pea-form/modal-preencher-formulario/modal-preencher-formulario.component.html","webpack:///src/app/pages/pea-form/modal-selecionar-coordenacoes/modal-selecionar-coordenacoes.component.ts","webpack:///src/app/pages/pea-form/modal-selecionar-coordenacoes/modal-selecionar-coordenacoes.component.html","webpack:///src/app/pages/pea-form/modal-selecionar-ug/modal-selecionar-ug.component.ts","webpack:///src/app/pages/pea-form/modal-selecionar-ug/modal-selecionar-ug.component.html","webpack:///src/app/pages/pea-form/modal-visualizar-questionario-criterio/modal-visualizar-questionario-criterio.component.ts","webpack:///src/app/pages/pea-form/modal-visualizar-questionario-criterio/modal-visualizar-questionario-criterio.component.html","webpack:///src/app/pages/pea-form/modal-visualizar-respostas/modal-visualizar-respostas.component.ts","webpack:///src/app/pages/pea-form/modal-visualizar-respostas/modal-visualizar-respostas.component.html","webpack:///src/app/pages/pea-form/pea-form.component.html","webpack:///src/app/pages/pea-form/pea-form.component.ts","webpack:///src/app/pages/pea-list/pea-list.component.html","webpack:///src/app/pages/pea-list/pea-list.component.ts","webpack:///src/app/pages/pea-relatorio/pea-relatorio.component.html","webpack:///src/app/pages/pea-relatorio/pea-relatorio.component.ts","webpack:///src/app/pages/pendencia-list/pendencia-list.component.ts","webpack:///src/app/pages/pendencia-list/pendencia-list.component.html","webpack:///src/app/pages/pergunta-form/modal-metrica-pergunta/modal-excluir-metrica/modal-excluir-metrica.component.ts","webpack:///src/app/pages/pergunta-form/modal-metrica-pergunta/modal-excluir-metrica/modal-excluir-metrica.component.html","webpack:///src/app/pages/pergunta-form/modal-metrica-pergunta/modal-metrica-pergunta.component.html","webpack:///src/app/pages/pergunta-form/modal-metrica-pergunta/modal-metrica-pergunta.component.ts","webpack:///src/app/pages/pergunta-form/pergunta-form.component.html","webpack:///src/app/pages/pergunta-form/pergunta-form.component.ts","webpack:///src/app/pages/pergunta-list/pergunta-list.component.ts","webpack:///src/app/pages/pergunta-list/pergunta-list.component.html","webpack:///src/app/pages/periodo-form/periodo-form.component.html","webpack:///src/app/pages/periodo-form/periodo-form.component.ts","webpack:///src/app/pages/periodo-list/periodo-list.component.ts","webpack:///src/app/pages/periodo-list/periodo-list.component.html","webpack:///src/app/pages/planejamento-form/imprimir/imprimir.component.ts","webpack:///src/app/pages/planejamento-form/imprimir/imprimir.component.html","webpack:///src/app/pages/planejamento-form/matriz-planejamento-visualizar/matriz-planejamento-visualizar.component.html","webpack:///src/app/pages/planejamento-form/matriz-planejamento-visualizar/matriz-planejamento-visualizar.component.ts","webpack:///src/app/pages/planejamento-form/modal-alocar-equipe/modal-alocar-equipe-planejamento.component.html","webpack:///src/app/pages/planejamento-form/modal-alocar-equipe/modal-alocar-equipe-planejamento.component.ts","webpack:///src/app/pages/planejamento-form/modal-ug-planejamento/modal-ug-planejamento.component.ts","webpack:///src/app/pages/planejamento-form/modal-ug-planejamento/modal-ug-planejamento.component.html","webpack:///src/app/pages/planejamento-form/planejamento-form.component.html","webpack:///src/app/pages/planejamento-form/planejamento-form.component.ts","webpack:///src/app/pages/planejamento-list/planejamento-list.component.ts","webpack:///src/app/pages/planejamento-list/planejamento-list.component.html","webpack:///src/app/pages/pre-planejamento-list/pre-planejamento-list.component.ts","webpack:///src/app/pages/pre-planejamento-list/pre-planejamento-list.component.html","webpack:///src/app/pages/pre-planejamento-resposta-form/modal-concordar/modal-concordar.component.ts","webpack:///src/app/pages/pre-planejamento-resposta-form/modal-concordar/modal-concordar.component.html","webpack:///src/app/pages/pre-planejamento-resposta-form/modal-contestar/modal-contestar.component.ts","webpack:///src/app/pages/pre-planejamento-resposta-form/modal-contestar/modal-contestar.component.html","webpack:///src/app/pages/pre-planejamento-resposta-form/modal-delegar/modal-delegar.component.html","webpack:///src/app/pages/pre-planejamento-resposta-form/modal-delegar/modal-delegar.component.ts","webpack:///src/app/pages/pre-planejamento-resposta-form/pre-planejamento-resposta-form.component.html","webpack:///src/app/pages/pre-planejamento-resposta-form/pre-planejamento-resposta-form.component.ts","webpack:///src/app/pages/procedimento-auditoria-form/modal-procedimento-auditoria/modal-procedimento-auditoria.component.html","webpack:///src/app/pages/procedimento-auditoria-form/modal-procedimento-auditoria/modal-procedimento-auditoria.component.ts","webpack:///src/app/pages/procedimento-auditoria-form/procedimento-auditoria-form.component.html","webpack:///src/app/pages/procedimento-auditoria-form/procedimento-auditoria-form.component.ts","webpack:///src/app/pages/procedimento-auditoria-list/procedimento-auditoria-list.component.ts","webpack:///src/app/pages/procedimento-auditoria-list/procedimento-auditoria-list.component.html","webpack:///src/app/pages/questao-form/questao-form.component.html","webpack:///src/app/pages/questao-form/questao-form.component.ts","webpack:///src/app/pages/questao-list/questao-list.component.ts","webpack:///src/app/pages/questao-list/questao-list.component.html","webpack:///src/app/pages/questionario-form/modal-delegar/modal-delegar-component.ts","webpack:///src/app/pages/questionario-form/modal-delegar/modal-delegar-component.html","webpack:///src/app/pages/questionario-form/questionario-form.component.html","webpack:///src/app/pages/questionario-form/questionario-form.component.ts","webpack:///src/app/pages/questionario-list/questionario-list.component.ts","webpack:///src/app/pages/questionario-list/questionario-list.component.html","webpack:///src/app/pages/recomendacao-form/recomendacao-form.component.html","webpack:///src/app/pages/recomendacao-form/recomendacao-form.component.ts","webpack:///src/app/pages/recomendacao-list/recomendacao-list.component.ts","webpack:///src/app/pages/recomendacao-list/recomendacao-list.component.html","webpack:///src/app/pages/riscos-form/riscos-form.component.html","webpack:///src/app/pages/riscos-form/riscos-form.component.ts","webpack:///src/app/pages/riscos-list/riscos-list.component.html","webpack:///src/app/pages/riscos-list/riscos-list.component.ts","webpack:///src/app/pages/rol-responsaveis-form/modal-incluir-periodo-exercicio/modal-incluir-periodo-exercicio.component.html","webpack:///src/app/pages/rol-responsaveis-form/modal-incluir-periodo-exercicio/modal-incluir-periodo-exercicio.component.ts","webpack:///src/app/pages/rol-responsaveis-form/modal-incluir-responsaveis/modal-incluir-responsavel.component.html","webpack:///src/app/pages/rol-responsaveis-form/modal-incluir-responsaveis/modal-incluir-responsavel.component.ts","webpack:///src/app/pages/rol-responsaveis-form/modal-selecionar-responsavel/modal-selecionar-responsavel.component.html","webpack:///src/app/pages/rol-responsaveis-form/modal-selecionar-responsavel/modal-selecionar-responsavel.component.ts","webpack:///src/app/pages/rol-responsaveis-form/rol-responsaveis-form.component.html","webpack:///src/app/pages/rol-responsaveis-form/rol-responsaveis-form.component.ts","webpack:///src/app/pages/rol-responsaveis-list/rol-responsaveis-list.component.html","webpack:///src/app/pages/rol-responsaveis-list/rol-responsaveis-list.component.ts","webpack:///src/app/pages/rol-responsavel-relatoria-unidade-gestora/imprimir-rol-responsaveis/imprimir-rol-responsavel-unidade-gestora.component.ts","webpack:///src/app/pages/rol-responsavel-relatoria-unidade-gestora/imprimir-rol-responsaveis/imprimir-rol-responsavel-unidade-gestora.component.html","webpack:///src/app/pages/rol-responsavel-relatoria-unidade-gestora/imprimir-rol-responsaveis/modal-selecionar-ug-imprimir/modal-selecionar-ug-imprimir.component.ts","webpack:///src/app/pages/rol-responsavel-relatoria-unidade-gestora/imprimir-rol-responsaveis/modal-selecionar-ug-imprimir/modal-selecionar-ug-imprimir.component.html","webpack:///src/app/pages/rol-responsavel-relatoria/imprimir-rol-responsaveis/imprimir-rol-responsaveis.component.ts","webpack:///src/app/pages/rol-responsavel-relatoria/imprimir-rol-responsaveis/imprimir-rol-responsaveis.component.html","webpack:///src/app/pages/solicitacao-tecnica/list/solicitacao-tecnica-list.component.ts","webpack:///src/app/pages/solicitacao-tecnica/list/solicitacao-tecnica-list.component.html","webpack:///src/app/pages/solicitacao-tecnica/modal-delegar-item/modal-delegar-item/modal-delegar-item.component.ts","webpack:///src/app/pages/solicitacao-tecnica/modal-delegar-item/modal-delegar-item/modal-delegar-item.component.html","webpack:///src/app/pages/solicitacao-tecnica/modal-item-solicitacao/modal-item-solicitacao.component.html","webpack:///src/app/pages/solicitacao-tecnica/modal-item-solicitacao/modal-item-solicitacao.component.ts","webpack:///src/app/pages/solicitacao-tecnica/solicitacao-tecnica-form/solicitacao-tecnica-form.component.html","webpack:///src/app/pages/solicitacao-tecnica/solicitacao-tecnica-form/solicitacao-tecnica-form.component.ts","webpack:///src/app/pages/subtipo-auditoria-form/subtipo-auditoria-form.component.html","webpack:///src/app/pages/subtipo-auditoria-form/subtipo-auditoria-form.component.ts","webpack:///src/app/pages/subtipo-auditoria-list/subtipo-auditoria-list.component.ts","webpack:///src/app/pages/subtipo-auditoria-list/subtipo-auditoria-list.component.html","webpack:///src/app/pages/tecnica-auditoria-form/tecnica-auditoria-form.component.html","webpack:///src/app/pages/tecnica-auditoria-form/tecnica-auditoria-form.component.ts","webpack:///src/app/pages/tecnica-auditoria-list/tecnica-auditoria-list.component.ts","webpack:///src/app/pages/tecnica-auditoria-list/tecnica-auditoria-list.component.html","webpack:///src/app/pages/tipo-auditoria-form/tipo-auditoria-form.component.html","webpack:///src/app/pages/tipo-auditoria-form/tipo-auditoria-form.component.ts","webpack:///src/app/pages/tipo-auditoria-list/tipo-auditoria-list.component.ts","webpack:///src/app/pages/tipo-auditoria-list/tipo-auditoria-list.component.html","webpack:///src/app/pages/tipo-criterio-form/tipo-criterio-form.component.html","webpack:///src/app/pages/tipo-criterio-form/tipo-criterio-form.component.ts","webpack:///src/app/pages/tipo-criterio-list/tipo-criterio-list.component.ts","webpack:///src/app/pages/tipo-criterio-list/tipo-criterio-list.component.html","webpack:///src/app/pages/tipo-dispensa-form/tipo-dispensa-form.component.html","webpack:///src/app/pages/tipo-dispensa-form/tipo-dispensa-form.component.ts","webpack:///src/app/pages/tipo-dispensa-list/tipo-dispensa-list.component.ts","webpack:///src/app/pages/tipo-dispensa-list/tipo-dispensa-list.component.html","webpack:///src/app/pages/tipo-enfase-form/tipo-enfase-form.component.html","webpack:///src/app/pages/tipo-enfase-form/tipo-enfase-form.component.ts","webpack:///src/app/pages/tipo-enfase-list/tipo-enfase-list.component.ts","webpack:///src/app/pages/tipo-enfase-list/tipo-enfase-list.component.html","webpack:///src/app/pages/tipo-universo-form/modal-tipo-universo-item/modal-tipo-universo-item-descricao/modal-tipo-universo-item-descricao.component.ts","webpack:///src/app/pages/tipo-universo-form/modal-tipo-universo-item/modal-tipo-universo-item-descricao/modal-tipo-universo-item-descricao.component.html","webpack:///src/app/pages/tipo-universo-form/modal-tipo-universo-item/modal-tipo-universo-item.component.html","webpack:///src/app/pages/tipo-universo-form/modal-tipo-universo-item/modal-tipo-universo-item.component.ts","webpack:///src/app/pages/tipo-universo-form/tipo-universo-form.component.html","webpack:///src/app/pages/tipo-universo-form/tipo-universo-form.component.ts","webpack:///src/app/pages/tipo-universo-list/tipo-universo-list.component.html","webpack:///src/app/pages/tipo-universo-list/tipo-universo-list.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-dados/aba-dados.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-dados/aba-dados.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/aba-entendendo-entidade.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/aba-entendendo-entidade.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/editar-entendendo-entidade/editar-entendendo-entidade.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/editar-entendendo-entidade/editar-entendendo-entidade.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/editar-entendendo-entidade/modal-pergunta/modal-pergunta.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/editar-entendendo-entidade/modal-pergunta/modal-pergunta.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/editar-entendendo-entidade/modal-secao/modal-secao.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/editar-entendendo-entidade/modal-secao/modal-secao.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/gerar-questionario/gerar-questionario.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/gerar-questionario/gerar-questionario.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/importacao-arquivo-questionario/importacao-arquivo-questionario.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/importacao-arquivo-questionario/importacao-arquivo-questionario.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/imprimir-entendendo-entidade/imprimir-entendendo-entidade.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/imprimir-entendendo-entidade/imprimir-entendendo-entidade.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/modal-questionario-importa-dados/modal-questionario-importa-dados.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/modal-questionario-importa-dados/modal-questionario-importa-dados.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/modal-questionario-nova-versao/modal-questionario-nova-versao.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/modal-questionario-nova-versao/modal-questionario-nova-versao.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/modal-selecao-questionario/modal-selecao-questionario.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/modal-selecao-questionario/modal-selecao-questionario.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/visualizar-entendendo-entidade/visualizar-entendendo-entidade.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-entendendo-entidade/visualizar-entendendo-entidade/visualizar-entendendo-entidade.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-maturidade-risco/aba-maturidade-risco.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-maturidade-risco/aba-maturidade-risco.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-maturidade-risco/visualizar-maturidade-de-risco/visualizar-maturidade-de-risco.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-maturidade-risco/visualizar-maturidade-de-risco/visualizar-maturidade-de-risco.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/aba-riscos-chaves.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/aba-riscos-chaves.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/gerar/gerar.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/gerar/gerar.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/importar-arquivo-riscos-chaves/importar-arquivo-risco-chaves.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/importar-arquivo-riscos-chaves/importar-arquivo-risco-chaves.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/modal-selecao-criterio-avaliacao/modal-selecao-criterio-avaliacao.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/modal-selecao-criterio-avaliacao/modal-selecao-criterio-avaliacao.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/modal-selecao-risco/modal-selecao-risco.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/modal-selecao-risco/modal-selecao-risco.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/modal-selecao-universo-auditavel/modal-selecao-universo-auditavel.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/modal-selecao-universo-auditavel/modal-selecao-universo-auditavel.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/preenchimento-riscos-criterios/preenchimento-riscos-criterios.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/preenchimento-riscos-criterios/preenchimento-riscos-criterios.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/riscos-chaves-form/riscos-chaves-form.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-riscos-chaves/riscos-chaves-form/riscos-chaves-form.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/aba-univserso-auditavel.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/aba-univserso-auditavel.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/gerar-universo-auditavel/gerar-universo-auditavel.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/gerar-universo-auditavel/gerar-universo-auditavel.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/importar-arquivo-universo-auditavel/importar-arquivo-universo-auditavel.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/importar-arquivo-universo-auditavel/importar-arquivo-universo-auditavel.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/modal-selecao-tipo-universo/modal-selecao-tipo-universo.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/modal-selecao-tipo-universo/modal-selecao-tipo-universo.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/universo-auditavel-form/universo-auditavel-form.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/universo-auditavel-form/universo-auditavel-form.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/universo-auditavel-preechimento-form/universo-auditavel-preechimento-form.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/universo-auditavel-preechimento-form/universo-auditavel-preechimento-form.component.ts","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/visualizar-universo-auditavel/visualizar-universo-auditavel.component.html","webpack:///src/app/pages/unidade-gestora-form/aba-universo-auditavel/visualizar-universo-auditavel/visualizar-universo-auditavel.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/avaliar-questionario/avaliar-questionario.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/avaliar-questionario/avaliar-questionario.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/editar-questionario/editar-questionario.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/editar-questionario/editar-questionario.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/editar-questionario/modal-pergunta/modal-pergunta.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/editar-questionario/modal-pergunta/modal-pergunta.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/editar-questionario/modal-secao/modal-secao.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/editar-questionario/modal-secao/modal-secao.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/gerar-questionario/gerar-questionario.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/gerar-questionario/gerar-questionario.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/importacao-arquivo-questionario/importacao-arquivo-questionario.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/importacao-arquivo-questionario/importacao-arquivo-questionario.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/imprimir-questionario/imprimir-questionario.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/imprimir-questionario/imprimir-questionario.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/modal-avaliar-questionario/modal-avaliar-questionario.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/modal-avaliar-questionario/modal-avaliar-questionario.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/modal-questionario-importa-dados/modal-questionario-importa-dados.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/modal-questionario-importa-dados/modal-questionario-importa-dados.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/modal-questionario-nova-versao/modal-questionario-nova-versao.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/modal-questionario-nova-versao/modal-questionario-nova-versao.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/modal-riscos-chaves-importacao/modal-riscos-chaves-importacao.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/modal-riscos-chaves-importacao/modal-riscos-chaves-importacao.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/modal-selecao-questionario/modal-selecao-questionario.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/modal-selecao-questionario/modal-selecao-questionario.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/modal-universo-auditavel-importa-dados/modal-universo-auditavel-importa-dados.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/modal-universo-auditavel-importa-dados/modal-universo-auditavel-importa-dados.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/modal-universo-auditavel-importacao/modal-universo-auditavel-importacao.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/modal-universo-auditavel-importacao/modal-universo-auditavel-importacao.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/modal-universo-auditavel-nova-versao/modal-universo-auditavel-nova-versao.component.ts","webpack:///src/app/pages/unidade-gestora-form/shared/modal-universo-auditavel-nova-versao/modal-universo-auditavel-nova-versao.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/visualizar-questionario/visualizar-questionario.component.html","webpack:///src/app/pages/unidade-gestora-form/shared/visualizar-questionario/visualizar-questionario.component.ts","webpack:///src/app/pages/unidade-gestora-form/unidade-gestora-form.component.html","webpack:///src/app/pages/unidade-gestora-form/unidade-gestora-form.component.ts","webpack:///src/app/pages/unidade-gestora-list/modal-associar/modal-associar.component.ts","webpack:///src/app/pages/unidade-gestora-list/modal-associar/modal-associar.component.html","webpack:///src/app/pages/unidade-gestora-list/modal-importacao/modal-importacao.component.ts","webpack:///src/app/pages/unidade-gestora-list/modal-importacao/modal-importacao.component.html","webpack:///src/app/pages/unidade-gestora-list/unidade-gestora-list.component.ts","webpack:///src/app/pages/unidade-gestora-list/unidade-gestora-list.component.html","webpack:///src/app/services/acesso-cidadao.service.ts","webpack:///src/app/services/agente-publico.service.ts","webpack:///src/app/services/amostra.service.ts","webpack:///src/app/services/aprovacao.service.ts","webpack:///src/app/services/auditoria.service.ts","webpack:///src/app/services/auth.service.ts","webpack:///src/app/services/avaliacao.service.ts","webpack:///src/app/services/base.service.ts","webpack:///src/app/services/calendario.service.ts","webpack:///src/app/services/capitulo-relatorio.service.ts","webpack:///src/app/services/categoria-risco.service.ts","webpack:///src/app/services/constatacao.service.ts","webpack:///src/app/services/controle.service.ts","webpack:///src/app/services/coordenacao.service.ts","webpack:///src/app/services/criterio.service.ts","webpack:///src/app/services/criterios-avaliacao-risco.service.ts","webpack:///src/app/services/cronograma.service.ts","webpack:///src/app/services/custo-recurso-planejamento.service.ts","webpack:///src/app/services/custo-recurso.service.ts","webpack:///src/app/services/edocs.service.ts","webpack:///src/app/services/entendendo-entidade.service.ts","webpack:///src/app/services/escalas.service.ts","webpack:///src/app/services/faixa-classificacao.service.ts","webpack:///src/app/services/fase-atividade.service.ts","webpack:///src/app/services/fluxo-aprovacao.service.ts","webpack:///src/app/services/formula-risco-inerente.service.ts","webpack:///src/app/services/formula-risco-residual.service.ts","webpack:///src/app/services/indicador.service.ts","webpack:///src/app/services/log.service.ts","webpack:///src/app/services/magnitudes-escala-risco.service.ts","webpack:///src/app/services/manter-matriz-planejamento.service.ts","webpack:///src/app/services/matriz-planejamento.service.ts","webpack:///src/app/services/menu.service.ts","webpack:///src/app/services/modelo-questionario.service.ts","webpack:///src/app/services/modelo-relatorio.service.ts","webpack:///src/app/services/natureza-responsabilidade.service.ts","webpack:///src/app/services/niveis-risco-inerente.service.ts","webpack:///src/app/services/niveis-risco-residual.service.ts","webpack:///src/app/services/opa.service.ts","webpack:///src/app/services/organograma.service.ts","webpack:///src/app/services/osa.service.ts","webpack:///src/app/services/paa.service.ts","webpack:///src/app/services/paa/paa-aba-capacidade.service.ts","webpack:///src/app/services/paa/paa-aba-dados-basicos.service.ts","webpack:///src/app/services/paa/paa-aba-distribuicao.service.ts","webpack:///src/app/services/paa/paa-aba-indices-criterios.service.ts","webpack:///src/app/services/parametrizacao-documento-edocs.service.ts","webpack:///src/app/services/parametrizacao.service.ts","webpack:///src/app/services/pea.service.ts","webpack:///src/app/services/pendencia.service.ts","webpack:///src/app/services/pergunta.service.ts","webpack:///src/app/services/periodo-exercicio.service.ts","webpack:///src/app/services/periodo.service.ts","webpack:///src/app/services/planejamento.service.ts","webpack:///src/app/services/procedimento-auditoria.service.ts","webpack:///src/app/services/questao.service.ts","webpack:///src/app/services/questionario.service.ts","webpack:///src/app/services/questionarioug-resposta.service.ts","webpack:///src/app/services/questionarioug.service.ts","webpack:///src/app/services/ranking-prioridade.service.ts","webpack:///src/app/services/recomendacao.service.ts","webpack:///src/app/services/relatoria-capitulo.service.ts","webpack:///src/app/services/relatoria.service.ts","webpack:///src/app/services/responsaveis.service .ts","webpack:///src/app/services/riscos-chaves.service.ts","webpack:///src/app/services/riscos.service.ts","webpack:///src/app/services/rol-responsaveis.service.ts","webpack:///src/app/services/shared.service.ts","webpack:///src/app/services/solicitacao-tecnica.service.ts","webpack:///src/app/services/subtipo-auditoria.service.ts","webpack:///src/app/services/tabela-dominio.service.ts","webpack:///src/app/services/tecnica-auditoria.service.ts","webpack:///src/app/services/tipo-auditoria.service.ts","webpack:///src/app/services/tipo-criterio.service.ts","webpack:///src/app/services/tipo-dispensa.service.ts","webpack:///src/app/services/tipo-enfase.service.ts","webpack:///src/app/services/tipo-trabalho.service.ts","webpack:///src/app/services/tipo-universo.service.ts","webpack:///src/app/services/unidade-gestora-maturidadeGR.service.ts","webpack:///src/app/services/unidade-gestora-maturidadeGRHistorico.service.ts","webpack:///src/app/services/unidade-gestora.service.ts","webpack:///src/app/services/universo-auditavel-item-resposta.service.ts","webpack:///src/app/services/universo-auditavel.service.ts","webpack:///src/app/shared/components/aba-amostra/aba-amostra.component.ts","webpack:///src/app/shared/components/aba-amostra/aba-amostra.component.html","webpack:///src/app/shared/components/aba-amostra/imprimir-amostra/imprimir-amostra.component.ts","webpack:///src/app/shared/components/aba-amostra/imprimir-amostra/imprimir-amostra.component.html","webpack:///src/app/shared/components/aba-amostra/inserir-amostra/inserir-amostra.component.html","webpack:///src/app/shared/components/aba-amostra/inserir-amostra/inserir-amostra.component.ts","webpack:///src/app/shared/components/aba-cronograma/aba-cronograma.component.html","webpack:///src/app/shared/components/aba-cronograma/aba-cronograma.component.ts","webpack:///src/app/shared/components/aba-cronograma/modal-atividade-subatividade/modal-atividade-subatividade.component.html","webpack:///src/app/shared/components/aba-cronograma/modal-atividade-subatividade/modal-atividade-subatividade.component.ts","webpack:///src/app/shared/components/aba-matriz-planejamento/aba-matriz-planejamento.component.html","webpack:///src/app/shared/components/aba-matriz-planejamento/aba-matriz-planejamento.component.ts","webpack:///src/app/shared/components/aba-matriz-planejamento/listagem-questoes/listagem-questoes.component.html","webpack:///src/app/shared/components/aba-matriz-planejamento/listagem-questoes/listagem-questoes.component.ts","webpack:///src/app/shared/components/aba-matriz-planejamento/modal-adicionar-questoes/modal-adicionar-questoes.component.html","webpack:///src/app/shared/components/aba-matriz-planejamento/modal-adicionar-questoes/modal-adicionar-questoes.component.ts","webpack:///src/app/shared/components/aba-matriz-planejamento/modal-editar-questao/modal-editar-questao.component.ts","webpack:///src/app/shared/components/aba-matriz-planejamento/modal-editar-questao/modal-editar-questao.component.html","webpack:///src/app/shared/components/aba-matriz-planejamento/modal-ug/modal-ug.component.ts","webpack:///src/app/shared/components/aba-matriz-planejamento/modal-ug/modal-ug.component.html","webpack:///src/app/shared/components/aba-solicitacao-tecnica/aba-solicitacao-tecnica.component.ts","webpack:///src/app/shared/components/aba-solicitacao-tecnica/aba-solicitacao-tecnica.component.html","webpack:///src/app/shared/components/aba-solicitacao-tecnica/imprimir-solicitacao/imprimir-solicitacao.component.ts","webpack:///src/app/shared/components/aba-solicitacao-tecnica/imprimir-solicitacao/imprimir-solicitacao.component.html","webpack:///src/app/shared/components/aba-solicitacao-tecnica/modal-avaliar-prorrogacao/modal-avaliar-prorrogacao.component.ts","webpack:///src/app/shared/components/aba-solicitacao-tecnica/modal-avaliar-prorrogacao/modal-avaliar-prorrogacao.component.html","webpack:///src/app/shared/components/aba-solicitacao-tecnica/modal-incluir-item/modal-incluir-item.component.ts","webpack:///src/app/shared/components/aba-solicitacao-tecnica/modal-incluir-item/modal-incluir-item.component.html","webpack:///src/app/shared/components/aba-solicitacao-tecnica/modal-incluir-solicitacao/modal-incluir-solicitacao.component.ts","webpack:///src/app/shared/components/aba-solicitacao-tecnica/modal-incluir-solicitacao/modal-incluir-solicitacao.component.html","webpack:///src/app/shared/components/aba-solicitacao-tecnica/modal-incluir-ug/modal-incluir-ug.component.ts","webpack:///src/app/shared/components/aba-solicitacao-tecnica/modal-incluir-ug/modal-incluir-ug.component.html","webpack:///src/app/shared/components/aba-solicitacao-tecnica/modal-visualizar-item/modal-visualizar-item.component.ts","webpack:///src/app/shared/components/aba-solicitacao-tecnica/modal-visualizar-item/modal-visualizar-item.component.html","webpack:///src/app/shared/components/aba-solicitacao-tecnica/modal-visualizar-resposta/modal-visualizar-resposta.component.ts","webpack:///src/app/shared/components/aba-solicitacao-tecnica/modal-visualizar-resposta/modal-visualizar-resposta.component.html","webpack:///src/app/shared/components/alocar-equipe/alocar-equipe.component.ts","webpack:///src/app/shared/components/alocar-equipe/alocar-equipe.component.html","webpack:///src/app/shared/components/app-button/app-button.component.ts","webpack:///src/app/shared/components/app-button/app-button.component.html","webpack:///src/app/shared/components/base-form/base-form.component.ts","webpack:///src/app/shared/components/base-list/base-list.component.ts","webpack:///src/app/shared/components/capitulo/capitulo.component.html","webpack:///src/app/shared/components/capitulo/capitulo.component.ts","webpack:///src/app/shared/components/capitulo/modal-historico-relatoria/modal-historico-relatoria.component.ts","webpack:///src/app/shared/components/capitulo/modal-historico-relatoria/modal-historico-relatoria.component.html","webpack:///src/app/shared/components/capitulo/modal-historico-relatoria/modal-visualizar-historico/modal-visualizar-historico.component.ts","webpack:///src/app/shared/components/capitulo/modal-historico-relatoria/modal-visualizar-historico/modal-visualizar-historico.component.html","webpack:///src/app/shared/components/capitulo/modal-relatoria-capitulo/modal-relatoria-capitulo.component.html","webpack:///src/app/shared/components/capitulo/modal-relatoria-capitulo/modal-relatoria-capitulo.component.ts","webpack:///src/app/shared/components/custos-recursos/custos-recursos.component.html","webpack:///src/app/shared/components/custos-recursos/custos-recursos.component.ts","webpack:///src/app/shared/components/custos-recursos/modal-custo-recurso-planejamento/custo-recurso.ts","webpack:///src/app/shared/components/custos-recursos/modal-custo-recurso-planejamento/modal-custo-recurso-planejamento.component.ts","webpack:///src/app/shared/components/custos-recursos/modal-custo-recurso-planejamento/modal-custo-recurso-planejamento.component.html","webpack:///src/app/shared/components/faixa-classificacao-component/faixa-classificacao-component.component.ts","webpack:///src/app/shared/components/faixa-classificacao-component/faixa-classificacao-component.component.html","webpack:///src/app/shared/components/historico-modal/historico-modal.component.ts","webpack:///src/app/shared/components/historico-modal/historico-modal.component.html","webpack:///src/app/shared/components/linha-do-tempo/linha-do-tempo.component.ts","webpack:///src/app/shared/components/linha-do-tempo/linha-do-tempo.component.html","webpack:///src/app/shared/components/lookup-modal/lookup-modal.component.ts","webpack:///src/app/shared/components/lookup-modal/lookup-modal.component.html","webpack:///src/app/shared/components/lookup-multiselect-modal/lookup-multiselect-modal.component.ts","webpack:///src/app/shared/components/lookup-multiselect-modal/lookup-multiselect-modal.component.html","webpack:///src/app/shared/components/modal-arquivo/modal-arquivo.component.ts","webpack:///src/app/shared/components/modal-arquivo/modal-arquivo.component.html","webpack:///src/app/shared/components/modal-cancelar/modal-cancelar-component.ts","webpack:///src/app/shared/components/modal-cancelar/modal-cancelar.component.html","webpack:///src/app/shared/components/modal-confirma-cancelar/modal-confirma-cancelar.component.ts","webpack:///src/app/shared/components/modal-confirma-cancelar/modal-confirma-cancelar.component.html","webpack:///src/app/shared/components/modal-confirmacao-rejeitar/modal-confirmacao-rejeitar.component.ts","webpack:///src/app/shared/components/modal-confirmacao-rejeitar/modal-confirmacao-rejeitar.component.html","webpack:///src/app/shared/components/modal-confirmar-inativacao/modal-confirmar-inativacao.component.ts","webpack:///src/app/shared/components/modal-confirmar-inativacao/modal-confirmar-inativacao.component.html","webpack:///src/app/shared/components/modal-justificativa/modal-justificativa.component.ts","webpack:///src/app/shared/components/modal-justificativa/modal-justificativa.component.html","webpack:///src/app/shared/components/pdf-export/pdf-export.component.ts","webpack:///src/app/shared/components/pdf-export/pdf-export.component.html","webpack:///src/app/shared/components/print-layout/print-layout.component.ts","webpack:///src/app/shared/components/print-layout/print-layout.component.html","webpack:///src/app/shared/components/ranking-prioridade/ranking-prioridade.component.html","webpack:///src/app/shared/components/ranking-prioridade/ranking-prioridade.component.ts","webpack:///src/app/shared/components/relatoria/imprimir-linha-do-tempo/imprimir-linha-do-tempo.component.html","webpack:///src/app/shared/components/relatoria/imprimir-linha-do-tempo/imprimir-linha-do-tempo.component.ts","webpack:///src/app/shared/components/relatoria/imprimir-relatoria/imprimir-relatoria.component.ts","webpack:///src/app/shared/components/relatoria/imprimir-relatoria/imprimir-relatoria.component.html","webpack:///src/app/shared/components/relatoria/relatoria.component.ts","webpack:///src/app/shared/components/relatoria/relatoria.component.html","webpack:///src/app/shared/components/relatoria/visualizar-relatoria/visualizar-relatoria.component.html","webpack:///src/app/shared/components/relatoria/visualizar-relatoria/visualizar-relatoria.component.ts","webpack:///src/app/shared/components/sanitized-html/sanitized-html.pipe.ts","webpack:///src/app/shared/components/unidade-gestora/modal-incluir-ug-component/modal-incluir-ug-component.component.html","webpack:///src/app/shared/components/unidade-gestora/modal-incluir-ug-component/modal-incluir-ug-component.component.ts","webpack:///src/app/shared/components/unidade-gestora/unidade-gestora.component.ts","webpack:///src/app/shared/components/unidade-gestora/unidade-gestora.component.html","webpack:///src/app/shared/directives/keyboardlock.directive.ts","webpack:///src/app/shared/layout/footer/footer.component.ts","webpack:///src/app/shared/layout/footer/footer.component.html","webpack:///src/app/shared/layout/header/header.component.ts","webpack:///src/app/shared/layout/header/header.component.html","webpack:///src/app/shared/layout/header/user-dropdown-menu/user-dropdown-menu.component.ts","webpack:///src/app/shared/layout/header/user-dropdown-menu/user-dropdown-menu.component.html","webpack:///src/app/shared/layout/main/main.component.ts","webpack:///src/app/shared/layout/main/main.component.html","webpack:///src/app/shared/layout/menuitem/menuitem.component.html","webpack:///src/app/shared/layout/menuitem/menuitem.component.ts","webpack:///src/app/shared/layout/sidebar/sidebar.component.html","webpack:///src/app/shared/layout/sidebar/sidebar.component.ts","webpack:///src/app/shared/pipes/groupby-pipe.ts","webpack:///src/app/shared/util/angularEditorConfig.ts","webpack:///src/app/shared/util/formatDate.ts","webpack:///src/app/shared/util/toFormatValue.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","webpackContext","webpackContextResolve","__webpack_require__","o","webpackContextKeys","Object","routes","path","component","canActivateChild","children","data","recurso","ManterOSA","acao","Consultar","Elaborar","Editar","Imprimir","Visualizar","Aprovacoes","Relatoria","Cadastros","Inserir","canDeactivate","Aberto","Configuracoes","ManterPEA","acoes","ManterPAA","ManterOPA","GerarNovaVersao","LogsDoSistema","Detalhar","Planejamento","Planejar","Auditoria","CadastroCategoriaRisco","CadastroRiscos","CriteriosAvaliacaoRiscos","PrePlanejamento","imprimir","TipoUniversoAuditavel","QuestionarioEntentendoEntidade","redirectTo","AppRoutingModule","forRoot","declarations","imports","AppComponent","authService","title","ngOnInit","obterPerfilUsuario","selector","templateUrl","styleUrls","AppModule","provide","useValue","useClass","multi","timeOut","positionClass","preventDuplicates","enableHtml","appendToBody","confirmButtonType","providers","entryComponents","bootstrap","CalendarioGuard","visualizar","submit","matDialog","open","afterClosed","IndicadorGuard","novoRegistro","AuthGuard","router","toastr","canActivate","next","state","permiteAcesso","routeData","obterEstado","res","sucesso","dados","autenticado","usuario","perm","possuiPermissao","possuiPerfis","perfis","error","navigate","login","err","providedIn","CategoriaRiscoGuard","CoordenacaoGuard","CriterioGuard","CustoRecursoGuard","salvar","FaseAtividadeGuard","MatrizPlanejamentoGuard","adicionarQuestão","ModeloRelatorioGuard","NaturezaResponsabilidadeGuard","PaaGuard","PeaGuard","PerguntaGuard","PeriodoGuard","ProcedimentoAuditoriaGuard","QuestaoGuard","QuestionarioGuard","RecomendacaoGuard","RiscosGuard","SubtipoAuditoriaGuard","subTipoAuditoriaCancelar","TecnicaAuditoriaGuard","TipoAuditoriaGuard","TipoCriterioGuard","TipoDispensaGuard","UnidadeGestoraGuard","TipoEnfaseGuard","DateHelper","datePipe","toDatePtBr","date","truncateDate","toDate","toStringPtBr","transform","toString","Date","filterBy","filter","url","options","recursive","dateSeparator","joinParams","obj","prepend","arr","key","value","undefined","forEach","str","dateToString","push","length","join","filterUrl","concatChar","indexOf","separator","getMonth","slice","getDate","getFullYear","defaultDataAcessor","item","sortHeaderId","toLocaleLowerCase","normalize","replace","toIntlNumberString","brString","split","rangeLabel","page","pageSize","Math","max","startIndex","endIndex","min","getPtBrPaginatorIntl","paginatorIntl","itemsPerPageLabel","firstPageLabel","nextPageLabel","previousPageLabel","lastPageLabel","getRangeLabel","AuthInterceptor","injector","isRefreshingToken","tokenSubject","intercept","request","get","handle","pipe","status","ErrorEvent","mensagem","nome","descricao","LoadingInterceptor","spinner","show","hide","EnumAcaoRecurso","EQuestionarioUGSituacao","EQuestionarioUGSituacaoDescricao","EmElaboracao","Pendente","Avocado","EmValidacao","EmReplica","Expirado","Finalizado","EmPreenchimento","Enviado","Contestado","EnumRecursoPerfil","ERiscosChavesSituacao","ERiscosChavesSituacaoDescricao","EnumStatusAvaliacaoQuestionarioUG","EnumStatusSolicitacaoTecnica","EnumTipoAvaliacaoQuestionarioUG","EnumTipoDocumentoAprovacao","EnumTipoFeriado","EnumTipoQuestionarioUG","TipoUniversoEnum","EUniversoAuditavelSituacao","EUniversoAuditavelSituacaoDescricao","Revisao","FiltroModel","pesquisa","IPermissaoModel","sortingDataAccessor","property","pessoa","cpf","AgentePublicoAbaDadosBasicosComponent","route","localeService","agentePublicoService","aba","auditorCoordenacoesDataSource","auditorCoordenacaoSemDados","displayedColumns","form","required","numeroFuncional","titulo","buscar","getDadosBasicos","model","auditorCoordenacoes","filteredData","exibirMensagemErro","controls","setValue","cpfFormatted","atualizarModel","values","assign","onBack","cancelar","AgentePublicoAbaDispensasComponent","sharedService","selectedModelYears","semDados","dispensasDataSource","clickEventSubscription","getEvent","subscribe","onSalvar","popularComboAnos","getDadosDispensas","selectedYear","dispensas","excluirDispensa","fire","text","icon","showCancelButton","confirmButtonText","cancelButtonText","result","exibirMensagemSucesso","exibirMensagemAlerta","abrirModalDispensa","element","dialogConfig","width","hasBackdrop","disableClose","agentePublicoId","idAgentePublico","anoSelecionado","tipoDispensaId","dataInicio","dataFim","qtdDias","modal","anoAtual","onChangeSelectAno","ModalAdicionarDispensaComponent","dialogRef","tipoDispensaService","dataObrigatoria","tabelaTipoDispensa","selectedTipoDispensa","minDate","maxDate","buscarTiposDispensa","ngOnChangeDataInicio","event","validaData","find","t","quantidadeDiasPadrao","novaData","setDate","ngOnChangeDataFim","dataReferencia","isDataInicial","ngAfterViewInit","verificarDatas","setDataObrigatoria","toast","position","showConfirmButton","showCloseButton","concluir","dataInvalida","houveSugestaoData","dataFinalSugerida","inserirAtualizar","atualizar","inserir","inserirDispensa","close","atualizarDispensa","timer","timerProgressBar","obter","tipos","nomeAcaoBotaoSalvar","onSelectTpoDispensa","AgentePublicoAbaDisponibilidadeComponent","tiposTrabalhosInputs","disponibilidadeDataSource","getDadosDisponibilidade","disponibilidades","calculateTotal","total","percentual","reduce","acum","currentElement","salvarDadosDisponibilidade","onSelectTipoAuditoria","AgentePublicoFormComponent","showBtnSalvar","abaEmitter","obterPorId","sendSalvarEvent","mudarAba","ind","$event","preventDefault","stopPropagation","AgentePublicoListComponent","dataSource","searchAtivo","filtro","configurarFiltro","setarPermissoes","permissoes","consultar","editar","excluir","Excluir","inativarReativar","AtivarInativar","incluir","sort","toolTipDataUltimaAtualizacao","toolTip","ultimaAtualizacao","selectedModel","obterViewModel","totalItens","resultado","_updateChangeSubscription","sincronizar","selecionar","pagina","tableOnePaginator","pageIndex","itensPorPagina","ativo","searchNome","direcao","direction","colunaOrder","active","sortData","pageChanged","reativar","inativar","tipoDocumentoAprovacao","situacao","AprovacaoListComponent","aprovacaoService","filtradoPor","chamadaPendencia","snapshot","paramMap","relatoria","avaliar","Avaliar","configFiltro","parseInt","d","codigo","modalAvaliar","linhaTempo","tipoDocumento","queryParams","searchSituacaoDocumento","searchTipoDocumento","ModalAvaliarComponent","peaService","paaService","opaService","osaService","parametrizacaoService","planejamentoService","situacaoAvaliacao","modelEntranhar","modelAutuacao","comentarioHomologacao","valor","semEntranhar","comentario","verificarFluxoAprovacao","verificacao","ultimoNivel","aprovarReprovarTipoTrabalho","homologarTipoTrabalho","verificarNivelAprovacao","aprovarReprovar","homologarPea","homologarPaa","homologarOpa","homologarPlanejamento","homologarOsa","papelAutuadorId","homologar","exibirMensagem","closeAll","tipoTrabalhoId","tipoTrabalho","console","mask","document","querySelectorAll","interno","msg","AuditoriaListComponent","service","displayedColumn","configurarDatasource","obterPorFiltros","tabela1","searchPesquisa","CalendarioFormComponent","calendarioService","acessoCidadaoService","modelAuditor","auditoresDataSource","fixo","emunTipoFeriado","opcoesFixo","tipoFeriadoId","patchValue","tipoFeriado","salvarDados","salvarEFechar","invalid","validacoes","montarMensagensValidacao","onSubmit","CalendarioListComponent","calendarioservice","paginator","novo","CapituloRelatorioFormComponent","tabelaDominioService","capituloRelatorioService","enumTipo","disabled","tipoId","conteudo","obterTipoCapituloRelatorio","warning","success","CapituloRelatorioListComponent","CategoriaRiscoFormComponent","categoriaRiscoService","dirty","trim","toLowerCase","CategoriaRiscoListComponent","ConstatacaoFormComponent","recomendacaoService","constatacaoService","modelConstatacaoRecomendacao","recomendacaoDataSource","modelQuestao","modelMatrizPlanejamento","modelSubtipoAuditoria","listaProcedimentoAuditoria","listaQuestao","listaConstatacao","listaMatrizPlanejamento","listaRecomendacoes","rotaPrefixoSubtipoAuditoria","rotaPrefixoMatrizPlanejamento","isModal","contaGovernador","contaOrdenador","config","editable","spellcheck","sanitize","height","minHeight","placeholder","translate","defaultParagraphSeparator","defaultFontName","toolbarHiddenButtons","customClasses","name","tag","buscarRecomendacoes","disable","constatacaoRecomendacao","window","history","vincularConstatacaoRecomendacao","constatacaoId","constatacao","questaoId","recomendacoes","recomendacaoId","incluirRecomendacao","findIndex","a","desvincularRecomendacao","index","desvincularConstatacaoRecomendacao","splice","visualizarRecomendacao","exibirModalRecomendacao","dadosFiltrados","recomendacao","encontrado","exibirModal","ModalConstatacaoComponent","modelQuestaoConstatacao","visualizacao","ModalRecomendacaoComponent","ConstatacaoListComponent","sortingDataAccessorEquipe","sortingDataAccessorTipoTrabalho","sortingDataAccessorDispensa","toUpperCase","dataInicioDate","dataFimDate","sortingDataAccessorDisponibilidade","CoordenacaoFormComponent","coordenacaoService","cdr","modelAuditorOld","coordenacaoTipoTrabalhoDataSource","semDadosTipoTrabalho","openPoppup","validateForm","displayedTipoTrabalhoColumns","idTipoTrabalhoSelecionado","permiteAdicionarTipoTrabalho","modelCoordenacaoTipoTrabalho","selectedModelYearsAbaEquipe","dispensaDataSource","columnsDistribuicao","columnsDispensa","disponibilidadeSemDados","dispensaSemDados","sigla","tipoAuditoriaId","popularComboAnosEquipe","atribuirTitulo","sortTabela1","start","sortTabelaDisponibilidade","sortTabelaDispensa","obterPorIdAno","coordenacaoTipoTrabalho","marcarTodosCamposComoTocados","formGroup","field","control","markAsTouched","onlySelf","detectChanges","validaForm","ano","auditorCoordenacao","novoAno","auditor","cargo","incluirNovoAuditor","auditorId","_","obterAuditorPorCoordenacao","jaCadastrado","coordenacaoId","storedToken","localStorage","getItem","JSON","parse","excluirAuditor","auditorExcluir","indiceAuditorExcluir","editarAuditor","setItem","stringify","inativarReativarAuditor","x","exibirModalAuditor","ObterAgentesPublicosSecont","idsExistentes","agente","includes","nomeAuditor","obterAbaEquipe","buscarDisponibilidadeAgentePublico","warn","sortTabelaAuditores","inativarReativarTipoTrabalho","texto","tipoTrabalhoInativarReativar","reativarTipoTrabalho","inativarTipoTrabalho","excluirTipoTrabalho","tipoTrabalhoExcluir","adicionarCoordenacaoTipoTrabalho","abrirModalTipoTrabalho","onSelectTipoTrabalho","target","onSelectEquipe","idCoordenacao","qtdMediaDias","qtdMembros","getDadosDispensa","retDispensa","formatarNome","palavrasSeparadas","nomeFormatado","palavra","charAt","ModalCoordenacaoTipoTrabalhoComponent","tipoTrabalhoService","tabelaTipoTrabalho","selectedTipoTrabalho","campoObrigatorio","txtBtnConcluir","buscarTiposTrabalho","inserirTipoTrabalho","atualizarTipoTrabalho","CoordenacaoListComponent","log","CriterioFormComponent","criterioService","tipoCriterioService","perguntaService","modalService","enumTipoEntrada","enumTipoComparacao","metricasDataSource","permitePergunta","tipoCriterioId","tipoEntradaId","unidade","perguntaId","criterioMetrica","b","ordem","all","obterTipoEntradaCriterio","obterTipoComparacao","updateValueAndValidity","onChangeTipoEntrada","setValidators","pergunta","clearValidators","excluirMetrica","exibirModalTipoCriterio","columnDef","header","tipoCriterio","exibirModalPergunta","exibirModalMetrica","listaOpcoes","perguntaOpcao","perguntaOpcaoId","tipoEntrada","drop","previousIndex","currentIndex","i","ModalMetricaNumericoComponent","formMetrica","operacao1Id","valorNumerico1","operacao2Id","valorNumerico2","nota","validators","ValidateRequiredOperacao2","bind","parseFloat","setErrors","markAllAsTouched","valid","modelMetrica","operacao1","operacao2","ModalMetricaOpcoesComponent","opcaoId","CriterioListComponent","excluirCriterio","CriteriosAvaliacaoFormControlesComponent","controleService","listRisco","adicionar","excluirControle","getControleByCriterios","setCriteriosAvaliacaoRiscosId","criteriosAvaliacaoRiscosId","abrirModalControle","avaliacao","valorDoRisco","situacaoControle","nivelDaConfianca","listData","onDrop","previousContainer","container","idx","ModalControleComponent","serviceControle","atualizando","avaliacaoList","proximaOrdem","setNiveisConfianca","setValorRisco","setValues","array","maxOrdem","Infinity","getRiscoControle","retorno","valor_1","operador","operador_1","CriteriosAvaliacaoFormDadosComponent","updateData","criteriosList","getDataById","r","emit","getRawValue","hasData","html","CriteriosAvaliacaoFormNiveisRiscoResidualComponent","niveisRiscoService","formulaRiscoService","niveisRiscoServiceInerente","displayedColumnsNiveisRisco","getRiscoResidualByCriterios","getFormulaRiscoResidual","getNiveisRiscoByCriterios","abrirNiveisDeRisco","formulaRiscoResidual","abrirFormulaRisco","campo_1","campo_2","riscoInerente","avaliacaoControle","FormulaRiscoResidualComponent","serviceFormulaRiscoResidual","textoModal","operadorList","ModalRiscoResidualComponent","serviceRiscoResidual","CriteriosAvaliacaoFormRiscoInerenteComponent","escalasService","escalasDataSource","niveisRiscoDataSource","niveisRiscoList","escalaList","displayedEscalasColumns","semDadosEscalas","semDadosNiveisRisco","getEscalasByCriterios","getFormulaRiscoInerente","editarEscalas","abrirModalEscalas","visualizarEscalas","editarNivelInerente","excluirRiscoInerente","excluirEscalas","formulaRiscoInerente","dadosFormula","FormMagnitudeEscalaComponent","serviceMagnitude","existsItem","magnitudeList","setListData","setEscalaId","escalaId","magnitude","escalasId","GridMagnitudeEscalaComponent","updatedData","viewData","getMagnitudeByEscala","onViewData","getMagnitudeName","ModalEscalasComponent","serviceEscalas","gridMagnitudeEscalas","magnitudeEscalas","ModalFormulaRiscoInerenteComponent","serviceFormulaRiscoInerente","getDescription","campo","getDadosFormuma","escalas","escala","dadosFormulaOld","ModalRiscoInerenteComponent","serviceRiscoInerente","CriteriosAvaliacaoFormComponent","setTitulo","dataUpdated","abaDados","abaRiscoInerente","abaDadosControle","abaRiscoResidual","SalvarFechar","CriteriosAvaliacaoListComponent","criteriosAvaliacaoService","CustoRecursoFormComponent","custoRecursoService","valorMedio","onAuditoria","auditoriaModel","CustoRecursoListComponent","ErroComponent","FaixaClassificacaoFormComponent","faixaService","pisoBaixo","tetoBaixo","pisoMedio","tetoMedio","pisoAlto","tetoAlto","formatarNumero","n","toFixed","onSubmitClose","validarFormulario","calcular","FaseAtividadeFormComponent","faseAtividadeService","quantidadeDias","FaseAtividadeListComponent","FluxoAprovacaoFormComponent","fluxoService","novoNivel","origens","tiposTrabalho","origem","perfilCargo","formAlterado","enable","origemHidden","origemId","tipoDocumentoId","nivelAprovacao","ObterPerfisAcessoCidadao","resPerfil","tabelaPerfilCargo","filtrarTabelaPerfilCargo","valueChanges","fechar","dataAlteracao","tabelaPerfilCargoFiltro","codigoPerfil","guid","resposta","excluirNivel","incluirNivel","perfilSelecionado","nomePerfil","fluxoAprovacaoId","exibirOrigem","FluxoAprovacaoListComponent","fluxoAprovacaoService","botaoReativarHidden","botaoInativarHidden","IndicadorFormComponent","indicadorService","modelIndicadorCriterio","indicadorCriteriosDataSource","indicadorCriterio","criterio","incluirNovoIndicadorCriterio","criterioId","excluirIndicadorCriterio","exibirModalCriterio","c","descricaoTipoEntrada","IndicadorListComponent","InicialComponent","pendenciaService","obterPendencias","count","LogFormComponent","logService","dataRegistro","funcionalidade","tipoLog","LogListComponent","dataOriginal","filtroModel","funcionalidades","tiposLog","exportar","Exportar","detalhar","obterFuncionalidades","obterTiposLog","tabela","buscarComFiltro","dataInicial","dataFinal","nomeUsuario","tamanhoPagina","ordenacaoColuna","ordenacaoSentido","pdf","Blob","type","saveAs","MatrizPlanejamentoFormComponent","matrizPlanejamentoService","questaoService","modelMatrizPlanejamentoQuestao","questaoDataSource","prefixo","isAuditoria","setQuestions","matrizPlanejamentoQuestao","incluirQuestao","excluirQuestao","visualizarQuestao","exibirModalQuestao","questao","cadastroRapidoQuestao","MatrizPlanejamentoListComponent","MatrizPlanejamentoRelatorioComponent","use","idParam","obterDados","print","ModalCancelarModeloQuestionario","Sim","Nao","ModalModeloQuestionarioPerguntaComponent","buscarPerguntas","selecionado","filtrar","filterValue","ModalModeloQuestionarioSecaoComponent","nomeTitulo","idModeloQuestionario","tipoDescription","nomeAnterior","ModeloQuestionarioFormComponent","modeloQuestionarioService","tiposDocumentos","columnsToDisplay","subColumnsToDisplay","obterTiposDocumentoTrabalho","ordenaCapitulos","itens","capituloA","capitulob","ordemA","ordemExibicao","num","ordemB","partA","partB","subCapitulos","subItens","itensA","itensB","ordenarOnDrop","reordenar","isPointerOverContainer","subItem","subIdx","itemPai","idItemPai","onDropItens","novoItem","obrigatorio","exibirModalSecao","novaSecao","isNew","excluirItem","idxOf","excluirSubItem","nomePai","elementPai","idxIndicePai","ModeloQuestionario","getObrigatorio","aprovarReprovarItem","ModeloQuestionarioListComponent","resetarFiltro","ModalCapituloComponent","keywords","keywordsPaa","keywordsOpa","keywordsPlanejamento","keywordsOsa","tags","subCapitulo","tipo","addKeywordFromInput","addTag","keyword","ModeloRelatorioFormComponent","modeloRelatorioService","capitulosDataSource","capitulosRelatorio","tiposTrabalhos","capitulos","sc","capituloRelatorioPai","excluirCapitulo","capituloRelatorioPaiId","capitulo","exibirModalCapitulo","indice","indexValue","capituloPai","indexUpdate","modeloRelatorioId","_elememt","retornaCapitulosArray","avaliarCapitulo","aprovarReprovarCapitulo","ModeloRelatorioListComponent","NaturezaResponsabilidadeFormComponent","naturezaResponsabilidadeService","NaturezaResponsabilidadeListComponent","OpaFormComponent","tipoAuditoriaService","ugService","subtipoAuditoriaService","dateHelper","tipoEnfaseService","activatedRoute","tiposAuditoria","tiposEnfase","coordenadoresAuditoria","subtipoDataSource","subtipoSemDados","auditoresSemDados","historicoTipoAuditoria","historicoUnidadeGestora","tipoAuditorioSelecionado","permiteEdicao","emPlanejamento","versao","novaOpa","relatoriaDados","visualizarRelatoria","numeroOpa","origemAuditoria","dataElaboracao","unidadeGestoraNome","unidadeGestoraId","dataInicioPrevista","dataFimPrevista","objeto","dataInicioRealizacao","dataApresentacaoPlanejamento","dataFimRealizacao","auditorCoordenacaoId","notaRodape","tipoEnfaseId","qtdeDiasUteis","obterTiposAuditoria","obterTiposEnfase","obterCoordenadoresAuditoria","gerarNova","obterOpa","numeroAba","queryParamMap","Number","calcularDataFim","atualizarForm","numero","paa","tipoAuditoria","atualizarSubtipos","atualizarAuditores","atualizarHistoricoTipoAuditoria","atualizarHistoricoUnidadeGestora","obterAtivos","filtroEnfase","obterCoordenadoresAtivos","obterCoordenadorTipoAuditoria","atualizarFormCoordenadorTipoAuditoria","subtiposAuditoria","opaEquipe","auditores","atualizarModelForm","atualizarHistoricoOpa","location","reload","onSair","back","evt","recuperarConfiguracaoModalHistorico","justificativa","atualizarTipoAuditoriaSelecionado","atualizarDadosHistorico","diasUteisAuditoria","exibirModalUnidadeGestora","unidadeGestora","atualizarFormUnidadeGestora","exibirModalSubtipo","exibirModalMultiselect","Array","isArray","subtiposAuditoriaSelecionados","subtipoAuditoriaId","subtipoAuditoria","opaId","excluirSubtipo","exibirModalAlocarEquipe","obterAuditoresCoordenacaoTipoAuditoria","auditoresTipoAuditoria","maxHeight","equipe","obterDispensasPeriodo","indisponivelPeriodo","enviarAprovacao","aprovar","gerarNovaVersao","historico","historicoAlteracoes","selectedIndex","historicos","tooltip","onDataInicioChange","validaCamposNecessarios","emitEvent","qtdeDias","diasUteisAdicionados","getDay","dataFormatada","formatarData","dia","String","padStart","mes","coordenacao","OpaListComponent","unidadeGestoraService","statusOpa","unidadesGestoras","situacoes","coordenadores","obterOrigens","obterStatus","obterSubtiposAuditoria","obterUnidadesGestoras","obterCoordenadores","situacaoSelecionada","coordenador","numeroObjeto","novaVersao","botaoImpressaoColetivaHidden","modelsSelected","botaoGerarNovaVersaoHidden","relatorioConsolidado","ids","opa","ModalAlocarEquipeOpaComponent","auditoresTipoAuditoriaDataSource","auditoresTipoAuditoriaSemDados","auditoresOutrasCoordenacoesDataSource","auditoresOutrasCoordenacoesSemDados","coordenacaoNome","auditorTipoAuditoria","marcarComoSelecionado","tabela2","auditoresSelecionados","concat","as","novoAuditor","opaEquipeId","OpaRelatorioComponent","homologado","opas","espelho","consolidado","pop","imprimirOpaConsolidado","resultadoValidacao","some","FiltroComponent","showButtonFilter","osaModel","coordenacoes","obterCoordenacoes","numeroOsa","dataInicioPrevisto","dataFimPrevisto","AbaInformacoesBasicasComponent","subtipoService","subTipoModel","paaEquipeModel","displayedColumnsSubtipo","equipeDataSource","subtipoNoData","semDadosSubTipo","submitted","alocarEquipeModel","dataInicioPeriodoAuditado","dataFimPeriodoAuditado","teste","sortingSubtiposDataAccessor","subTipoAuditoria","tableTwoPaginator","planejamento","planejamentoSubTipoAuditoria","obterAlocarEquipe","salvarOsa","obterAlocarEquipeOsaId","create","salvarAlocarEquipeOsaId","desvincularAuditor","desvincularAuditorId","atualizarListaSubtipos","exibirModalCoordenadorAuditoria","newCordenador","OsaAbasComponent","planejamentoId","ngOnChanges","changes","OsaFormComponent","elaborar","isFilha","obterPlanejamentoId","onSalvarOsa","enviarParaAprovacao","OsaImprimirComponent","getImprimir","OsaListComponent","EnviarParaAprovacao","input","inputAttributes","autocapitalize","showLoaderOnConfirm","preConfirm","showValidationMessage","allowOutsideClick","isLoading","filtrarPorNumero","currentOsa","navigateByUrl","OsaComponent","PaaAbaAlocacaoComponent","_location","paaInformacoesBasicas","equipeAlocacaoDataSource","equipeAlocacaoSemDados","buscarInformacoesBasicas","tabela4","routeConfig","paaId","params","obterAlocacoesEquipe","resEquipes","paaDistribuicao","tipoEnfase","paaEquipeAuditor","alocarEquipe","equipeAlocacao","obterEquipe","paaDistribuicaoId","lowerCase","X","mostrarBotaoAlocarEquipe","visualizarGrafico","obterGrafico","ModalCapacidadePaaComponent","auditorDataSource","colunasOriginais","colunasAdicionar","columnsDisponibilidades","tabelaAuditores","tabelaDispensas","tabelaDisponibilidades","disponibilidade","template","nomeColuna","item1","obterValorColunaNovo","coluna","templateTipoTrabalho","item2","PaaAbaCapacidadeComponent","paaAbaCapacidadeService","capacidadeDataSource","capacidadeSemDados","paaHomologado","columnsCapacidade","mostrarCapacidadeTotal","capacidadeTotalPaa","mostrarCapacidadeTotalPea","capacidadeTotalPea","visualizarCoordenacao","capacidade","obterDetalheCoordenacao","agrupadorCapacidade","grupo","subTotalCapacidade","subTotal","descricaoPAAC","dadosModal","diasDisponiveis","extras","qntDiasPorAuditor","numAuditoriaPorEquipe","numAuditoriaPorEquipeArred","numEquipeDisponiveis","capacidadeTotalPorCoord","PaaAbaDadosBasicosComponent","paaDadosBasicosService","periodoService","msgDataInicio","msgDataFim","emAprovacao","coordenacaoSemDados","salvarDadosPendente","ugSemDados","esconderCamposPaaEspecial","coordenacoesDataSource","ugDataSource","ugPlanejadaDataSource","form1","peaId","subcapitulo","atribuirRequireds","desabilitaDataInicioFim","obterDadosBasicos","indicadorId","pea","atualizarListaUgs","paaUnidadeGestora","paaCoordenacao","exibirModalUg","unidadesAdicionadas","modoSelecaoMultiplo","unidadeSelecionada","excluirCoordenacao","resConfirm","isConfirmed","exibirModalCoordenacoes","coordenacoesAdicionadas","coordenacaoSelecionada","excluirUg","ug","exibirModalIndicador","localeCompare","indicador","exibirModalPeaReferencia","exibirModalPeriodo","d2","d1","getTime","periodo","periodoId","atualizarInserirAbaDadosBasicos","pendencias","showPendencias","validacao","atualizarDadosBasicos","datasValidas","valueDtInicio","valueDtFim","dtInicio","dtFim","listaUgs","filterPredicate","urlAtual","exibirBotoesPaacEspecial","PaaAbaDistribuicaoComponent","paaAbaDistribuicaoService","distribuicaoDataSource","distribuicaoNaoContempladosDataSource","distribuicaoNaoContempladosPersonalizadoDataSource","distribuicaoPersonalizadoDataSource","columnsDistribuicaoOriginais1","columnsDistribuicaoOriginais2","colunasAdicionarDistribuicao","columnsDistribuicaoPersonalizado","distribuicaoNaoContempladosSemDados","distribuicaoSemDados","distruibuicaoSemDados","distribuicaoNaoContempladosSemDadosPersonalizado","distribuicaoSemDadosPersonalizado","obterInformacoesBasicasPaa","obterTiposAuditorias","obterPainelDistribuicao","idSituacao","isOrigemPlanejada","colunasNomes","colunasValores","obterNomeColuna","valorRiscoResidual","obterValorColuna","tabela3","obterHistoricoDistribuicao","obterHistoricoAuditoria","valorNumerico","nomeIndicador","nomeCriterio","reativarDistribuicao","AlterarStatusDistribuicao","resAssociar","errAssociar","inativarDistribuicao","tooltipSituacao","historicoSituacao","tooltipHistoricoSituacao","auditoriaObrigatoria","tooltipAuditoria","tooltipTipoEnfase","historicoTipoEnfase","tooltipHistoricoAuditoria","tooltipHistoricoEnfase","tiposAuditorias","alterarTipoAuditoria","dialogConfigJustificativa","modalJustificativa","ValidarTipoAuditoria","AlterartipoAuditoriaDistribuicao","erro","alterarTipoEnfase","dialogConfigJustificativaTipoEnfase","modalJustificativaTipoEnfase","AlterarTipoEnfaseDistribuicao","editarColunas","obterPainelDistribuicaoColunas","AlterarSatusDistribuicaoColunas","mostrarSelectUnidade","mostrarTipoEnfase","mostrarBotaoEditarColunas","mostrarBotaoIncluirNovaUG","mostrarBotaoGrafico","mostrarBotaoAtivarInativar","incluirUG","distribuicao","manual","verificarDuplicidade","verificarDuplicidadeUG","adicionarDistribuicao","duplicada","obrigatoria","isRowEmpty","row","cv","PaaAbaIndicesCriteriosComponent","paaAbaIndicesCriteriosService","visualizarBotaoFormulario","indicadoresDataSource","indicadoresDataSourceSemDados","criteriosDataSource","criteriosDataSourceSemDados","idSituacaoPaa","indicadores","criterios","agrupadorCriterios","idIndicador","isGrouper","peaRelacionado","importarArquivoCriterioPaa","respostas","u","paaIndiceCriterioId","enviarRespostasCriterio","preencherFormularioCriterioPaa","obterCriterioResposta","resCriterioRespostas","criterioRespostas","abrirModalRankingPrioridade","idPaaIndiceCriterio","removerIndiceCriterio","excluirIndicador","removerIndiceCriterios","exibirRespostas","isGroup","obterCapacidadeTrabalhoPor","anoPaa","valorRisco","obterCapacidadeTrabalhoPorIdAndAno","resCapacidade","capacidadeTotalCoordenacao","capacidadeTotalCoordenacaoPea","tooltipHistorico","adicionarCriterio","valorExibicao","adicionarIndiceCriterio","adicionarIndicador","exibirModalVisualizarQuestionarioCriterio","obterVisualizacaoQuestionario","exibirModalEnviarQuestionarioCriterio","enviarQuestionario","confirmarCancelamento","questionariosRespondidos","cancelarEnvioQuestionario","modelEnviarQuestionario","enviarQuestionarios","enviarQuestionarioPaa","enviarQuestionariosPaa","mostrarBotaoPreencherFormulario","mostrarBotaoImportarArquivo","mostrarBotaoVisualizarResposta","mostrarBotaoExcluirCriterio","possuiIndicador","mostrarBotaoExcluirIndicador","mostrarBotaoAdicionarCriterio","mostrarBotaoAdicionarIndicador","mostrarBotaoQuestionario","mostrarBotaoAbrirModalRankingPrioridade","ModalAlocarEquipeComponent","cdRef","msgValidacaoDataInicio","msgValidacaoDataFim","auditorSemDados","auditorOutraCoordenacaoDataSource","auditorOutraCoordenacaoSemDados","coordenadorNome","listaAuditores","nomeCoordenacao","nomeDispensa","auditoresDisponiveisDataSource","listaAuditoresConvidados","VerificaDataAlocacao","incluirAuditor","validaOutrosAuditorSelecionados","validaAuditorSelecionados","validarAlocacaoEquipe","alocadosReq","alocados","percorrerObjetoComAlertsAlocados","dispensadosReq","dispensados","percorrerObjetoComAlertsDispensados","atualizarAlocacao","exibirAlertaPorChaveAlocados","exibirAlertaPorChaveDispensados","chaveAtual","validarAlocados","validarDispensados","observer","listaConvidados","lista","complete","atulizarListaDispensados","obterEquipeIndisponivel","auditoresIndisponiveis","concatenarAuditores","auditoresCoordenacao","obterAuditoresCapacidadeTrabalho","auditorIndisponivel","validarEquipeDisponivel","quantidade","atualizarAlocacaoEquipe","alertas","alerta","atulizarListaAlocacao","alocado","dispensado","validacaoTexto","val","errorMessage","concatUg","ModalAlterarTipoAuditoriaComponent","justificativaTipoAuditoria","ModalAlterarTipoEnfaseComponent","justificativaTipoEnfase","ModalCadastrarCriterioComponent","todosCriterios","itemAgrupador","ModalCadastrarIndicadorComponent","todosIndicadores","ModalCapacidadeDispensaComponent","modelNovaDispensa","tiposDispensas","dispensa","Inputmask","incluirDispensa","f","tipoDispensa","atualizarCapacidadeTrabalho","UpdateDataInicio","targt","UpdateDataFim","getPeriodoFormatado","strDataInicio","strDataFim","ModalConfirmarReativacaoDistribuicaoComponent","ModalDescricaoDiasUteisComponent","onClose","isObjectEmpty","ModalEntranharComponent","edocsService","papeis","obterPapeis","ModalEnviarQuestionarioCriterioPaaComponent","prazoDias","exibirModalNaturezaResponsabilidade","naturezaResponsabilidadeId","naturezaResponsabilidadeNome","exibirId","customizeColumns","onChangePreencherPrazo","ModalGraficoDistribuicaoComponent","dadosImprimir","siglaUnidadeGestora","ordenarCoordenacoes","removeDuplicates","paaGraficoCoordenacoes","originalArray","prop","newArray","lookupObject","ObterEstiloCoordenacao","coordColor","stringToColor","ObterEstiloLegendaCoordenacao","obterDescricaoCoordenacao","toLocaleDateString","nomeAuditores","obterDescricaoCoordenacaoLegenda","hash","charCodeAt","color","substr","idHtmlName","getElementById","innerHTML","tela_impressao","write","TemplateImpressao","ModalImportarArquivoCriterioPaaComponent","onFileChange","reader","FileReader","files","file","readAsText","onload","conteudoArquivo","lerValidarArquivo","conteudoValido","erros","l","codigoUg","isNaN","ModalPreencherFormularioPaaComponent","ModalRankingPrioridadeComponent","rankingService","rankingPrioridadeDataSource","rankingPrioridadeEmpresasPublicasDataSource","semDadosRanking","semDadosRankingEmpresaPublica","obterRankingPrioridade","obterRankingDistribuicaoSimplificado","empresaPublica","listaPublicas","ModalSelecionarColunasComponent","todosIndicesCriterios","ModalSelecionarUGComponent","todasUnidadesGestoras","noItemSelected","selectedUgs","s","selecao","selecionados","ModalVisualizarQuestionarioCriterioPaaComponent","criterioDataSource","PaaElaborarComponent","peaHomologado","modelDadosBasicos","criteriosIndicadoresSemDados","criterioSemDados","disalibilitarinput","usuarioCoordenadorPaa","groupByColumns","columnsLabel","label","columns","verificarUsuarioCoordenador","obterCoordenacoesCoordenador","resCoordenacoes","encontrou","eachCoordenacao","eachCoordenacaoPaa","coordenacaoPaa","getnomeAuditores","agrupadorCriterio","subTotalCriterio","uri","skipLocationChange","addGroups","rootGroup","Group","expanded","getSublevel","groupBy","group","acc","level","parent","currentColumn","groupByCurrentColumn","groups","uniqueBy","entries","k","v","subGroups","rowsInGroup","totalCounts","subGroup","unshift","seen","hasOwnProperty","compare","isAsc","preencherFormularioCriterio","importarArquivoCriterio","tituloAbas","setSubmit","obterTipoTrabalho","idTipoTrabalhoPaac","idTipoTrabalhoPaacEspecial","idOrigemEspecial","visible","PaaListComponent","relatorio","botaoExcluirHidden","PaaRelatorioComponent","groupByPipe","totalCapacidadeCoordenacaoes","totalCapacidadeCoordenacaoesPea","grafico","groupData","groupedData","getObjectKeys","capacidadeTrabalho","coordenacaoSigla","sum","current","equipes","painelDistribuicao","dadosDistribuicao","ParametrizacaoDocumentoEdocsFormComponent","paramService","dataSourcePAA","atualizarTodos","dropPAA","ModalParametrizacaoFormComponent","bsModalRef","ParametrizacaoListComponent","initialState","content","ModalAutuacaoComponent","locaisAutuacao","obterLocaisAutuacao","idPapel","obterLocaisAtuacao","onSelectPapel","ModalCapacidadeComponent","dataInicioFormatted","dataFimFormatted","dispensasPadroes","totalDiasAno","sabDom","diasNaoUteis","ferNac","ferEst","ferMun","pontoFac","outros","totalDNU","diasUteis","totalDispensasPadrao","diasDisponiveisTotais","diasReservadosAuditoriasEspeciais","auditoriasEspeciaisValor","auditoriasEspeciais","du","auditoriaEspecialDD","ModalDescricaoPEACComponent","ModalDetalharValorRiscoComponent","calculos","ModalEnviarQuestionarioCriterioComponent","ModalImportarArquivoCriterioComponent","mensagens","ModalPreencherFormularioComponent","descricaoCriterioFormulario","ModalSelecionarCoordenacoesComponent","elementosSelecionados","selecionarTodos","ModalSelecionarUgComponent","ModalVisualizarQuestionarioCriterioComponent","ModalVisualizarRespostasComponent","PeaFormComponent","faixaClassificacaoService","modelFaixaPadrao","modelFaixaPersonalizada","modelFaixa","naturezaResponsabilidadeDataSource","salvarDistribuicaoPendente","habilitarHomologarRejeitar","habilitarUltimoNivelAprovacao","peaQuestionario","hoje","receberFaixaClassificacao","faixaClassificacao","peaUnidadeGestora","peaCoordenacao","obterAbaCargaCriterios","obterCargaCriterios","obterAbaCapacidadeTrabalho","obterCapacidadeTrabalho","obterAbaRanking","obterAbaDistribuicao","classificacaoPersonalizada","classificacaoPisoBaixo","classificacaoTetoBaixo","classificacaoPisoMedio","classificacaoTetoMedio","classificacaoPisoAlto","classificacaoTetoAlto","obterCargaCriteriosPorId","resCriterios","questionariosEnviados","peaCriterioQuestionario","diff","dataLimite","obterCapacidadeTrabalhoPorId","dadosPreparados","anos","Set","capacidadeTotalAno","record","obterPainelDistribuicaoPorPeaId","resPainel","faixaClassificacaoPadrao","faixaClassificacaoPersonalizada","painelDistribuicaoPadrao","painel","contemplada","unidadeGestoraSigla","blocoPainel","indicePriorizacao","tabelaNaoContemplados","painelDistribuicaoPersonalizado","tabelaPersonalizada","tabelaNaoContempladosPersonalizada","descricaoDiasUteis","feriadosPorTipo","obterCapacidadePorAno","auditoriasEspeciaisGet","feriadoEnumToKeyMap","Nacional","Estadual","Municipal","PontoFacultativo","Outros","diasAno","diasFinaisSemana","totalDiasNaoUteis","descricaoPEAC","editarCapacidade","atualizarAbaDadosBasicos","atualizarAbaDistribuicao","validacaoFluxoAprovacao","AtualizarFaixaClassificacao","salvarDadosDistribuicao","enviarAprovar","obterPerfisSimplificado","inputOptions","Map","set","situacaoId","avancar","voltar","validar","peaCriterioResposta","ariaLabel","questionario","enviarQuestionarioCancelado","obterRankingDistribuicao","gerarRankingDistribuicao","removerClassificacaoPersonalizada","response","PeaListComponent","enableSelectYear","gerarPAA","GerarPAA","atualizarFiltroStatus","consultarAnos","obterAnosPaa","relatorioSimplificado","botaoImpessaoIndividualHidden","botaoEditarHidden","botaoVisualizarHidden","botaoGerarPAAHidden","selectAnoHidden","gerarPaa","PeaRelatorioComponent","reportPEAs","columnsRanking","obterDadosPorId","imprimirPeaConsolidado","imprimirPea","reportPEA","coordenacaoCapacidade","capacidadeTrabalhoTotal","rankingPrioridade","rankingDePrioridade","rankingPrioridadeEmpresasPublicas","dadosDistribuicaoContempladas","dadosDistribuicaoNaoContempladas","dadosDistribuicaoContempladasPersonalizado","dadosDistribuicaoNaoContempladasPersonalizado","obterValorRiscoPorUg","valorRiscoUnidadeGestoras","anoInicial","anoFim","distribuicaoContemplada","paineisDistribuicao","distribuicaoNaoContemplada","distribuicaoPersonalizadaContemplada","distribuicaoPersonalizadaNaoContemplada","anosCalendario","dias","meses","totalDias","sabadoDomingo","totalSabadosEDomingos","pontoFacultativo","totalPontosFacultativos","feriado","totalFeriados","totalDiasUteis","obterPesoColuna","peso","PendenciaListComponent","searchStatus","tipoDePendencia","dataDoRecebimento","dataDoPrazo","pendencia","ModalExcluirMetricaComponent","onConfirm","onCancel","ModalMetricaPerguntaComponent","filtroPergunta","subPergunta","carregaTodasPerguntas","perguntas","option","PerguntaFormComponent","dialog","opcoesDataSource","semDadosMetrica","permiteCadastroOpcoes","novaOpcao","perguntaMetrica","obterTipoEntradaPergunta","incluirNovaOpcao","excluirOpcao","message","defineEntrada","PerguntaListComponent","PeriodoFormComponent","PeriodoListComponent","ImprimirComponent","formatarInput","MatrizPlanejamentoVisualizarComponent","obterAbaMatrizPorIdImprimir","ModalAlocarEquipePlanejamentoComponent","auditoresQueEstavamAnteriormente","planejamentoEquipeId","ModalUgPlanejamentoComponent","PlanejamentoFormComponent","serviceMatriz","modelPlanejamentoSubtipoAuditoria","modelPlanejamentoUnidadeGestora","unidadeGestoraDataSource","unidadeGestoraSemDados","displayedColumnsUg","dadosObtidosPlanejamento","hiddenEdicao","modelRelatoria","handlerInit","modelCustoRecursoPlanejamento","custoRecursoColunas","custoRecursoPlanejamentoDataSource","custoRecursoPlanejamentoSemDados","formCustoRecurso","valorUnitario","statusPlanejamento","popularListasInformacoesBasicas","planejamentoEquipe","obterDispensasPorPeriodo","onSubmitInformacoesBasicas","excluirElementoSubtipo","subtipoId","subtipo","excluido","excluirSubtipoAuditoria","Justificativa","abaMatrizPlanejamento","excluirRegistro","getSubtiposSelecionados","subtipoSelecionado","subtipoJustificativa","getSubtiposSemJustificativa","salvarSubtipoAuditoria","unidadeGestoraSelecionados","z","atualizarUnidadeGestora","unidadeGestoraSelecionada","UgSubTipo","ugSubTipo","subTipoAuditoriaId","salvarUgSubtipo","desvincularUgSubtipo","ugId","salvarAlocarEquipe","idTipoAuditoria","buscarAuditores","desvincularAlocarEquipe","idEquipeAlocada","excluirUnidadeGestora","PlanejamentoListComponent","fb","tiposAuditoriaId","planejar","pesquisar","obterFiltrado","filtrado","nomefuncionalidade","ugSigla","nomeResponsavel","dataCriacaoFormatada","dataPrazo","PrePlanejamentoListComponent","questionarioUGService","ObterQuestionarioPendente","responder","tipoQuestionarioId","setParams","idUG","tipoUniversoId","visualizarQuestionario","documentoId","ModalConcordarComponent","ModalContestarComponent","sanitizer","questionarioUGRespostaService","opcoesAvaliacao","concordo","concordoParcialmente","discordo","respostaRevisada","statusAvaliacao","EntendendoEntidade","MaturidadeRisco","respostaHTML","htmlResposta","bypassSecurityTrustHtml","idsSelecionadosString","tipoAvaliacao","replica","fazerAvaliacaoOuReplica","ModalDelegarComponent","questionarioId","delegar","DelegarQuestionario","idResponsavel","PrePlanejamentoRespostaFormComponent","responsaveisService","arquivo","displayedColumnsName","dataSource2","contestado","selectedItems","selectedIds","habilitaBotaoFinalizar","isDisabledStatusEmReplica","selection","checkboxs","arquivos","tipoQuestionario","getTipoQuestionario","respostasFormArray","at","salvarRespostasQuestionarioPorId","onEnviar","enviarRespostasQuestionarioPorId","onCancelar","modalDelegar","idsParaDelegar","selectedItemIds","idItemQuestionario","enviarArquivo","onConcordar","idsSelecionados","selected","idTipoSecaoOuPergunta","onContestar","perguntaSelecionada","idQuestionario","clear","onFinalizar","FinalizarPerguntaQuestionario","ObterRespostaQuestionario","exibeCamposStatusEmReplica","checkboxesFormArray","buscarArquivoAnexado","toggleSelectAll","checked","isIndeterminate","numSelected","updateSelectedItems","selectedItem","onFileSelected","fileExtension","allowedExtensions","arquivoModel","nomeArquivo","entidadeArquivo","anexarArquivo","getRespostaFormControl","getCheckBoxFormControl","checkBoxsFormArray","getArquivoFormControl","arquivosFormArray","masterToggle","isAllSelected","select","numRows","checkExists","onCheckboxChange","toggle","deselect","isAllFinalized","filteredItems","allFinalized","every","isStatusEmReplica","isHabilitaBotaoFinalizar","DesabilitaBotaoDelegar","ModalProcedimentoAuditoriaComponent","procedimentoAuditoriaService","modelQuestaoProcedimentoAuditoria","tecnicaAuditoriaDataSource","fonteInformacao","detalhamentoProcedimento","procedimentoAuditoriaId","procedimentoTecnicaAuditoria","ProcedimentoAuditoriaFormComponent","tecnicaAuditoriaService","modelProcedimentoTecnicaAuditoria","incluirTecnicaAuditoria","tecnicaAuditoriaId","excluirTecnicaAuditoria","exibirModalTecnicaAuditoria","tecnicaAuditoria","ProcedimentoAuditoriaListComponent","QuestaoFormComponent","manterMatrizPlanejamento","constatacaoDataSource","procedimentoAuditoriaDataSource","semDadosConstatacao","semDadosProcedimentoAuditoria","classificacao","editorMaxLength","legislacaoAplicavelCriterio","enableToolbar","showToolbar","maxlength","regex","angularEditor","textArea","nativeElement","addEventListener","maxLengthAngularEditor","angularEditorLegislacao","permitirTeclas","verificarTamanho","questaoConstatacao","questaoProcedimentoAuditoria","procedimentoAuditoria","executarVinculos","ret","handleSuccess","vincularConstatacoes","vincularProcedimentos","handleError","isAvaliar","vincularQuestaoConstatacao","constatacoes","vincularQuestaoProcedimento","procedimentos","incluirConstatacao","excluirConstatacao","desVincularQuestaoConstatacao","exibirModalConstatacao","incluirProcedimentoAuditoria","excluirProcedimentoAuditoria","desVincularQuestaoProcedimento","exibirModalProcedimentoAuditoria","modalVisualizarConstatacao","modalVisualizarProcedimentoAuditoria","cadastroRapidoConstatacao","cadastroRapidoProcedimentoAuditoria","aprovarQuestao","reprovarQuestao","reprovar","QuestaoListComponent","ModalDelegarQuestionarioComponent","QuestionarioFormComponent","questionarioService","segmentoUrl","recuperarSegmento","documento","expirado","obterPerguntasQuestionario","obterQuestionarioPendentePorPeaId","isPea","obterQuestionarioPendentePorPaaId","salvarQuestionarioPea","salvarQuestionarioPaa","naoRespondidos","enviarQuestionarioPea","navegarLista","tratarObterQuestionarioPendente","tratarObterQuestionarioPaaPendente","questionarios","setTimeout","salvarRespostasQuestionarioPorPeaId","tratarSalvarQuestionario","salvarRespostasQuestionarioPorPaaId","enviarRespostasQuestionarioPorPeaId","tratarEnviarQuestionario","enviarRespostasQuestionarioPorPaaId","segmento","retornaNomeTipoTrabalho","paaIndiceCriterio","responsavelId","dataCriacao","QuestionarioListComponent","isPEA","buscarQuestionariosPea","buscarQuestionariosPaa","object","tratarBuscar","obterQuestionariosPendentePea","obterQuestionariosPendentePaa","mostrarColunaPAAC","retornaNomePea","RecomendacaoFormComponent","tipoRecomendacao","RecomendacaoListComponent","obterPorRecomendacaoId","RiscosFormComponent","riscosService","enumCategoriaRisco","categorias","categoriaRiscoId","carregaCategoriaRisco","carregaTipoEnfase","carregaSubtipoAuditoria","obterTodos","categoriaRisco","RiscosListComponent","filtroSubTipoAuditoria","filtroCategoriaRisco","filtroTipoEnfase","uniqueFilters","listaCategoria","listaTipoEnfase","listaSubTipoAuditoria","getCategoriaRisco","getSubtiposAuditoria","getTipoEnfase","riscos","nomeCategoriaRisco","nomeTipoEnfase","nomeSubTipoAuditoria","selecionarCategoria","nomeCategoria","add","filterValues","from","selecionarTipoEnfase","selecionarSubTipoAuditoria","obterSubTipoAuditoria","obterTipoEnfase","obterCategorias","ModalIncluirPeriodoExercicioComponent","periodoExercicioService","enumTipoAgente","enumTipoAto","submited","newDate","onDataFimChange","onDataAtoNomeacaoChange","dataAtoNomeacao","onDataPublicacaoNomeacaoChange","dataPublicacaoNomeacao","onNumeroNomeacaoChange","atoNomeacao","onDataAtoExoneracaoChange","dataAtoExoneracao","onDataPublicacaoExoneracaoChange","dataPublicacaoExoneracao","onNumeroExoneracaoChange","atoExoneracao","onTipoAtoNomeacaoChange","tipoAto","onTipoAtoExoneracaoChange","onTipoAgenteChange","tipoAgente","obterTipoAgente","obterTipoAto","dataAto","dataPublicacao","atoNomeacaoId","atoExoneracaoId","naturezaResponsabilidade","ModalIncluirResponsavelComponent","obterResponsavelPorId","obterPorResponsavelId","periodoExercicio","obterPorCpf","cpfValido","isValidCPF","ObterAgentePorCpf","rg","modalSelecionarResponsavel","modalIncluirPeriodoExercicio","match","validator","digit","el","toValidate","rest","soma","ModalSelecionarResponsavelComponent","nomeNaturezaResponsabilidadeId","nomeTipoAgente","RolResponsaveisFormComponent","rolResponsaveisService","obterListaResponsaveis","NaturezaResponsabilidade","TipoAgente","modalIncluirResponsavel","inativarReativarResponsaveis","confirm","excluirResponsaveis","RolResponsaveisListComponent","unidadesGestorasImprimirRolSource","unidadesGestorasImprimirRol","asObservable","responsaveis","imprimirRol","exibirModalUgImprimir","ImprimirRolResponsavelUnidadeGestoraComponent","rolResponsavelComponent","dataHoje","ugs","imprimirResponsaveisUg","ModalSelecionarUgImprimirComponent","ImprimirRolResponsaveisComponent","prazo","assunto","SolicitacaoTecnicaListComponent","solicitacaoTecnicaService","prazoResposta","numeroSolicitacao","arrayStatus","Finalizada","Enviada","Cancelada","SolicitacaoProrrogacao","Prorrogada","AtendidaParcialmente","AtendidaTotalmente","NaoAtendidaParcialmente","NaoAtendidaTotalmente","ProrrogacaoRejeitada","assuntoSolicitacao","ObterResponsaveis","obterResponsaveisUGs","ModalDelegarItemComponent","responsavelDelegacao","responsavelDelegado","responsavelEncontrado","delegarItem","ModalItemSolicitacaoComponent","solicitacaoService","dataSourceResposta","semDadosResposta","tituloModal","respostaItemModel","arrayFiles","solicitacaoId","solicitacaoTecnicaId","tabelaItemPaginator","tabelaItemSort","tabelaRespostaSort","tabelaRespostaPaginator","obterItemId","anexo","respostaItemSolicitacaoTecnica","anexos","anexarArquivosResposta","flatListFiles","getBase64","fileToArray","removerArquivoItemResposta","excluirAnexoItemResposta","Download","downloadAnexo","link","createElement","href","download","click","finalizarItem","enviarItem","salvarItemResposta","reject","readAsDataURL","onerror","downloadAnexoResposta","downloadArquivoRespostaItem","siglaUg","SolicitacaoTecnicaFormComponent","solicicataoTecnicaService","tituloPagina","semDadosItens","itensSolicitacaoDataSource","dataSourceUG","displayedColumnsItems","endsWith","obterSolicitacaoTecnica","solicitacaoTecnicaUgResponsavel","visualizarItem","responderItem","prorrogarPrazo","processarAfterClosedModalProgrrogacaoPrazo","mostraMensagemSucesso","mostraMensagemAlerta","mostraMensagemErro","SubtipoAuditoriaFormComponent","modelSubtipoAuditoriaMatrizPlanejamento","matrizPlanejamentoDataSource","subtipoAuditoriaMatrizPlanejamento","exibirModalMatrizPlanejamento","matrizPlanejamentoId","matrizPlanejamento","incluirMatrizPlanejamento","excluirMatrizPlanejamento","visualizarMatrizPlanejamento","cadastroRapidoMatrizPlanejamento","SubtipoAuditoriaListComponent","TecnicaAuditoriaFormComponent","TecnicaAuditoriaListComponent","TipoAuditoriaFormComponent","readonly","qtdDiasPlanejamento","qtdDiasExecucao","quantidadeMembros","exibirModalCoordenacao","customFilterPredicate","calcularTotalDias","TipoAuditoriaListComponent","TipoCriterioFormComponent","TipoCriterioListComponent","excluirTipoCriterio","TipoDispensaFormComponent","TipoDispensaListComponent","TipoEnfaseFormComponent","TipoEnfaseListComponent","ModalTipoUniversoItemDescricaoComponent","idUGAnterior","onChangeNome","Confirmar","indx","Cancelar","ModalTipoUniversoItemComponent","tipoUniversoService","nomeUG","idsUgsExistentes","idTipoUniversoAuditavel","idTipoUniverso","idClassificacaoTipo","buscarItens","obterItens","inserirItens","alterou","atualizarItens","retornaItensArray","subSubItem","fnReordenacao","exibirModalItemNovo","arrayIndices","existeNomeMesmoNivel","exibirModalItemEditar","moveUp","moveDown","TipoUniversoFormComponent","ugsDataSource","idTipoClassificacao","alterarParaTipoPadronizado","indicadorNome","abrirModalUG","excluirUG","onChangeSelectTipo","alterarParaTipoNaoPadronizado","listaItens","TipoUniversoListComponent","selecionarIndicador","selecionarClassificacao","AbaDadosComponent","organogramaService","unidadeGestoraMaturidadeGRService","unidadeGestoraMaturidadeGRHistoricoService","enumTipoAdministracao","enumAnosObrigatorios","enumFuncoes","modelResponsavel","maturidades","gestao","orgaoSuperior","codigoUo","cnpj","orgaoId","responsavelDelegadoPermanenteId","unidadeGestoraResponsavelId","tipoAdministracaoId","anosObrigatorios","executaOrcamento","executaObra","executaConvenio","auditoriaSistemas","unidadeGestoraMaturidadeGRId","modoVisualizar","getModoVisualizacaoAbasUnidadeGestora","adicionarEnums","carregaMaturidades","desabilitaCamposModoVisualizacao","organogramaId","importadoViaServico","desabilitarUgImportadoViaServico","tiposAdministracao","obterTipoAdministracao","tipoAdministracaoNome","exibirModalOrgao","ObterOrgaos","nomeOrgao","exibirModalResponsavelUnidade","ObterAgentesPublicosPorConjunto","exibirModalResponsavelDelegadoPermanenteUnidade","nomeResponsavelDelegadoPermanente","exibirModalUnidadeGestoraResponsavel","nomeUnidadeGestoraResponsavel","abrirModalHistoricoMaturidade","filtroHistorico","idug","dadosHistoricoMaturidade","historicoDados","novaAba","AbaEntendendoEntidadeComponent","http","entendendoEntidadeService","botaoNovoDisable","botaoEditarDisable","botaoExcluirDisable","botaoImprimirDisable","botaoPreenchimentoDisable","botaoImportarDisable","botaoVisualizarDisable","configuraTela","importar","Importar","source","currentDialogRef","situacoesNaoPermitidas","situacaoAtual","preencher","importarArquivo","isSelect","DownloadArquivoPorIdQuestionario","responseType","blob","fileName","idUg","getId","solicitar","situacoesPermitidas","param1","avocar","Avocar","situacaoEnviado","situacaoContestado","situacaoEmValidacao","setTipoQuestionario","isButtonDisabled","isButtonDisabledEditar","DownloadArquivo","EditarEntendendoEntidadeComponent","idUnidadeGestora","contadorGeralIndice","contadorItem","contadorSubItem","indiceAnteriorModel","indiceAtualModel","moveu","idQuestionarioUG","atualizarModelo","ModalQuestionarioUGPerguntaComponent","ModalQuestionarioUGSecaoComponent","GerarQuestionarioComponent","gerarQuestionario","buscarQuestionario","exibirModalquestionario","ImportacaoArquivoQuestionarioComponent","botaoEncerrarHabilitado","arquivoUrl","onEncerrarAvaliacao","encerrarQuestionarioImportacaoArquivo","ImprimirEntendendoEntidadeComponent","matGridListModule","tiles","ImprimirRespostaQuestionario","nomeUnidadeGestora","ModalQuestionarioImportaDadosComponent","inserirQuestionarioAPartirDoUltimo","ModalQuestionarioNovaVersaoComponent","ModalSelecaoQuestionarioComponent","nomeSelecionado","buscarModeloQuestionario","obterModeloEntendendoEntidade","ModalSolicitarPreenchimentoComponent","solicitarPreenchimentoQuestionario","VisualizarEntendendoEntidadeComponent","nomeQuestionario","AbaMaturidadeRiscoComponent","QuestionarioMaturidade","VisualizarMaturidadeDeRiscoComponent","nomeTipoUniverso","AbaRiscosChavesComponent","riscosChavesService","universoSelecionado","filtroUniverso","nomeTipoUniversoAuditavel","tipoUniversoAuditavelId","universoAuditavelId","GerarComponent","universoAuditavelService","filtroCriterios","criterioSelecionado","modelRiscosChaves","buscarTipoUniversoAuditavel","buscarCriterioAvaliacao","criterioAvaliacaoId","verificaCriacao","gerar","inserirRiscosChaves","modelTipoUniverso","ImportarArquivoRiscosChavesComponent","searchTerm","buscarTipoUniverso","search","finalizarAvaliacao","encerrarUniversoImportacaoArquivo","ModalSelecaoCriterioAvaliacaoComponent","criterioAvaliacaoService","ModalSelecaoRiscoComponent","riscoService","idSelecionado","ModalSelecaoUniversoAuditavelComponent","risosChavesService","filtroRiscosChaves","ModalSolicitarPreenchimentoRiscosChavesComponent","solicitarPreenchimentoFormulario","mensagemAlerta","PreenchimentoRiscosCriteriosComponent","modelRiscosChavesProcessoItem","modelCriterioAvaliacaoRisco","displayedColumnDescricao","displayedColumnEscalas","processoId","obterDescricaoRisco","excluirRisco","obterItensProcesso","obterEscalas","buscarRisco","adicionarRisco","riscoId","nomeRisco","riscoChaveId","inserirProcessoItem","escalasCriterioAvaliacao","RiscosChavesFormComponent","modelTipoUniversoItens","idTipo","abrirPreenchimento","getRowSpan","rowCount","macro","AbaUniversoAuditavelComponent","optionsSituacao","optionsTipoUniverso","setId","selecionarOpcao","isChecked","handleCheckboxChange","_inputElement","arquivoId","tipoUniverso","isButtonPreechimentoDisabled","GerarUniversoAuditavelComponent","itemExiste","NaoPadronizado","verificaUG","gerarUniversoAuditavel","verificaTipoNaoPadronizado","ImportarArquivoUniversoAuditavelComponent","ModalSelecaoTipoUniversoComponent","universoService","ModalSolicitarPreenchimentoUniversoComponent","UniversoAuditavelFormComponent","modelUniversoAuditavel","retornoAbaUnidade","UniversoAuditavelPreechimentoFormComponent","universoAuditavelItemRespostaService","respostaItens","dropdownData","criteriosResposta","errorMessageForm","selectedDropdownValue","getParams","universoAuditavel","universoId","tipoUniversoAuditavel","tipouniversoId","alteraStatus","montaComboUniversoAuditavel","obterCriterioPorTipo","limparCampos","controlName","startsWith","reset","onSelectionChange","selectedValue","buscarRespostaItens","ObterRespostaPorCriterio","initializeFormControls","valoresParaPreencher","processo","respostaItem","tipouniversoItemId","controleValor","Padronizado","gerarRespostas","responses","macroResponses","processoControl","existingResponse","findExistingResponse","existingResponses","macroGroup","allResponses","curr","itensUniverso","addControl","finalizarUniversoAuditavel","VisualizarUniversoAuditavelComponent","universoAuditavelItemService","headerRows","displayedColumnsGrupo","getDivididosPorColunas","itemMacro","processos","tipoUniversoAuditavelItemId","coluna1","ceil","coluna2","getCriterioValue","criterioNome","respostasEncontradas","resp","universoAuditavelItemRespostas","contarItens","ObterRespostaPorCriterios","processData","contarItensTipo2","criteriosSet","processItemsForCriterios","indicadorDescricao","colspanIdicador","reordenarItem","novaOrdem","AvaliarQuestionarioComponent","isButtonAvaliarDisabled","isButtonReAvaliarDisabled","isButtonEnviarReplicaDisabled","isDesabilitaBotoes","tipoAvaliacaoAuditor","tipoReplica","onAvaliar","avaliacaoFinal","onReavaliar","reavaliar","FinalizarQuestionarioAvaliacao","onEnviarReplica","enviarParaReplica","onFechar","isTodosAvaliados","algumAvaliado","EditarQuestionarioComponent","EditarQuestionarioModalPerguntaComponent","EditarQuestionarioModalSecaoComponent","GerarQuestionarioSharedComponent","ImportacaoArquivoQuestionarioSharedComponent","listMaturidades","DownloadArquivoPorTipo","onChangeSelectMaturidade","ImprimirQuestionarioComponent","ModalAvaliarQuestionarioComponent","ModalQuestionarioImportaDadosSharedComponent","ModalQuestionarioNovaVersaoSharedComponent","ModalRiscosChavesImportacaoComponent","tipoRiscosChaves","ModalSelecaoQuestionarioSharedComponent","MaturidadeGestaoRisco","obterModeloQuestionario","ModalSolicitarPreenchimentoSharedComponent","ModalUniversoAuditavelImportaDadosComponent","inserirUniversoAPartirDoUltimo","ModalUniversoAuditavelImportacaoComponent","ModalUniversoAuditavelNovaVersaoComponent","VisualizarQuestionarioComponent","UnidadeGestoraFormComponent","txtTitulo","onChangeAba","ModalAssociarComponent","unidadesGestorasDisponiveis","remover","idsSelecionadas","ModalImportacaoComponent","UnidadeGestoraListComponent","setModoVisualizacaoAbasUnidadeGestora","importarUgPorServico","importarUgServico","AcessoCidadaoService","httpClient","locationStrategy","apiBaseUrl","toPromise","conjuntoId","ObterPorId","AgentePublicoService","post","put","AmostraService","obterAmostra","tipoAmostra","obterAmostraId","amostraId","salvarAmostra","excluirAmostra","AprovacaoService","imprimirRelatoria","AuditoriaService","AuthService","logout","recursos","permissoesRecursos","p","possuiPermissaoRecurso","AvaliacaoService","BaseService","baseHref","getBaseHref","apiUrl","origin","CalendarioService","simplificado","append","CapituloRelatorioService","aprovado","patch","CategoriaRiscoService","ConstatacaoService","ControleService","CoordenacaoService","cargoAuditor","exibeInativos","validarCoordenador","CriterioService","CriteriosAvaliacaoRiscoService","CronogramaService","obterCronograma","obterAtividade","obterAtividadePorId","obterSubAtividade","obterSubAtividadePorId","excluirAtividade","excluirSubAtividade","inserirAtividade","inserirsubAtividade","atualizarAtividade","atualizarSubAtividade","CustoRecursoPlanejamentoService","CustoRecursoService","EdocsService","EntendendoEntidadeService","idTipoRelatorio","qtdeDiasPrazo","idTipoQuestionario","formData","FormData","VisualizarRespostaQuestionario","EscalasService","FaixaClassificacaoService","FaseAtividadeService","FluxoAprovacaoService","FormulaRiscoInerenteService","FormulaRiscoResidualService","IndicadorService","LogService","recuperarParametrosFiltro","MagnitudesEscalaRiscoService","ManterMatrizPlanejamentoService","_dados","idSubtipo","idQuestao","vincularQuestao","isQuestaoPlanejamento","relacionamentoId","obterQuestaoSubtipo","query","obterUgSubtipo","MatrizPlanejamentoService","MenuService","ModeloQuestionarioService","ModeloRelatorioService","obterPorTipoTrabalho","NaturezaResponsabilidadeService","NiveisRiscoInerenteService","NiveisRiscoResidualService","OpaService","obterRelatorio","entranharDocumento","OrganogramaService","OsaService","osaSource","salvarOsaAtividade","atividadeId","salvarOsaSubAtividade","subAtividadeId","obterCronogramaOsa","osaId","alocarEquipeOsa","obterAlocarEquipeId","equipeId","PaaService","atualizarPaa","idPerfilSelecionado","rejeitar","enviarHomologacao","obterEquipesPorPaaId","PaaAbaCapacidadeService","httpclient","PaaAbaDadosBasicosService","PaaAbaDistribuicaoService","obterPainelDistribuicaoImprimir","justificativaEnfase","PaaAbaIndicesCriteriosService","ParametrizacaoDocumentoEdocsService","ParametrizacaoService","atualizaTodos","PeaService","idPerfil","importarRespostas","fileData","obterQuestionarioPendente","obterQuestionarioPorPeaIdeCriterioId","ObterResponsaveisUG","GerarRankingDistribuicao","PendenciaService","PerguntaService","PeriodoExercicioService","PeriodoService","PlanejamentoService","_planejamentoSubTipoAuditoria","obterAbaMatrizPorId","ProcedimentoAuditoriaService","QuestaoService","constatcaoId","procedimentoId","QuestionarioService","enviarQuestionariosPea","idCriterio","QuestionarioUGRespostaService","idItemQuestionarioUG","questionarioItemsId","EnviarReplicaQuestionario","tiporeplica","avaliacaoDto","QuestionarioUGService","idMaturidade","RankingDistribuicaoService","RecomendacaoService","RelatoriaCapituloService","relatoriaService","idTipodeTrabalho","idItem","avaliarExclusao","RelatoriaService","relatoriaSource","reltoriaCurrent","excluirRelatoria","relatoriaModel","habilitarGerar","idTrabalho","ResponsaveisService","toDateString","RiscosChavesServices","RiscosService","RolResponsaveisService","SharedService","subject","modoVisualizacao","modoVisualizarTelaUnidadeGestora","setIdUniversoAuditavel","getIdUniversoAuditavel","setIdTipoUniversoAuditavel","getIdTipoUniversoAuditavel","SolicitacaoTecnicaService","obterUnidadeGestora","obterResponsaveis","salvarSolicitacao","desvincularUgResponsavel","salvarUgResponsavel","cancelarSolicitacao","habilitarRespostaSolicitacao","finalizar","enviar","obterUgResponsavel","avaliarProrrogacao","obterRespostaItem","itemId","salvarItem","cancelarItem","itemSolicitacaoTecnicaId","itemResposta","salvarAnexo","excluirAnexo","anexoId","SubtipoAuditoriaService","obterPorIds","TabelaDominioService","obterValores","obterOperadorMembroAprovador","obterPerfilCargo","obterFuncaoResponsavelUnidadeGestora","TecnicaAuditoriaService","TipoAuditoriaService","TipoCriterioService","TipoDispensaService","TipoEnfaseService","TipoTrabalhoService","TipoUniversoService","UnidadeGestoraMaturidadeGRService","UnidadeGestoraMaturidadeGRHistoricoService","UnidadeGestoraService","UniversoAuditavelItemRespostaService","idTipoUNiverso","UniversoAuditavelService","AbaAmostraComponent","amostraService","amostra","amostraArquivos","amostraUnidadeGestoras","obterAmostraPorId","exibirModalAdicionarAmostra","visualizarModalAdicionarAmostra","ImprimirAmostraComponent","getCurrentNavigation","tituloImpressao","InserirAmostraComponent","formatPeaUnidadeGestora","deleteFile","uploadAmostra","AbaCronogramaComponent","cronogramaService","atividadesModel","cronograma","prazoEntregaMatriz","prazoRespostaAuditado","prazoEntregaRelatorio","obterCampos","fasesAtividade","modalIncluir","quantidadeDiasRealizado","ModalAtividadeSubatividadeComponent","modelSub","valido","fasesAtividadeId","atividade","AbaMatrizPlanejamentoComponent","manterMatrizPlanejamentoService","tipotrabalhoId","carregarRegistros","visualizarMatriz","atualizaRegistros","currentValue","modalUnidadeGestora","subTipoId","abrirModalAdicionarItem","matriz","questoes","isQuestaoEspecifica","questoesJoin","ListagemQuestoesComponent","listaDados","excluirItemEvento","isPlanejamento","modalEditarQuestao","routeIncludes","ModalAdicionarQuestoesComponent","questaoSelecionada","matrizPlanejamentoModel","listSubtipo","filtrarModel","tituloAuditoria","obterQuestoes","abrirModalAdicionarQuestao","subTipoCategoria","ModalEditarQuestaoComponent","ModalUgComponent","AbaSolicitacaoTecnicaComponent","solicitacaoTecnica","permitido","cancelada","dataAtual","dataVencida","habilitarResposta","incluirSolicitacaoTecnica","numeroST","modalVisualizarResposta","ImprimirSolicitacaoComponent","serviceSolicitacao","ModalAvaliarProrrogacaoComponent","ModalIncluirItemComponent","defaultFontSize","fonts","uploadUrl","uploadWithCredentials","toolbarPosition","nSolicitacaoTecnica","nrItem","load","modalIncluirArquivo","isClose","excluirArquivo","IncluirSolicitacaoComponent","editorConfig","dataSourceItems","prorrogacao","incluirSolicitacao","responsavel","associado","tableThreePaginator","prorrogarSolicitacao","nomeUg","exibirModalAdicionarItem","modalIncluiritem","modalIncluirUg","dataSourcePaiUg","ugsResponsavel","ModalIncluirUgComponent","ugSelecionada","responsavelSelecionado","ugCadastrada","dataSourceUgPai","obterUG","unidadesGetoras","adicionarUg","findUgSelecionada","findDataUgSelecionada","ModalVisualizarItemComponent","obterResposta","DownloadResposta","ModalVisualizarRespostaComponent","modalVisulizaItem","AlocarEquipeComponent","novaListaAuditores","minDataInicio","maxDataFim","selecionarAuditor","dataValida","selecionarAuditores","AppButtonComponent","block","loading","BaseFormComponent","pageSizeOptions","botaoOk","list","exibirMensagemPadrao","BaseListComponent","CapituloComponent","relatoriaCapituloService","keywordsPaaPadrao","keywordsPaaEspecial","habilitarEdicaoRelatoria","indexSubChapter","activeAll","atctiveCapitulo","tipoTrabalhoRef","impressao","habilitarEdicaoCapituloRelatoria","editarCapitulo","indexCapitulo","relatoriaDadosEspelho","dadosObtidos","subRelatoriaCapitulos","indexSubCapitulo","habilitarTodasEdicoesCapituloRelatoria","indexSub","modalRelatoriaCapitulo","relatoriasCapitulos","modalHistoricoRelatoria","capituloFixo","isCapitulo","reativarCapitulo","salvarOne","itemCapitulo","isubcapitulo","salvarTodos","relatoriaCapituloPaiId","subElement","onSubDrop","idCapitulo","tasks","mostrarBotaoEditar","somenteLeitura","tipoTrabalhoStatus","mostrarBotaoExcluir","ModalHistoricoRelatoriaComponent","modalVisualizarHistorico","validarExibicao","ModalVisualizarHistoricoComponent","differences","textoDestacado","textoRemovido","minLength","conteudoAnterior","conteudoAtual","diffStartIndex","diffEndIndex","removido","substring","adicionado","semAlteracao","getFormattedDate","destacarAlteracoes","diffOutput","identificarRemocoes","diffString","realcarRemocoes","textoOriginal","textoAtual","RegExp","day","month","year","hour","getHours","minutes","getMinutes","ModalRelatoriaCapituloComponent","keywordsOpaSub","subCapituloPodeInserirNaBase","isFormValid","capituloRelatorioId","updateFormValidity","incluirNaBase","eSubCapitulo","newCapitulo","relatoriaId","novoCapituloModeloRelatorio","CustosRecursosComponent","custoRecursoPlanejamentoService","obterCustoRecurso","exibirModalCustoRecurso","incluirCustoRecurso","editarCustoRecurso","excluirCustoRecurso","CustoRecurso","ModalCustoRecursoPlanejamentoComponent","FaixaClassificacaoComponentComponent","faixadeClassificacaoOutput","enviarClassificacao","salvarModel","nomeCampoAlterado","HistoricoModalComponent","avaliacaoService","LinhaDoTempoComponent","obterTipoDocumento","datas","tamanhoArray","mostrarBotaoFechar","LookupModalComponent","selecionarItem","LookupMultiselectModalComponent","todosSelecionados","verificarItensSelecionados","ModalArquivoComponent","solicitacaoTencica","numeroItem","Id","Arquivos","selectedFiles","srcElement","base64","base64full","Arquivo","dataurl","filename","ModalCancelarComponent","ModalConfirmaCancelarComponent","ModalConfirmarRejeitarComponent","ModalConfirmarInativacaoComponent","ModalJustificativaComponent","PdfExportComponent","loadingBar","orientation","format","headerHeight","footerHeight","generatePDF","contentElement","querySelector","opt","margin","image","quality","html2canvas","scale","useCORS","jsPDF","unit","pagebreak","mode","avoid","keepTogetherSelectors","pageWidth","internal","getWidth","pageHeight","getHeight","pageWidthInPixels","contentClone","cloneNode","style","maxWidth","tempContainer","visibility","appendChild","body","resizeTables","resizeImages","removeChild","fullContent","toPdf","totalPages","getNumberOfPages","lastPageIndex","lastPageContent","pages","deletePage","setPage","addWatermark","addHeader","addFooter","pdfBlob","output","pdfURL","URL","createObjectURL","popupWindow","resizeTableSelectors","tables","table","tableElement","tableWidthInPixels","offsetWidth","scaleFactor","transformOrigin","parentElement","classList","contains","scaledHeight","offsetHeight","overflow","images","img","imgElement","imageWidthInPixels","naturalWidth","scaledWidth","imgData","imgWidth","imgHeight","imgX","imgY","addImage","titleX","titleY","setFont","setFontSize","setTextColor","subtitleY","pageNumber","marginBetweenContentAndFooter","footerStartY","lineY","setDrawColor","setLineWidth","line","textY1","textY2","textY3","currentDate","formattedDate","toLocaleString","minute","second","textY4","emitidoPorText","userName","commaAndEm","dataHoraText","fullTextWidth","getTextWidth","textX4","userNameWidth","commaAndEmWidth","dataHoraWidth","pageNumberY","align","watermarkImage","showWatermark","opacity","saveGraphicsState","setGState","GState","restoreGraphicsState","cancelarClick","PrintLayoutComponent","habilitado","RankingPrioridadeComponent","fatorRedutor","exibirModalDetalharValorRisco","imprimirLinhaDoTempoComponent","removeMinuta","visualizarRelatoriaHidden","abaRelatoria","voltarAbaRelatoria","tipoTrabalhoDescricao","backClicked","VoltarRelatoria","ImprimirRelatoriaComponent","RelatoriaComponent","reprovado","jaEnviadoAprovacao","ngDoCheck","habilitarGerarRelatoria","modeloRelatorio","exibirModalModeloRelatorio","desabilitarBotaoEnviarAprovacao","VisualizarRelatoriaComponent","SanitizedHtmlPipe","sanitized","ModalIncluirUgComponentComponent","subtipoList","ugType","subTiposVinculados","planejamentoUgSubtipo","findUgDataSourceSelecionada","incluiColuna","UnidadeGestoraComponent","naoTemJustificativa","KeyboardlockDirective","blockPaste","blockCopy","blockCut","FooterComponent","appVersion","HeaderComponent","toggleMenuSidebar","searchForm","UserDropdownMenuComponent","elementRef","renderer","clickout","hideDropdownMenu","toggleDropdownMenu","dropdownMenu","showDropdownMenu","addClass","removeClass","MainComponent","sidebarMenuOpened","showSideBar","mainSidebarHeight","setStyle","contentWrapper","MenuItemComponent","menuName","menuItems","SidebarComponent","menuService","obterMenu","each","_jQueryInterface","call","GroupByPipe","dados2","angularEditorConfig","outline","minWidth","convertDate","reverse","toISOString","toFormatValue","cvLength","toFormatDecimal","casasDecimais","toRemoveCharacters","replaceAll","environment","production"],"mappings":"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AAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAA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;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;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,MADW,GACX,GAAEl9B,SADS,MACA,IADA,IACA,aADA,GACA,EADA,GACI,CADrC;AAEA,8BAAI,CAACjnB,KAAL,CAAW2lD,qBAAX,GAAgC,YAC/B,QAAI,CAACxB,gBAD0B,MACV,IADU,IACV,aADU,GACV,MADU,GACV,GAAEj9B,QADQ,MACA,IADA,IACA,aADA,GACA,EADA,GACI,CADpC;AAEA,8BAAI,CAAClnB,KAAL,CAAW4lD,qBAAX,GAAgC,YAC/B,QAAI,CAACzB,gBAD0B,MACV,IADU,IACV,aADU,GACV,MADU,GACV,GAAEh9B,QADQ,MACA,IADA,IACA,aADA,GACA,EADA,GACI,CADpC;AAEA,qBAdD,MAcO;AACN,8BAAI,CAACk9B,UAAL,GAAkB,QAAI,CAACD,uBAAvB;AACA,8BAAI,CAACpkD,KAAL,CAAWulD,sBAAX,GAAiC,YAChC,QAAI,CAACnB,uBAD2B,MACJ,IADI,IACJ,aADI,GACJ,MADI,GACJ,GAAEt9B,SADE,MACO,IADP,IACO,aADP,GACO,EADP,GACW,CAD5C;AAEA,8BAAI,CAAC9mB,KAAL,CAAWwlD,sBAAX,GAAiC,YAChC,QAAI,CAACpB,uBAD2B,MACJ,IADI,IACJ,aADI,GACJ,MADI,GACJ,GAAEr9B,SADE,MACO,IADP,IACO,aADP,GACO,EADP,GACW,CAD5C;AAEA,8BAAI,CAAC/mB,KAAL,CAAWylD,sBAAX,GAAiC,YAChC,QAAI,CAACrB,uBAD2B,MACJ,IADI,IACJ,aADI,GACJ,MADI,GACJ,GAAEp9B,SADE,MACO,IADP,IACO,aADP,GACO,EADP,GACW,CAD5C;AAEA,8BAAI,CAAChnB,KAAL,CAAW0lD,sBAAX,GAAiC,YAChC,QAAI,CAACtB,uBAD2B,MACJ,IADI,IACJ,aADI,GACJ,MADI,GACJ,GAAEn9B,SADE,MACO,IADP,IACO,aADP,GACO,EADP,GACW,CAD5C;AAEA,8BAAI,CAACjnB,KAAL,CAAW2lD,qBAAX,GAAgC,YAC/B,QAAI,CAACvB,uBAD0B,MACH,IADG,IACH,aADG,GACH,MADG,GACH,GAAEl9B,QADC,MACO,I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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ps\": \"./node_modules/moment/locale/ar-ps.js\",\n\t\"./ar-ps.js\": \"./node_modules/moment/locale/ar-ps.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku-kmr\": \"./node_modules/moment/locale/ku-kmr.js\",\n\t\"./ku-kmr.js\": \"./node_modules/moment/locale/ku-kmr.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","import { NgModule } from \"@angular/core\";\r\nimport { RouterModule, Routes } from \"@angular/router\";\r\nimport { AuthGuard } from \"./core/guards/auth.guard\";\r\nimport { CapituloRelatorioFormComponent } from \"./pages/capitulo-relatorio-form/capitulo-relatorio-form.component\";\r\nimport { CapituloRelatorioListComponent } from \"./pages/capitulo-relatorio-list/capitulo-relatorio-list.component\";\r\nimport { CoordenacaoFormComponent } from \"./pages/coordenacao-form/coordenacao-form.component\";\r\nimport { CoordenacaoListComponent } from \"./pages/coordenacao-list/coordenacao-list.component\";\r\nimport { CalendarioFormComponent } from \"./pages/calendario-form/calendario-form.component\";\r\nimport { CalendarioListComponent } from \"./pages/calendario-list/calendario-list.component\";\r\nimport { CriterioFormComponent } from \"./pages/criterio-form/criterio-form.component\";\r\nimport { CriterioListComponent } from \"./pages/criterio-list/criterio-list.component\";\r\nimport { FaixaClassificacaoFormComponent } from \"./pages/faixa-classificacao-form/faixa-classificacao-form.component\";\r\nimport { FluxoAprovacaoFormComponent } from \"./pages/fluxo-aprovacao-form/fluxo-aprovacao-form.component\";\r\nimport { FluxoAprovacaoListComponent } from \"./pages/fluxo-aprovacao-list/fluxo-aprovacao-list.component\";\r\nimport { IndicadorFormComponent } from \"./pages/indicador-form/indicador-form.component\";\r\nimport { IndicadorListComponent } from \"./pages/indicador-list/indicador-list.component\";\r\nimport { InicialComponent } from \"./pages/inicial/inicial.component\";\r\nimport { ModeloRelatorioFormComponent } from \"./pages/modelo-relatorio-form/modelo-relatorio-form.component\";\r\nimport { ModeloRelatorioListComponent } from \"./pages/modelo-relatorio-list/modelo-relatorio-list.component\";\r\nimport { ParametrizacaoDocumentoEdocsFormComponent } from \"./pages/parametrizacao-documento-edocs-form/parametrizacao-documento-edocs-form.component\";\r\nimport { ParametrizacaoListComponent } from \"./pages/parametrizacao-list/parametrizacao-list.component\";\r\nimport { PeaFormComponent } from \"./pages/pea-form/pea-form.component\";\r\nimport { PeaListComponent } from \"./pages/pea-list/pea-list.component\";\r\nimport { PeaRelatorioComponent } from \"./pages/pea-relatorio/pea-relatorio.component\";\r\nimport { PaaRelatorioComponent } from \"./pages/paa-relatorio/paa-relatorio.component\";\r\nimport { PerguntaFormComponent } from \"./pages/pergunta-form/pergunta-form.component\";\r\nimport { PerguntaListComponent } from \"./pages/pergunta-list/pergunta-list.component\";\r\nimport { PeriodoFormComponent } from \"./pages/periodo-form/periodo-form.component\";\r\nimport { PeriodoListComponent } from \"./pages/periodo-list/periodo-list.component\";\r\nimport { QuestionarioFormComponent } from \"./pages/questionario-form/questionario-form.component\";\r\nimport { QuestionarioListComponent } from \"./pages/questionario-list/questionario-list.component\";\r\nimport { TipoAuditoriaFormComponent } from \"./pages/tipo-auditoria-form/tipo-auditoria-form.component\";\r\nimport { TipoAuditoriaListComponent } from \"./pages/tipo-auditoria-list/tipo-auditoria-list.component\";\r\nimport { TipoCriterioFormComponent } from \"./pages/tipo-criterio-form/tipo-criterio-form.component\";\r\nimport { TipoCriterioListComponent } from \"./pages/tipo-criterio-list/tipo-criterio-list.component\";\r\nimport { TipoDispensaFormComponent } from \"./pages/tipo-dispensa-form/tipo-dispensa-form.component\";\r\nimport { TipoDispensaListComponent } from \"./pages/tipo-dispensa-list/tipo-dispensa-list.component\";\r\nimport { UnidadeGestoraFormComponent } from \"./pages/unidade-gestora-form/unidade-gestora-form.component\";\r\nimport { UnidadeGestoraListComponent } from \"./pages/unidade-gestora-list/unidade-gestora-list.component\";\r\nimport { MainComponent } from \"./shared/layout/main/main.component\";\r\nimport { PaaListComponent } from \"./pages/paa-list/paa-list.component\";\r\nimport { PaaElaborarComponent } from \"./pages/paa-elaborar/paa-elaborar.component\";\r\nimport { PendenciaListComponent } from \"./pages/pendencia-list/pendencia-list.component\";\r\nimport { OpaListComponent } from \"./pages/opa/list/opa-list.component\";\r\nimport { TecnicaAuditoriaListComponent } from \"./pages/tecnica-auditoria-list/tecnica-auditoria-list.component\";\r\nimport { TecnicaAuditoriaFormComponent } from \"./pages/tecnica-auditoria-form/tecnica-auditoria-form.component\";\r\nimport { LogListComponent } from \"./pages/log-sistema-list/log-list.component\";\r\nimport { CustoRecursoListComponent } from \"./pages/custo-recurso-list/custo-recurso-list.component\";\r\nimport { CustoRecursoFormComponent } from \"./pages/custo-recurso-form/custo-recurso-form.component\";\r\nimport { ProcedimentoAuditoriaListComponent } from \"./pages/procedimento-auditoria-list/procedimento-auditoria-list.component\";\r\nimport { ProcedimentoAuditoriaFormComponent } from \"./pages/procedimento-auditoria-form/procedimento-auditoria-form.component\";\r\nimport { LogFormComponent } from \"./pages/log-sistema-form/log-form.component\";\r\nimport { RecomendacaoListComponent } from \"./pages/recomendacao-list/recomendacao-list.component\";\r\nimport { RecomendacaoFormComponent } from \"./pages/recomendacao-form/recomendacao-form.component\";\r\nimport { ConstatacaoListComponent } from \"./pages/constatacao-list/constatacao-list.component\";\r\nimport { ConstatacaoFormComponent } from \"./pages/constatacao-form/constatacao-form.component\";\r\nimport { QuestaoListComponent } from \"./pages/questao-list/questao-list.component\";\r\nimport { QuestaoFormComponent } from \"./pages/questao-form/questao-form.component\";\r\nimport { OpaFormComponent } from \"./pages/opa/form/opa-form.component\";\r\nimport { MatrizPlanejamentoListComponent } from \"./pages/matriz-planejamento-list/matriz-planejamento-list.component\";\r\nimport { MatrizPlanejamentoFormComponent } from \"./pages/matriz-planejamento-form/matriz-planejamento-form.component\";\r\nimport { MatrizPlanejamentoRelatorioComponent } from \"./pages/matriz-planejamento-relatorio/matriz-planejamento-relatorio.component\";\r\nimport { PeaGuard } from \"./core/guards/pea.guard\";\r\nimport { QuestionarioGuard } from \"./core/guards/questionario.guard\";\r\nimport { PeriodoGuard } from \"./core/guards/periodo.guard\";\r\nimport { TipoCriterioGuard } from \"./core/guards/tipoCriterio.guard\";\r\nimport { CriterioGuard } from \"./core/guards/criterio.guard\";\r\nimport { IndicadorGuard } from \"./core/guards/Indicador.guard\";\r\nimport { TipoAuditoriaGuard } from \"./core/guards/tipoAuditoria.guard\";\r\nimport { TipoDispensaGuard } from \"./core/guards/tipoDispensa.guard\";\r\nimport { UnidadeGestoraGuard } from \"./core/guards/tipoDispensa.guard\";\r\nimport { CoordenacaoGuard } from \"./core/guards/coordenacao.guard\";\r\nimport { ModeloRelatorioGuard } from \"./core/guards/modeloRelatorio.guard\";\r\nimport { PerguntaGuard } from \"./core/guards/pergunta.guard\";\r\nimport { ImprimirRolResponsaveisComponent } from \"./pages/rol-responsavel-relatoria/imprimir-rol-responsaveis/imprimir-rol-responsaveis.component\";\r\nimport { RolResponsaveisFormComponent } from \"./pages/rol-responsaveis-form/rol-responsaveis-form.component\";\r\nimport { NaturezaResponsabilidadeListComponent } from \"./pages/natureza-responsabilidade-list/natureza-responsabilidade-list.component\";\r\nimport { NaturezaResponsabilidadeFormComponent } from \"./pages/natureza-responsabilidade-form/natureza-responsabilidade-form.component\";\r\nimport { NaturezaResponsabilidadeGuard } from \"./core/guards/naturezaResponsabilidade.guard\";\r\nimport { CalendarioGuard } from \"./core/guards/Calendario.guard\";\r\nimport { SubtipoAuditoriaListComponent } from \"./pages/subtipo-auditoria-list/subtipo-auditoria-list.component\";\r\nimport { SubtipoAuditoriaFormComponent } from \"./pages/subtipo-auditoria-form/subtipo-auditoria-form.component\";\r\nimport { TecnicaAuditoriaGuard } from \"./core/guards/tecnicaAuditoria.guard\";\r\nimport { CustoRecursoGuard } from \"./core/guards/custoRecurso.guard\";\r\nimport { ProcedimentoAuditoriaGuard } from \"./core/guards/procedimentoAuditoria.guard\";\r\nimport { QuestaoGuard } from \"./core/guards/questao.guard\";\r\nimport { MatrizPlanejamentoGuard } from \"./core/guards/matrizPlanejamento.guard\";\r\nimport { RecomendacaoGuard } from \"./core/guards/recomendacao.guard\";\r\nimport { SubtipoAuditoriaGuard } from \"./core/guards/subtipoAuditoria.guard\";\r\nimport { PlanejamentoFormComponent } from \"./pages/planejamento-form/planejamento-form.component\";\r\nimport { OpaRelatorioComponent } from \"./pages/opa/relatorio/opa-relatorio.component\";\r\nimport { RolResponsaveisListComponent } from \"./pages/rol-responsaveis-list/rol-responsaveis-list.component\";\r\nimport { ImprimirRolResponsavelUnidadeGestoraComponent } from \"./pages/rol-responsavel-relatoria-unidade-gestora/imprimir-rol-responsaveis/imprimir-rol-responsavel-unidade-gestora.component\";\r\nimport { PlanejamentoListComponent } from \"./pages/planejamento-list/planejamento-list.component\";\r\nimport { FaseAtividadeListComponent } from \"./pages/fase-atividade-list/fase-atividade-list.component\";\r\nimport { OsaComponent } from \"./pages/osa/osa.component\";\r\nimport { OsaFormComponent } from \"./pages/osa/osa-form/osa-form.component\";\r\nimport { FaseAtividadeFormComponent } from \"./pages/fase-atividade-form/fase-atividade-form.component\";\r\nimport { FaseAtividadeGuard } from \"./core/guards/faseAtividade.guard\";\r\nimport { OsaImprimirComponent } from \"./pages/osa/osa-imprimir/osa-imprimir.component\";\r\nimport { ImprimirAmostraComponent } from \"./shared/components/aba-amostra/imprimir-amostra/imprimir-amostra.component\";\r\nimport { AprovacaoListComponent } from \"./pages/aprovacao-list/aprovacao-list.component\";\r\nimport { ImprimirRelatoriaComponent } from \"./shared/components/relatoria/imprimir-relatoria/imprimir-relatoria.component\";\r\nimport { AuditoriaListComponent } from \"./pages/auditoria-list/auditoria-list.component\";\r\nimport { SolicitacaoTecnicaListComponent } from \"./pages/solicitacao-tecnica/list/solicitacao-tecnica-list.component\";\r\nimport { SolicitacaoTecnicaFormComponent } from \"./pages/solicitacao-tecnica/solicitacao-tecnica-form/solicitacao-tecnica-form.component\";\r\nimport { ImprimirSolicitacaoComponent } from \"./shared/components/aba-solicitacao-tecnica/imprimir-solicitacao/imprimir-solicitacao.component\";\r\nimport { ImprimirComponent } from \"./pages/planejamento-form/imprimir/imprimir.component\";\r\nimport { EnumRecursoPerfil } from \"./models/enum/recurso-perfil.enum\";\r\nimport { EnumAcaoRecurso } from \"./models/enum/acao-recurso.enum\";\r\nimport { MatrizPlanejamentoVisualizarComponent } from \"./pages/planejamento-form/matriz-planejamento-visualizar/matriz-planejamento-visualizar.component\";\r\nimport { TipoEnfaseListComponent } from \"./pages/tipo-enfase-list/tipo-enfase-list.component\";\r\nimport { TipoEnfaseFormComponent } from \"./pages/tipo-enfase-form/tipo-enfase-form.component\";\r\nimport { TipoEnfaseGuard } from \"./core/guards/tipoEnfase.guard\";\r\nimport { AgentePublicoListComponent } from \"./pages/agente-publico-list/agente-publico-list.component\";\r\nimport { AgentePublicoFormComponent } from \"./pages/agente-publico-form/agente-publico-form.component\";\r\nimport { PaaGuard } from \"./core/guards/paa.guard\";\r\nimport { CategoriaRiscoListComponent } from \"./pages/categoria-risco-list/categoria-risco-list.component\";\r\nimport { CategoriaRiscoFormComponent } from \"./pages/categoria-risco-form/categoria-risco-form.component\";\r\nimport { RiscosFormComponent } from \"./pages/riscos-form/riscos-form.component\";\r\nimport { CategoriaRiscoGuard } from \"./core/guards/categoriaRisco.guard\";\r\nimport { ModeloQuestionarioListComponent } from \"./pages/modelo-questionario-list/modelo-questionario-list.component\";\r\nimport { ModeloQuestionarioFormComponent } from \"./pages/modelo-questionario-form/modelo-questionario-form.component\";\r\nimport { GerarQuestionarioComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/gerar-questionario/gerar-questionario.component\";\r\nimport { AbaEntendendoEntidadeComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/aba-entendendo-entidade.component\";\r\nimport { EditarEntendendoEntidadeComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/editar-entendendo-entidade/editar-entendendo-entidade.component\";\r\nimport { VisualizarEntendendoEntidadeComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/visualizar-entendendo-entidade/visualizar-entendendo-entidade.component\";\r\nimport { ImprimirEntendendoEntidadeComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/imprimir-entendendo-entidade/imprimir-entendendo-entidade.component\";\r\nimport { ImportacaoArquivoQuestionarioComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/importacao-arquivo-questionario/importacao-arquivo-questionario.component\";\r\n\r\nimport { PrePlanejamentoListComponent } from \"./pages/pre-planejamento-list/pre-planejamento-list.component\";\r\nimport { PrePlanejamentoRespostaFormComponent } from \"./pages/pre-planejamento-resposta-form/pre-planejamento-resposta-form.component\";\r\n\r\nimport { RiscosGuard } from \"./core/guards/riscos.guard\";\r\nimport { RiscosListComponent } from \"./pages/riscos-list/riscos-list.component\";\r\nimport { AbaMaturidadeRiscoComponent } from \"./pages/unidade-gestora-form/aba-maturidade-risco/aba-maturidade-risco.component\";\r\nimport { GerarQuestionarioSharedComponent } from \"./pages/unidade-gestora-form/shared/gerar-questionario/gerar-questionario.component\";\r\nimport { EditarQuestionarioComponent } from \"./pages/unidade-gestora-form/shared/editar-questionario/editar-questionario.component\";\r\nimport { VisualizarQuestionarioComponent } from \"./pages/unidade-gestora-form/shared/visualizar-questionario/visualizar-questionario.component\";\r\nimport { ImportacaoArquivoQuestionarioSharedComponent } from \"./pages/unidade-gestora-form/shared/importacao-arquivo-questionario/importacao-arquivo-questionario.component\";\r\nimport { ImprimirQuestionarioComponent } from \"./pages/unidade-gestora-form/shared/imprimir-questionario/imprimir-questionario.component\";\r\nimport { AvaliarQuestionarioComponent } from \"./pages/unidade-gestora-form/shared/avaliar-questionario/avaliar-questionario.component\";\r\nimport { VisualizarRelatoriaComponent } from \"./shared/components/relatoria/visualizar-relatoria/visualizar-relatoria.component\";\r\nimport { imprimirLinhaDoTempoComponent } from \"./shared/components/relatoria/imprimir-linha-do-tempo/imprimir-linha-do-tempo.component\";\r\nimport { TipoUniversoListComponent } from \"./pages/tipo-universo-list/tipo-universo-list.component\";\r\nimport { TipoUniversoFormComponent } from \"./pages/tipo-universo-form/tipo-universo-form.component\";\r\nimport { VisualizarMaturidadeDeRiscoComponent } from \"./pages/unidade-gestora-form/aba-maturidade-risco/visualizar-maturidade-de-risco/visualizar-maturidade-de-risco.component\";\r\nimport {\r\n GerarUniversoAuditavelComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/gerar-universo-auditavel/gerar-universo-auditavel.component\";\r\nimport {\r\n ImportarArquivoUniversoAuditavelComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/importar-arquivo-universo-auditavel/importar-arquivo-universo-auditavel.component\";\r\nimport {\r\n UniversoAuditavelFormComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/universo-auditavel-form/universo-auditavel-form.component\";\r\nimport {\r\n UniversoAuditavelPreechimentoFormComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/universo-auditavel-preechimento-form/universo-auditavel-preechimento-form.component\";\r\nimport {\r\n VisualizarUniversoAuditavelComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/visualizar-universo-auditavel/visualizar-universo-auditavel.component\";\r\nimport { CriteriosAvaliacaoListComponent } from \"./pages/criterios-avaliacao-list/criterios-avaliacao-list.component\";\r\nimport { CriteriosAvaliacaoFormComponent } from \"./pages/criterios-avaliacao-form/criterios-avaliacao-form.component\";\r\nimport {\r\n\tGerarComponent\r\n} from \"./pages/unidade-gestora-form/aba-riscos-chaves/gerar/gerar.component\";\r\nimport { RiscosChavesFormComponent } from \"./pages/unidade-gestora-form/aba-riscos-chaves/riscos-chaves-form/riscos-chaves-form.component\";\r\nimport { AbaRiscosChavesComponent } from \"./pages/unidade-gestora-form/aba-riscos-chaves/aba-riscos-chaves.component\";\r\nimport { PreenchimentoRiscosCriteriosComponent } from \"./pages/unidade-gestora-form/aba-riscos-chaves/preenchimento-riscos-criterios/preenchimento-riscos-criterios.component\";\r\nimport {\r\n ImportarArquivoRiscosChavesComponent\r\n} from \"./pages/unidade-gestora-form/aba-riscos-chaves/importar-arquivo-riscos-chaves/importar-arquivo-risco-chaves.component\";\r\n\r\n\r\n//A ordem das rotas importa: primeiro /novo, depois os próximos\r\n\r\nconst routes: Routes = [\r\n\t{\r\n\t\tpath: \"\",\r\n\t\tcomponent: MainComponent,\r\n\t\tcanActivateChild: [AuthGuard],\r\n\t\tchildren: [\r\n\t\t\t{\r\n\t\t\t\tpath: \"osa\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOSA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OsaComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"osa/:id/elaborar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOSA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Elaborar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OsaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"osa/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOSA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OsaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"osa/:id/imprimir\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOSA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OsaImprimirComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"osa/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOSA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OsaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"imprimir-relatoria/:id/tipo-trabalho/:tipoTrabalho\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aprovacoes,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Relatoria,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImprimirRelatoriaComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"imprimir-relatoria/:id/espelho-relatorio\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aprovacoes,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Relatoria,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImprimirRelatoriaComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"visualizar-relatoria/:id/tipo-trabalho/:tipoTrabalho\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aprovacoes,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Relatoria,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: VisualizarRelatoriaComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"imprimir-linha-do-tempo/:id/tipo-trabalho/:tipoTrabalho\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aprovacoes,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Relatoria,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: imprimirLinhaDoTempoComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"faixa-classificacao\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: FaixaClassificacaoFormComponent,\r\n\t\t\t},\r\n\r\n\t\t\t{\r\n\t\t\t\tpath: \"indicadores\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: IndicadorListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"indicadores/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: IndicadorFormComponent,\r\n\t\t\t\tcanDeactivate: [IndicadorGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"indicadores/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: IndicadorFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"indicadores/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: IndicadorFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipos-dispensa\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoDispensaListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipos-dispensa/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoDispensaFormComponent,\r\n\t\t\t\tcanDeactivate: [TipoDispensaGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipos-dispensa/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoDispensaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipos-dispensa/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoDispensaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"periodos\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PeriodoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"periodos/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PeriodoFormComponent,\r\n\t\t\t\tcanDeactivate: [PeriodoGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"periodos/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PeriodoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"criterios\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CriterioListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"criterios/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CriterioFormComponent,\r\n\t\t\t\tcanDeactivate: [CriterioGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"criterios/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CriterioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"criterio/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CriterioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipos-criterio\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoCriterioListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipos-criterio/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoCriterioFormComponent,\r\n\t\t\t\tcanDeactivate: [TipoCriterioGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipos-criterio/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoCriterioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipos-criterio/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoCriterioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"aprovacao\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aprovacoes,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: AprovacaoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"aprovacao/:tipoDocumentoAprovacao/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aprovacoes,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: AprovacaoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"perguntas\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PerguntaListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"perguntas/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PerguntaFormComponent,\r\n\t\t\t\tcanDeactivate: [PerguntaGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"perguntas/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PerguntaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"perguntas/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PerguntaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"coordenacoes\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CoordenacaoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"coordenacoes/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CoordenacaoFormComponent,\r\n\t\t\t\tcanDeactivate: [CoordenacaoGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"coordenacoes/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CoordenacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"coordenacoes/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CoordenacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"fase-atividade\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: FaseAtividadeListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"fase-atividade/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: FaseAtividadeFormComponent,\r\n\t\t\t\tcanDeactivate: [FaseAtividadeGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"fase-atividade/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: FaseAtividadeFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"fase-atividade/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: FaseAtividadeFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"natureza-responsabilidade\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: NaturezaResponsabilidadeListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"natureza-responsabilidade/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: NaturezaResponsabilidadeFormComponent,\r\n\t\t\t\tcanDeactivate: [NaturezaResponsabilidadeGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"natureza-responsabilidade/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: NaturezaResponsabilidadeFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"natureza-responsabilidade/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: NaturezaResponsabilidadeFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"calendario\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CalendarioListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"calendario/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CalendarioFormComponent,\r\n\t\t\t\tcanDeactivate: [CalendarioGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"calendario/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CalendarioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"calendario/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CalendarioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tecnica-auditoria\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TecnicaAuditoriaListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tecnica-auditoria/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TecnicaAuditoriaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tecnica-auditoria/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TecnicaAuditoriaFormComponent,\r\n\t\t\t\tcanDeactivate: [TecnicaAuditoriaGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tecnica-auditoria/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TecnicaAuditoriaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"recomendacao\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: RecomendacaoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"recomendacao/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: RecomendacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"recomendacao/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: RecomendacaoFormComponent,\r\n\t\t\t\tcanDeactivate: [RecomendacaoGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"recomendacao/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: RecomendacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"custo-recurso\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CustoRecursoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"custo-recurso/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CustoRecursoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"custo-recurso/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CustoRecursoFormComponent,\r\n\t\t\t\tcanDeactivate: [CustoRecursoGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"custo-recurso/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CustoRecursoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"procedimento-auditoria\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ProcedimentoAuditoriaListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"procedimento-auditoria/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ProcedimentoAuditoriaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"procedimento-auditoria/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ProcedimentoAuditoriaFormComponent,\r\n\t\t\t\tcanDeactivate: [ProcedimentoAuditoriaGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"procedimento-auditoria/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ProcedimentoAuditoriaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipos-auditoria\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoAuditoriaListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipos-auditoria/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoAuditoriaFormComponent,\r\n\t\t\t\tcanDeactivate: [TipoAuditoriaGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipos-auditoria/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoAuditoriaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipos-auditoria/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoAuditoriaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"capitulos-relatorio\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CapituloRelatorioListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"capitulos-relatorio/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CapituloRelatorioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"capitulos-relatorio/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CapituloRelatorioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"parametrizacao-documento-edocs\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Configuracoes,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ParametrizacaoDocumentoEdocsFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"modelos-relatorio\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ModeloRelatorioListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"modelos-relatorio/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ModeloRelatorioFormComponent,\r\n\t\t\t\tcanDeactivate: [ModeloRelatorioGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"modelos-relatorio/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ModeloRelatorioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"modelos-relatorio/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ModeloRelatorioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"pea\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPEA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PeaListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"pea/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPEA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PeaFormComponent,\r\n\t\t\t\tcanDeactivate: [PeaGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"pea/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPEA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PeaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"pea/:id/editar-relatoria\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPEA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PeaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"pea/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPEA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PeaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"fluxos-aprovacao\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Configuracoes,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: FluxoAprovacaoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"fluxos-aprovacao/novo\",\r\n\t\t\t\tdata: { recurso: EnumRecursoPerfil.Configuracoes },\r\n\t\t\t\tcomponent: FluxoAprovacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"fluxos-aprovacao/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Configuracoes,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: FluxoAprovacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"fluxos-aprovacao/:id/visualizar\",\r\n\t\t\t\tdata: { recurso: EnumRecursoPerfil.Configuracoes },\r\n\t\t\t\tcomponent: FluxoAprovacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"pea/:id/relatorio-simplificado\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPEA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PeaRelatorioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"pea/:id/relatorio-consolidado\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPEA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PeaRelatorioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"pea/:id/espelho-relatorio-consolidado\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPEA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PeaRelatorioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"rolresponsaveis\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: RolResponsaveisListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"rolresponsaveis/relatorio\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImprimirRolResponsaveisComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"rolresponsaveis/relatorio/unidades-gestoras\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImprimirRolResponsavelUnidadeGestoraComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"rolresponsaveis/:id/responsaveis\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: RolResponsaveisFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"rolresponsaveis/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: RolResponsaveisFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"unidades-gestoras\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: UnidadeGestoraListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"unidades-gestoras/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: UnidadeGestoraFormComponent,\r\n\t\t\t\tcanDeactivate: [UnidadeGestoraGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"unidades-gestoras/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacoes: [EnumAcaoRecurso.Editar, EnumAcaoRecurso.Visualizar, , EnumAcaoRecurso.Consultar]\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: UnidadeGestoraFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"unidades-gestoras/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: UnidadeGestoraFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questionario/pea\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: QuestionarioListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questionario/pea/:id/criterio/:criterioId/ug/:unidadeGestoraId\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: QuestionarioFormComponent,\r\n\t\t\t\tcanDeactivate: [QuestionarioGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questionario/pea/:id/criterio/:criterioId/ug/:unidadeGestoraId/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: QuestionarioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questionario/paa\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: QuestionarioListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questionario/paa/:id/criterio/:criterioId/ug/:unidadeGestoraId\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: QuestionarioFormComponent,\r\n\t\t\t\tcanDeactivate: [QuestionarioGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questionario/paa/:id/criterio/:criterioId/ug/:unidadeGestoraId/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: QuestionarioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"parametrizacoes\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Configuracoes,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ParametrizacaoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"\",\r\n\t\t\t\tcomponent: InicialComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"paa\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPAA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PaaListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"paa/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPAA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PaaElaborarComponent,\r\n\t\t\t\tcanDeactivate: [PaaGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"paa/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPAA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PaaElaborarComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"paa/:id/editar-relatoria\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPAA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PaaElaborarComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"paa/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPAA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PaaElaborarComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"pendencias\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PendenciaListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"opa\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOPA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OpaListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"opa/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOPA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OpaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"opa/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOPA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OpaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"opa/:id/nova-versao\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOPA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.GerarNovaVersao,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OpaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"opa/:id/editar-relatoria\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOPA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OpaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"opa/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOPA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OpaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"opa/:id/relatorio\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOPA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OpaRelatorioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"opa/:id/relatorio-consolidado\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOPA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OpaRelatorioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"paa/:id/relatorio\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPAA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PaaRelatorioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"log\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.LogsDoSistema,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: LogListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"log/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.LogsDoSistema,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Detalhar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: LogFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"constatacao\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ConstatacaoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"constatacao/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ConstatacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"constatacao/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ConstatacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"constatacao/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ConstatacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questao\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: QuestaoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questao/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: QuestaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questao/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: QuestaoFormComponent,\r\n\t\t\t\tcanDeactivate: [QuestaoGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questao/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: QuestaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"paa/:id/espelho-relatorio\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterPAA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PaaRelatorioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"opa/:id/espelho-relatorio\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOPA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OpaRelatorioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"osa/:id/espelho-relatorio\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOSA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: OsaImprimirComponent,\r\n\t\t\t},\r\n\r\n\t\t\t{\r\n\t\t\t\tpath: \"periodos/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PeriodoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"matriz-planejamento\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: MatrizPlanejamentoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"matriz-planejamento/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: MatrizPlanejamentoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"matriz-planejamento/:id/edicao\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: MatrizPlanejamentoFormComponent,\r\n\t\t\t\tcanDeactivate: [MatrizPlanejamentoGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"matriz-planejamento/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: MatrizPlanejamentoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"matriz-planejamento/relatorio/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: MatrizPlanejamentoRelatorioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"subtipo-auditoria\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: SubtipoAuditoriaListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"subtipo-auditoria/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: SubtipoAuditoriaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"subtipo-auditoria/:id/edicao\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: SubtipoAuditoriaFormComponent,\r\n\t\t\t\tcanDeactivate: [SubtipoAuditoriaGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"subtipo-auditoria/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: SubtipoAuditoriaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"planejamento\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Planejamento,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PlanejamentoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"planejamento/:id/planejar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Planejamento,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Planejar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PlanejamentoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"planejamento/:id/editar-relatoria\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Planejamento,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Planejar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PlanejamentoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"planejamento/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Planejamento,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: PlanejamentoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"planejamento/:id/imprimir\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Planejamento,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImprimirComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"planejamento/:id/planejar/amostra/:amostraId/imprimir\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Planejamento,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImprimirAmostraComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \":tipoTrabalho/:id/solicitacao-tecnica/:solicitacaotecnicaId/imprimir\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImprimirSolicitacaoComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"osa/:id/editar-relatoria\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOSA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImprimirAmostraComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"osa/:id/planejar/amostra/:amostraId/imprimir\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.ManterOSA,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImprimirAmostraComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"auditoria\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Auditoria,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Consultar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: AuditoriaListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"solicitacao-tecnica\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: SolicitacaoTecnicaListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"solicitacao-tecnica/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: SolicitacaoTecnicaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"solicitacao-tecnica/:id/responder\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: SolicitacaoTecnicaFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"matriz-planejamento-visualizar/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: MatrizPlanejamentoVisualizarComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipo-enfase\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoEnfaseListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipo-enfase/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoEnfaseFormComponent,\r\n\t\t\t\tcanDeactivate: [TipoEnfaseGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipo-enfase/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoEnfaseFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipo-enfase/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoEnfaseFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"agente-publico\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: AgentePublicoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"agente-publico/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: AgentePublicoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"agente-publico/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: AgentePublicoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"categoria-risco\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.CadastroCategoriaRisco,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CategoriaRiscoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"categoria-risco/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.CadastroCategoriaRisco,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CategoriaRiscoFormComponent,\r\n\t\t\t\tcanDeactivate: [CategoriaRiscoGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"categoria-risco/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.CadastroCategoriaRisco,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CategoriaRiscoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"categoria-risco/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.CadastroCategoriaRisco,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CategoriaRiscoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"riscos\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.CadastroRiscos,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: RiscosListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"riscos/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.CadastroRiscos,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: RiscosFormComponent,\r\n\t\t\t\tcanDeactivate: [RiscosGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"riscos/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.CadastroRiscos,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: RiscosFormComponent,\r\n\t\t\t\tcanDeactivate: [RiscosGuard],\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"riscos/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.CadastroRiscos,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: RiscosFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"criteriosAvaliacao\",\r\n\t\t\t\t// data: {\r\n\t\t\t\t// \trecurso: EnumRecursoPerfil.CriteriosAvaliacaoRiscos,\r\n\t\t\t\t// \tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t// },\r\n\t\t\t\tcomponent: CriteriosAvaliacaoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"criteriosAvaliacao/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.CriteriosAvaliacaoRiscos,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CriteriosAvaliacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"criteriosAvaliacao/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.CriteriosAvaliacaoRiscos,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CriteriosAvaliacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"criteriosAvaliacao/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.CriteriosAvaliacaoRiscos,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: CriteriosAvaliacaoFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"modelo-questionario\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ModeloQuestionarioListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"modelo-questionario/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ModeloQuestionarioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"modelo-questionario/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ModeloQuestionarioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"modelo-questionario/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ModeloQuestionarioFormComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"gerar-questionario\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: GerarQuestionarioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"gerar-questionario-shared\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: GerarQuestionarioSharedComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"editar-entendendo-entidade/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: EditarEntendendoEntidadeComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"visualizar-entendendo-entidade/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: VisualizarEntendendoEntidadeComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"imprimir-entendendo-entidade/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImprimirEntendendoEntidadeComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"importacao-arquivo-questionario\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImportacaoArquivoQuestionarioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"unidades-gestoras/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Cadastros,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: UnidadeGestoraFormComponent\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"visualizar-maturidade-de-risco/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: VisualizarMaturidadeDeRiscoComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questionario/pre-planejamento\",\r\n\t\t\t\tdata: { recurso: EnumRecursoPerfil.PrePlanejamento, acao: EnumAcaoRecurso.Visualizar},\r\n\t\t\t\tcomponent: PrePlanejamentoListComponent\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questionario/pre-planejamento-resposta/:id\",\r\n\t\t\t\tdata: { recurso: EnumRecursoPerfil.PrePlanejamento, acao: EnumAcaoRecurso.Editar},\r\n\t\t\t\tcomponent: PrePlanejamentoRespostaFormComponent\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questionario/pre-planejamento-resposta/:id/visualizar\",\r\n\t\t\t\tdata: { recurso: EnumRecursoPerfil.PrePlanejamento, acao: EnumAcaoRecurso.Visualizar},\r\n\t\t\t\tcomponent: PrePlanejamentoRespostaFormComponent\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"questionario/pre-planejamento-resposta/:id/imprimir\",\r\n\t\t\t\tdata: { recurso: EnumRecursoPerfil.PrePlanejamento,\r\n\t\t\t\t\t acao: EnumAcaoRecurso.Imprimir,\r\n\t\t\t\t\t\t imprimir: true},\r\n\t\t\t\tcomponent: PrePlanejamentoRespostaFormComponent\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"editar-questionario/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: EditarQuestionarioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"visualizar-questionario/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: VisualizarQuestionarioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"importacao-arquivo-questionario-shared\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImportacaoArquivoQuestionarioSharedComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"imprimir-questionario/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: ImprimirQuestionarioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"avaliar-questionario/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: AvaliarQuestionarioComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipo-universo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.Aberto,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoUniversoListComponent,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipo-universo/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.TipoUniversoAuditavel,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoUniversoFormComponent\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipo-universo/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.TipoUniversoAuditavel,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoUniversoFormComponent\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: \"tipo-universo/:id/visualizar\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.TipoUniversoAuditavel,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: TipoUniversoFormComponent\r\n\t\t\t},\r\n {\r\n\t\t\t\tpath: \"tipo-universo-auditavel/novo\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.TipoUniversoAuditavel,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: GerarUniversoAuditavelComponent\r\n\t\t\t},\r\n {\r\n\t\t\t\tpath: \"universo-auditavel-form/:id\",\r\n\t\t\t\tdata: {\r\n\t\t\t\t\trecurso: EnumRecursoPerfil.TipoUniversoAuditavel,\r\n\t\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t\t},\r\n\t\t\t\tcomponent: UniversoAuditavelFormComponent\r\n\t\t\t},\r\n {\r\n path: \"universo-auditavel-preechimento-form\",\r\n data: {\r\n recurso: EnumRecursoPerfil.TipoUniversoAuditavel,\r\n acao: EnumAcaoRecurso.Inserir,\r\n },\r\n component: UniversoAuditavelPreechimentoFormComponent\r\n },\r\n {\r\n path: \"visualizar-universo-auditavel/:id\",\r\n data: {\r\n recurso: EnumRecursoPerfil.TipoUniversoAuditavel,\r\n acao: EnumAcaoRecurso.Visualizar,\r\n },\r\n component: VisualizarUniversoAuditavelComponent\r\n },\r\n {\r\n path: \"importar-arquivo-universo-auditavel/novo\",\r\n data: {\r\n recurso: EnumRecursoPerfil.TipoUniversoAuditavel,\r\n acao: EnumAcaoRecurso.Inserir,\r\n },\r\n component: ImportarArquivoUniversoAuditavelComponent\r\n },\r\n\t {\r\n\t\tpath: \"riscos-chaves\",\r\n\t\tdata: {\r\n\t\t\trecurso: EnumRecursoPerfil.Aberto ,\r\n\t\t\tacao: EnumAcaoRecurso.Visualizar,\r\n\t\t},\r\n\t\tcomponent: AbaRiscosChavesComponent\r\n\t },\r\n\t {\r\n\t\tpath: \"gerar\",\r\n\t\tdata: {\r\n\t\t\trecurso: EnumRecursoPerfil.QuestionarioEntentendoEntidade ,\r\n\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t},\r\n\t\tcomponent: GerarComponent\r\n\t },\r\n\t {\r\n\t\tpath: \"riscos-chaves-form/:id\",\r\n\t\tdata: {\r\n\t\t\trecurso: EnumRecursoPerfil.QuestionarioEntentendoEntidade ,\r\n\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t},\r\n\t\t\tcomponent: RiscosChavesFormComponent\r\n\t\t},\r\n\t\t{\r\n\t\t\tpath: \"riscos-chaves-form/novo\",\r\n\t\t\tdata: {\r\n\t\t\t\trecurso: EnumRecursoPerfil.QuestionarioEntentendoEntidade ,\r\n\t\t\t\tacao: EnumAcaoRecurso.Inserir,\r\n\t\t\t},\r\n\t\t\t\tcomponent: RiscosChavesFormComponent\r\n\t\t\t},\r\n\t\t{\r\n\t\t\tpath: \"preenchimento-riscos-criterios/:id/:processoId\",\r\n\t\t\tdata: {\r\n\t\t\t\trecurso: EnumRecursoPerfil.QuestionarioEntentendoEntidade ,\r\n\t\t\t\tacao: EnumAcaoRecurso.Editar,\r\n\t\t\t},\r\n\t\t\t\tcomponent: PreenchimentoRiscosCriteriosComponent\r\n\t\t\t},\r\n {\r\n path: \"importar-arquivo-riscos-chaves/novo\",\r\n data: {\r\n recurso: EnumRecursoPerfil.TipoUniversoAuditavel,\r\n acao: EnumAcaoRecurso.Inserir,\r\n },\r\n component: ImportarArquivoRiscosChavesComponent\r\n },\r\n\t\t]\r\n\t},\r\n\r\n\t{ path: \"**\", redirectTo: \"\" },\r\n];\r\n\r\n@NgModule({\r\n\tdeclarations: [],\r\n\timports: [RouterModule.forRoot(routes)],\r\n\texports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from './services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n})\r\nexport class AppComponent implements OnInit {\r\n title = 'secont-siac-app';\r\n\r\n constructor(private authService: AuthService) { }\r\n\r\n ngOnInit() {\r\n this.authService.obterPerfilUsuario();\r\n }\r\n}\r\n","\r\n\r\n

Processando...

\r\n\r\n\r\n","import { ModalExcluirMetricaComponent } from \"./pages/pergunta-form/modal-metrica-pergunta/modal-excluir-metrica/modal-excluir-metrica.component\";\r\ndefineLocale(\"pt-br\", ptBrLocale);\r\n\r\nimport { DragDropModule } from \"@angular/cdk/drag-drop\";\r\nimport { CdkTableModule } from \"@angular/cdk/table\";\r\nimport { CommonModule, registerLocaleData } from \"@angular/common\";\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from \"@angular/common/http\";\r\nimport ptBr from \"@angular/common/locales/pt\";\r\nimport { DEFAULT_CURRENCY_CODE, LOCALE_ID, NgModule } from \"@angular/core\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { MatCheckboxModule } from \"@angular/material/checkbox\";\r\nimport {\r\n\tMatDialogModule,\r\n\tMatDialogRef,\r\n\tMAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport {\r\n\tMatPaginatorIntl,\r\n\tMatPaginatorModule,\r\n} from \"@angular/material/paginator\";\r\nimport { MatSortModule } from \"@angular/material/sort\";\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatTableModule } from \"@angular/material/table\";\r\nimport { MatToolbarModule } from \"@angular/material/toolbar\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { NgbModule } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { LoadingBarHttpClientModule } from \"@ngx-loading-bar/http-client\";\r\nimport { LoadingBarRouterModule } from \"@ngx-loading-bar/router\";\r\nimport { ConfirmationPopoverModule } from \"angular-confirmation-popover\";\r\nimport { defineLocale } from \"ngx-bootstrap/chronos\";\r\nimport { BsDatepickerModule } from \"ngx-bootstrap/datepicker\";\r\nimport { ptBrLocale } from \"ngx-bootstrap/locale\";\r\nimport { ModalModule } from \"ngx-bootstrap/modal\";\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { AppRoutingModule } from \"./app-routing.module\";\r\nimport { AppComponent } from \"./app.component\";\r\nimport { getPtBrPaginatorIntl } from \"./core/helpers/ptbr-paginator-intl\";\r\nimport { AuthInterceptor } from \"./core/http/auth.interceptor\";\r\nimport { CapituloRelatorioFormComponent } from \"./pages/capitulo-relatorio-form/capitulo-relatorio-form.component\";\r\nimport { CapituloRelatorioListComponent } from \"./pages/capitulo-relatorio-list/capitulo-relatorio-list.component\";\r\nimport { CoordenacaoFormComponent } from \"./pages/coordenacao-form/coordenacao-form.component\";\r\nimport { CoordenacaoListComponent } from \"./pages/coordenacao-list/coordenacao-list.component\";\r\nimport { CalendarioFormComponent } from \"./pages/calendario-form/calendario-form.component\";\r\nimport { CalendarioListComponent } from \"./pages/calendario-list/calendario-list.component\";\r\nimport { CriterioFormComponent } from \"./pages/criterio-form/criterio-form.component\";\r\nimport { ModalMetricaNumericoComponent } from \"./pages/criterio-form/modal-metrica-numerico/modal-metrica-numerico.component\";\r\nimport { ModalMetricaOpcoesComponent } from \"./pages/criterio-form/modal-metrica-opcoes/modal-metrica-opcoes.component\";\r\nimport { CriterioListComponent } from \"./pages/criterio-list/criterio-list.component\";\r\nimport { ErroComponent } from \"./pages/erro/erro.component\";\r\nimport { FaixaClassificacaoFormComponent } from \"./pages/faixa-classificacao-form/faixa-classificacao-form.component\";\r\nimport { FluxoAprovacaoFormComponent } from \"./pages/fluxo-aprovacao-form/fluxo-aprovacao-form.component\";\r\nimport { FluxoAprovacaoListComponent } from \"./pages/fluxo-aprovacao-list/fluxo-aprovacao-list.component\";\r\nimport { IndicadorFormComponent } from \"./pages/indicador-form/indicador-form.component\";\r\nimport { IndicadorListComponent } from \"./pages/indicador-list/indicador-list.component\";\r\nimport { InicialComponent } from \"./pages/inicial/inicial.component\";\r\nimport { ModeloRelatorioFormComponent } from \"./pages/modelo-relatorio-form/modelo-relatorio-form.component\";\r\nimport { ModeloRelatorioListComponent } from \"./pages/modelo-relatorio-list/modelo-relatorio-list.component\";\r\nimport { ParametrizacaoDocumentoEdocsFormComponent } from \"./pages/parametrizacao-documento-edocs-form/parametrizacao-documento-edocs-form.component\";\r\nimport { ModalParametrizacaoFormComponent } from \"./pages/parametrizacao-list/modal-parametrizacao-form/modal-parametrizacao-form.component\";\r\nimport { ParametrizacaoListComponent } from \"./pages/parametrizacao-list/parametrizacao-list.component\";\r\nimport { ModalCapacidadeComponent } from \"./pages/pea-form/modal-capacidade/modal-capacidade.component\";\r\nimport { ModalImportarArquivoCriterioComponent } from \"./pages/pea-form/modal-importar-arquivo-criterio/modal-importar-arquivo-criterio.component\";\r\nimport { ModalPreencherFormularioComponent } from \"./pages/pea-form/modal-preencher-formulario/modal-preencher-formulario.component\";\r\nimport { ModalSelecionarCoordenacoesComponent } from \"./pages/pea-form/modal-selecionar-coordenacoes/modal-selecionar-coordenacoes.component\";\r\nimport { ModalSelecionarUgComponent } from \"./pages/pea-form/modal-selecionar-ug/modal-selecionar-ug.component\";\r\nimport { ModalVisualizarRespostasComponent } from \"./pages/pea-form/modal-visualizar-respostas/modal-visualizar-respostas.component\";\r\nimport { PeaFormComponent } from \"./pages/pea-form/pea-form.component\";\r\nimport { PeaListComponent } from \"./pages/pea-list/pea-list.component\";\r\nimport { PeaRelatorioComponent } from \"./pages/pea-relatorio/pea-relatorio.component\";\r\nimport { PaaRelatorioComponent } from \"./pages/paa-relatorio/paa-relatorio.component\";\r\nimport { PerguntaFormComponent } from \"./pages/pergunta-form/pergunta-form.component\";\r\nimport { PerguntaListComponent } from \"./pages/pergunta-list/pergunta-list.component\";\r\nimport { PeriodoFormComponent } from \"./pages/periodo-form/periodo-form.component\";\r\nimport { PeriodoListComponent } from \"./pages/periodo-list/periodo-list.component\";\r\nimport { QuestionarioFormComponent } from \"./pages/questionario-form/questionario-form.component\";\r\nimport { QuestionarioListComponent } from \"./pages/questionario-list/questionario-list.component\";\r\nimport { TipoAuditoriaFormComponent } from \"./pages/tipo-auditoria-form/tipo-auditoria-form.component\";\r\nimport { TipoAuditoriaListComponent } from \"./pages/tipo-auditoria-list/tipo-auditoria-list.component\";\r\nimport { TipoCriterioFormComponent } from \"./pages/tipo-criterio-form/tipo-criterio-form.component\";\r\nimport { TipoCriterioListComponent } from \"./pages/tipo-criterio-list/tipo-criterio-list.component\";\r\nimport { TipoDispensaFormComponent } from \"./pages/tipo-dispensa-form/tipo-dispensa-form.component\";\r\nimport { TipoDispensaListComponent } from \"./pages/tipo-dispensa-list/tipo-dispensa-list.component\";\r\nimport { UnidadeGestoraFormComponent } from \"./pages/unidade-gestora-form/unidade-gestora-form.component\";\r\nimport { ModalAssociarComponent } from \"./pages/unidade-gestora-list/modal-associar/modal-associar.component\";\r\nimport { ModalImportacaoComponent } from \"./pages/unidade-gestora-list/modal-importacao/modal-importacao.component\";\r\nimport { UnidadeGestoraListComponent } from \"./pages/unidade-gestora-list/unidade-gestora-list.component\";\r\nimport { AuthService } from \"./services/auth.service\";\r\nimport { AppButtonComponent } from \"./shared/components/app-button/app-button.component\";\r\nimport { BaseFormComponent } from \"./shared/components/base-form/base-form.component\";\r\nimport { BaseListComponent } from \"./shared/components/base-list/base-list.component\";\r\nimport { LookupModalComponent } from \"./shared/components/lookup-modal/lookup-modal.component\";\r\nimport { FooterComponent } from \"./shared/layout/footer/footer.component\";\r\nimport { HeaderComponent } from \"./shared/layout/header/header.component\";\r\nimport { UserDropdownMenuComponent } from \"./shared/layout/header/user-dropdown-menu/user-dropdown-menu.component\";\r\nimport { MainComponent } from \"./shared/layout/main/main.component\";\r\nimport { SidebarComponent } from \"./shared/layout/sidebar/sidebar.component\";\r\nimport { PaaListComponent } from \"./pages/paa-list/paa-list.component\";\r\nimport { MatTabsModule } from \"@angular/material/tabs\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { PaaElaborarComponent } from \"./pages/paa-elaborar/paa-elaborar.component\";\r\nimport { MatSelectModule } from \"@angular/material/select\";\r\nimport { ModalCapacidadeDispensaComponent } from \"./pages/paa-elaborar/modal-capacidade-dispensa/modal-capacidade-dispensa.component\";\r\nimport { ModalAlocarEquipeComponent } from \"./pages/paa-elaborar/modal-alocar-equipe/modal-alocar-equipe.component\";\r\nimport { ModalSelecionarUGComponent } from \"./pages/paa-elaborar/modal-selecionar-ug/modal-selecionar-ug.component\";\r\nimport { ModalSelecionarColunasComponent } from \"./pages/paa-elaborar/modal-selecionar-colunas/modal-selecionar-colunas.component\";\r\nimport { ModalCadastrarCriterioComponent } from \"./pages/paa-elaborar/modal-cadastrar-criterio/modal-cadastrar-criterio.component\";\r\nimport { ModalCadastrarIndicadorComponent } from \"./pages/paa-elaborar/modal-cadastrar-indicador/modal-cadastrar-indicador.component\";\r\nimport { ModalConfirmarReativacaoDistribuicaoComponent } from \"./pages/paa-elaborar/modal-confirmar-reativacao-distribuicao/modal-confirmar-reativacao-distribuicao.component\";\r\nimport { PendenciaListComponent } from \"./pages/pendencia-list/pendencia-list.component\";\r\nimport { ModalGraficoDistribuicaoComponent } from \"./pages/paa-elaborar/modal-grafico-distribuicao/modal-grafico-distribuicao.component\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { ModalConfirmarRejeitarComponent } from \"./shared/components/modal-confirmacao-rejeitar/modal-confirmacao-rejeitar.component\";\r\nimport { AngularEditorModule } from \"@kolkov/angular-editor\";\r\nimport { ModalPreencherFormularioPaaComponent } from \"./pages/paa-elaborar/modal-preencher-formulario/modal-preencher-formulario-paa.component\";\r\nimport { OpaListComponent } from \"./pages/opa/list/opa-list.component\";\r\nimport { PeaGuard } from \"./core/guards/pea.guard\";\r\nimport { QuestionarioGuard } from \"./core/guards/questionario.guard\";\r\nimport { ModalDelegarQuestionarioComponent } from \"./pages/questionario-form/modal-delegar/modal-delegar-component\";\r\nimport { ModalCancelarComponent } from \"./shared/components/modal-cancelar/modal-cancelar-component\";\r\nimport { TipoCriterioGuard } from \"./core/guards/tipoCriterio.guard\";\r\nimport { CriterioGuard } from \"./core/guards/criterio.guard\";\r\nimport { PeriodoGuard } from \"./core/guards/periodo.guard\";\r\nimport { IndicadorGuard } from \"./core/guards/Indicador.guard\";\r\nimport { TipoAuditoriaGuard } from \"./core/guards/tipoAuditoria.guard\";\r\nimport { TipoDispensaGuard } from \"./core/guards/tipoDispensa.guard\";\r\nimport { UnidadeGestoraGuard } from \"./core/guards/tipoDispensa.guard\";\r\nimport { CoordenacaoGuard } from \"./core/guards/coordenacao.guard\";\r\nimport { ModalAutuacaoComponent } from \"./pages/pea-form/modal-autuacao/modal-autuacao.component\";\r\nimport { ModalEntranharComponent } from \"./pages/paa-elaborar/modal-entranhar/modal-entranhar.component\";\r\nimport { TecnicaAuditoriaListComponent } from \"./pages/tecnica-auditoria-list/tecnica-auditoria-list.component\";\r\nimport { TecnicaAuditoriaFormComponent } from \"./pages/tecnica-auditoria-form/tecnica-auditoria-form.component\";\r\nimport { LogListComponent } from \"./pages/log-sistema-list/log-list.component\";\r\nimport { CustoRecursoListComponent } from \"./pages/custo-recurso-list/custo-recurso-list.component\";\r\nimport { CustoRecursoFormComponent } from \"./pages/custo-recurso-form/custo-recurso-form.component\";\r\nimport { ProcedimentoAuditoriaListComponent } from \"./pages/procedimento-auditoria-list/procedimento-auditoria-list.component\";\r\nimport { ProcedimentoAuditoriaFormComponent } from \"./pages/procedimento-auditoria-form/procedimento-auditoria-form.component\";\r\nimport { LogFormComponent } from \"./pages/log-sistema-form/log-form.component\";\r\nimport { RecomendacaoListComponent } from \"./pages/recomendacao-list/recomendacao-list.component\";\r\nimport { RecomendacaoFormComponent } from \"./pages/recomendacao-form/recomendacao-form.component\";\r\nimport { ConstatacaoListComponent } from \"./pages/constatacao-list/constatacao-list.component\";\r\nimport { ConstatacaoFormComponent } from \"./pages/constatacao-form/constatacao-form.component\";\r\nimport { ModalRecomendacaoComponent } from \"./pages/constatacao-form/modal-recomendacao/modal-recomendacao.component\";\r\nimport { QuestaoListComponent } from \"./pages/questao-list/questao-list.component\";\r\nimport { QuestaoFormComponent } from \"./pages/questao-form/questao-form.component\";\r\nimport { ModalConstatacaoComponent } from \"./pages/constatacao-form/modal-constatacao/modal-constatacao.component\";\r\nimport { ModalProcedimentoAuditoriaComponent } from \"./pages/procedimento-auditoria-form/modal-procedimento-auditoria/modal-procedimento-auditoria.component\";\r\nimport { OpaFormComponent } from \"./pages/opa/form/opa-form.component\";\r\nimport { LookupMultiselectModalComponent } from \"./shared/components/lookup-multiselect-modal/lookup-multiselect-modal.component\";\r\nimport { ModalAlocarEquipeOpaComponent } from \"./pages/opa/modal/modal-alocar-equipe/modal-alocar-equipe-opa.component\";\r\nimport { MatrizPlanejamentoListComponent } from \"./pages/matriz-planejamento-list/matriz-planejamento-list.component\";\r\nimport { MatrizPlanejamentoFormComponent } from \"./pages/matriz-planejamento-form/matriz-planejamento-form.component\";\r\nimport { MatrizPlanejamentoRelatorioComponent } from \"./pages/matriz-planejamento-relatorio/matriz-planejamento-relatorio.component\";\r\nimport { ImprimirRolResponsaveisComponent } from \"./pages/rol-responsavel-relatoria/imprimir-rol-responsaveis/imprimir-rol-responsaveis.component\";\r\nimport { RolResponsaveisFormComponent } from \"./pages/rol-responsaveis-form/rol-responsaveis-form.component\";\r\nimport { ModalIncluirResponsavelComponent } from \"./pages/rol-responsaveis-form/modal-incluir-responsaveis/modal-incluir-responsavel.component\";\r\nimport { ModalDetalharValorRiscoComponent } from \"./pages/pea-form/modal-detalhar-valor-risco/modal-detalhar-valor-risco.component\";\r\nimport { NaturezaResponsabilidadeFormComponent } from \"./pages/natureza-responsabilidade-form/natureza-responsabilidade-form.component\";\r\nimport { ModalCapituloComponent } from \"./pages/modelo-relatorio-form/modal-capitulo/modal-capitulo.component\";\r\nimport { ModalEnviarQuestionarioCriterioComponent } from \"./pages/pea-form/modal-enviar-questionario-criterio/modal-enviar-questionario-criterio.component\";\r\nimport { ModalVisualizarQuestionarioCriterioComponent } from \"./pages/pea-form/modal-visualizar-questionario-criterio/modal-visualizar-questionario-criterio.component\";\r\nimport { ModalVisualizarQuestionarioCriterioPaaComponent } from \"./pages/paa-elaborar/modal-visualizar-questionario-criterio/modal-visualizar-questionario-criterio.component\";\r\nimport { ModalAlocarEquipePlanejamentoComponent } from \"./pages/planejamento-form/modal-alocar-equipe/modal-alocar-equipe-planejamento.component\";\r\nimport { CalendarioGuard } from \"./core/guards/Calendario.guard\";\r\nimport { NaturezaResponsabilidadeGuard } from \"./core/guards/naturezaResponsabilidade.guard\";\r\nimport { PerguntaGuard } from \"./core/guards/pergunta.guard\";\r\nimport { ModeloRelatorioGuard } from \"./core/guards/modeloRelatorio.guard\";\r\nimport { SubtipoAuditoriaListComponent } from \"./pages/subtipo-auditoria-list/subtipo-auditoria-list.component\";\r\nimport { SubtipoAuditoriaFormComponent } from \"./pages/subtipo-auditoria-form/subtipo-auditoria-form.component\";\r\nimport { NaturezaResponsabilidadeListComponent } from \"./pages/natureza-responsabilidade-list/natureza-responsabilidade-list.component\";\r\nimport { MatChipsModule } from \"@angular/material/chips\";\r\nimport { MatRadioModule } from \"@angular/material/radio\";\r\nimport { ModalConfirmarInativacaoComponent } from \"./shared/components/modal-confirmar-inativacao/modal-confirmar-inativacao.component\";\r\nimport { NgSelectModule } from \"@ng-select/ng-select\";\r\nimport { PlanejamentoListComponent } from \"./pages/planejamento-list/planejamento-list.component\";\r\nimport { TecnicaAuditoriaGuard } from \"./core/guards/tecnicaAuditoria.guard\";\r\nimport { CustoRecursoGuard } from \"./core/guards/custoRecurso.guard\";\r\nimport { ProcedimentoAuditoriaGuard } from \"./core/guards/procedimentoAuditoria.guard\";\r\nimport { QuestaoGuard } from \"./core/guards/questao.guard\";\r\nimport { MatrizPlanejamentoGuard } from \"./core/guards/matrizPlanejamento.guard\";\r\nimport { RecomendacaoGuard } from \"./core/guards/recomendacao.guard\";\r\nimport { SubtipoAuditoriaGuard } from \"./core/guards/subtipoAuditoria.guard\";\r\nimport { PlanejamentoFormComponent } from \"./pages/planejamento-form/planejamento-form.component\";\r\nimport { ModalUgPlanejamentoComponent } from \"./pages/planejamento-form/modal-ug-planejamento/modal-ug-planejamento.component\";\r\nimport { OpaRelatorioComponent } from \"./pages/opa/relatorio/opa-relatorio.component\";\r\nimport { ModalImportarArquivoCriterioPaaComponent } from \"./pages/paa-elaborar/modal-importar-arquivo-criterio-paa/modal-importar-arquivo-criterio-paa.component\";\r\nimport { ModalSelecionarResponsavelComponent } from \"./pages/rol-responsaveis-form/modal-selecionar-responsavel/modal-selecionar-responsavel.component\";\r\nimport { ModalIncluirPeriodoExercicioComponent } from \"./pages/rol-responsaveis-form/modal-incluir-periodo-exercicio/modal-incluir-periodo-exercicio.component\";\r\nimport { RolResponsaveisListComponent } from \"./pages/rol-responsaveis-list/rol-responsaveis-list.component\";\r\nimport { ImprimirRolResponsavelUnidadeGestoraComponent } from \"./pages/rol-responsavel-relatoria-unidade-gestora/imprimir-rol-responsaveis/imprimir-rol-responsavel-unidade-gestora.component\";\r\nimport { ModalSelecionarUgImprimirComponent } from \"./pages/rol-responsavel-relatoria-unidade-gestora/imprimir-rol-responsaveis/modal-selecionar-ug-imprimir/modal-selecionar-ug-imprimir.component\";\r\nimport { AprovacaoListComponent } from \"./pages/aprovacao-list/aprovacao-list.component\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { ModalAvaliarComponent } from \"./pages/aprovacao-list/modal-avaliar/modal-avaliar.component\";\r\nimport { FaseAtividadeListComponent } from \"./pages/fase-atividade-list/fase-atividade-list.component\";\r\nimport { OsaComponent } from \"./pages/osa/osa.component\";\r\nimport { OsaListComponent } from \"./pages/osa/osa-list/osa-list.component\";\r\nimport { FiltroComponent } from \"./pages/osa/filtro-component/filtro-component.component\";\r\nimport { OsaFormComponent } from \"./pages/osa/osa-form/osa-form.component\";\r\nimport { OsaAbasComponent } from \"./pages/osa/osa-form/osa-abas/osa-abas.component\";\r\nimport { AbaInformacoesBasicasComponent } from \"./pages/osa/osa-form/aba-informacoes-basicas/aba-informacoes-basicas.component\";\r\nimport { FaseAtividadeFormComponent } from \"./pages/fase-atividade-form/fase-atividade-form.component\";\r\nimport { FaseAtividadeGuard } from \"./core/guards/faseAtividade.guard\";\r\nimport { AbaCronogramaComponent } from \"./shared/components/aba-cronograma/aba-cronograma.component\";\r\nimport { ModalAtividadeSubatividadeComponent } from \"./shared/components/aba-cronograma/modal-atividade-subatividade/modal-atividade-subatividade.component\";\r\nimport { OsaImprimirComponent } from \"./pages/osa/osa-imprimir/osa-imprimir.component\";\r\nimport { AbaAmostraComponent } from \"./shared/components/aba-amostra/aba-amostra.component\";\r\nimport { InserirAmostraComponent } from \"./shared/components/aba-amostra/inserir-amostra/inserir-amostra.component\";\r\nimport { ImprimirAmostraComponent } from \"./shared/components/aba-amostra/imprimir-amostra/imprimir-amostra.component\";\r\nimport { ModalRelatoriaCapituloComponent } from \"./shared/components/capitulo/modal-relatoria-capitulo/modal-relatoria-capitulo.component\";\r\nimport { CapituloComponent } from \"./shared/components/capitulo/capitulo.component\";\r\nimport { RelatoriaComponent } from \"./shared/components/relatoria/relatoria.component\";\r\nimport { ModalHistoricoRelatoriaComponent } from \"./shared/components/capitulo/modal-historico-relatoria/modal-historico-relatoria.component\";\r\nimport { ModalVisualizarHistoricoComponent } from \"./shared/components/capitulo/modal-historico-relatoria/modal-visualizar-historico/modal-visualizar-historico.component\";\r\nimport { ImprimirRelatoriaComponent } from \"./shared/components/relatoria/imprimir-relatoria/imprimir-relatoria.component\";\r\nimport { LinhaDoTempoComponent } from \"./shared/components/linha-do-tempo/linha-do-tempo.component\";\r\nimport { SanitizedHtmlPipe } from \"./shared/components/sanitized-html/sanitized-html.pipe\";\r\nimport { FaixaClassificacaoComponentComponent } from \"./shared/components/faixa-classificacao-component/faixa-classificacao-component.component\";\r\nimport { RankingPrioridadeComponent } from \"./shared/components/ranking-prioridade/ranking-prioridade.component\";\r\nimport { ModalRankingPrioridadeComponent } from \"./pages/paa-elaborar/modal-ranking-prioridade/modal-ranking-prioridade.component\";\r\nimport { LoadingInterceptor } from \"./core/http/loading.interceptor\";\r\nimport { KeyboardlockDirective } from \"./shared/directives/keyboardlock.directive\";\r\nimport { AlocarEquipeComponent } from \"./shared/components/alocar-equipe/alocar-equipe.component\";\r\nimport { AuditoriaListComponent } from \"./pages/auditoria-list/auditoria-list.component\";\r\nimport { AbaSolicitacaoTecnicaComponent } from \"./shared/components/aba-solicitacao-tecnica/aba-solicitacao-tecnica.component\";\r\nimport { IncluirSolicitacaoComponent } from \"./shared/components/aba-solicitacao-tecnica/modal-incluir-solicitacao/modal-incluir-solicitacao.component\";\r\nimport { ModalJustificativaComponent } from \"./shared/components/modal-justificativa/modal-justificativa.component\";\r\nimport { ModalIncluirItemComponent } from \"./shared/components/aba-solicitacao-tecnica/modal-incluir-item/modal-incluir-item.component\";\r\nimport { AbaMatrizPlanejamentoComponent } from \"./shared/components/aba-matriz-planejamento/aba-matriz-planejamento.component\";\r\nimport { ListagemQuestoesComponent } from \"./shared/components/aba-matriz-planejamento/listagem-questoes/listagem-questoes.component\";\r\nimport { ModalVisualizarRespostaComponent } from \"./shared/components/aba-solicitacao-tecnica/modal-visualizar-resposta/modal-visualizar-resposta.component\";\r\nimport { ModalAdicionarQuestoesComponent } from \"./shared/components/aba-matriz-planejamento/modal-adicionar-questoes/modal-adicionar-questoes.component\";\r\nimport { SolicitacaoTecnicaListComponent } from \"./pages/solicitacao-tecnica/list/solicitacao-tecnica-list.component\";\r\nimport { ModalVisualizarItemComponent } from \"./shared/components/aba-solicitacao-tecnica/modal-visualizar-item/modal-visualizar-item.component\";\r\nimport { ModalArquivoComponent } from \"./shared/components/modal-arquivo/modal-arquivo.component\";\r\nimport { ModalEditarQuestaoComponent } from \"./shared/components/aba-matriz-planejamento/modal-editar-questao/modal-editar-questao.component\";\r\nimport { SolicitacaoTecnicaFormComponent } from \"./pages/solicitacao-tecnica/solicitacao-tecnica-form/solicitacao-tecnica-form.component\";\r\nimport { ImprimirSolicitacaoComponent } from \"./shared/components/aba-solicitacao-tecnica/imprimir-solicitacao/imprimir-solicitacao.component\";\r\nimport { ModalItemSolicitacaoComponent } from \"./pages/solicitacao-tecnica/modal-item-solicitacao/modal-item-solicitacao.component\";\r\nimport { ModalIncluirUgComponent } from \"./shared/components/aba-solicitacao-tecnica/modal-incluir-ug/modal-incluir-ug.component\";\r\nimport { ModalIncluirUgComponentComponent } from \"./shared/components/unidade-gestora/modal-incluir-ug-component/modal-incluir-ug-component.component\";\r\nimport { UnidadeGestoraComponent } from \"./shared/components/unidade-gestora/unidade-gestora.component\";\r\nimport { ModalUgComponent } from \"./shared/components/aba-matriz-planejamento/modal-ug/modal-ug.component\";\r\nimport { ModalDelegarItemComponent } from \"./pages/solicitacao-tecnica/modal-delegar-item/modal-delegar-item/modal-delegar-item.component\";\r\nimport { CustosRecursosComponent } from \"./shared/components/custos-recursos/custos-recursos.component\";\r\nimport { ModalCustoRecursoPlanejamentoComponent } from \"./shared/components/custos-recursos/modal-custo-recurso-planejamento/modal-custo-recurso-planejamento.component\";\r\nimport { ImprimirComponent } from \"./pages/planejamento-form/imprimir/imprimir.component\";\r\nimport { ModalAvaliarProrrogacaoComponent } from \"./shared/components/aba-solicitacao-tecnica/modal-avaliar-prorrogacao/modal-avaliar-prorrogacao.component\";\r\nimport { MatrizPlanejamentoVisualizarComponent } from \"./pages/planejamento-form/matriz-planejamento-visualizar/matriz-planejamento-visualizar.component\";\r\nimport { TipoEnfaseListComponent } from \"./pages/tipo-enfase-list/tipo-enfase-list.component\";\r\nimport { TipoEnfaseFormComponent } from \"./pages/tipo-enfase-form/tipo-enfase-form.component\";\r\nimport { TipoEnfaseGuard } from \"./core/guards/tipoEnfase.guard\";\r\nimport { HistoricoModalComponent } from \"./shared/components/historico-modal/historico-modal.component\";\r\nimport { GroupByPipe } from \"./shared/pipes/groupby-pipe\";\r\nimport { ModalEnviarQuestionarioCriterioPaaComponent } from \"./pages/paa-elaborar/modal-enviar-questionario-criterio/modal-enviar-questionario-criterio.component\";\r\nimport { MenuItemComponent } from \"./shared/layout/menuitem/menuitem.component\";\r\nimport { AgentePublicoListComponent } from \"./pages/agente-publico-list/agente-publico-list.component\";\r\nimport { AgentePublicoFormComponent } from \"./pages/agente-publico-form/agente-publico-form.component\";\r\nimport { AgentePublicoAbaDadosBasicosComponent } from \"./pages/agente-publico-form/aba-dados-basicos/aba-dados-basicos.component\";\r\nimport { AgentePublicoAbaDisponibilidadeComponent } from \"./pages/agente-publico-form/aba-disponibilidade/aba-disponibilidade.component\";\r\nimport { AgentePublicoAbaDispensasComponent } from \"./pages/agente-publico-form/aba-dispensas/aba-dispensas.component\";\r\nimport { ModalAdicionarDispensaComponent } from \"./pages/agente-publico-form/aba-dispensas/modal-adicionar-dispensa/modal-adicionar-dispensa.component\";\r\nimport { ModalCoordenacaoTipoTrabalhoComponent } from \"./pages/coordenacao-form/modal-tipo-trabalho/modal-tipo-trabalho.component\";\r\nimport { PaaGuard } from \"./core/guards/paa.guard\";\r\nimport { PaaAbaIndicesCriteriosComponent } from \"./pages/paa-elaborar/aba-indices-criterios/paa-aba-indices-criterios.component\";\r\nimport { PaaAbaDadosBasicosComponent } from \"./pages/paa-elaborar/aba-dados/paa-aba-dados-basicos.component\";\r\nimport { PaaAbaCapacidadeComponent } from \"./pages/paa-elaborar/aba-capacidade/paa-aba-capacidade.component\";\r\nimport { PaaAbaDistribuicaoComponent } from \"./pages/paa-elaborar/aba-distribuicao/paa-aba-distribuicao.component\";\r\nimport { ModalCapacidadePaaComponent } from \"./pages/paa-elaborar/aba-capacidade/modal-capacidade/modal-capacidade-paa.component\";\r\nimport { PaaAbaAlocacaoComponent } from \"./pages/paa-elaborar/aba-alocacao/paa-aba-alocacao.component\";\r\nimport { CategoriaRiscoListComponent } from \"./pages/categoria-risco-list/categoria-risco-list.component\";\r\nimport { CategoriaRiscoFormComponent } from \"./pages/categoria-risco-form/categoria-risco-form.component\";\r\nimport { CategoriaRiscoGuard } from \"./core/guards/categoriaRisco.guard\";\r\nimport { ModeloQuestionarioListComponent } from \"./pages/modelo-questionario-list/modelo-questionario-list.component\";\r\nimport { ModeloQuestionarioFormComponent } from \"./pages/modelo-questionario-form/modelo-questionario-form.component\";\r\nimport { ModalModeloQuestionarioSecaoComponent } from \"./pages/modelo-questionario-form/modal-secao/modal-secao.component\";\r\nimport { ModalModeloQuestionarioPerguntaComponent } from \"./pages/modelo-questionario-form/modal-pergunta/modal-pergunta.component\";\r\nimport { AbaDadosComponent } from \"./pages/unidade-gestora-form/aba-dados/aba-dados.component\";\r\nimport { AbaEntendendoEntidadeComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/aba-entendendo-entidade.component\";\r\nimport { GerarQuestionarioComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/gerar-questionario/gerar-questionario.component\";\r\nimport { ModalSelecaoQuestionarioComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/modal-selecao-questionario/modal-selecao-questionario.component\";\r\nimport { EditarEntendendoEntidadeComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/editar-entendendo-entidade/editar-entendendo-entidade.component\";\r\nimport { ModalQuestionarioUGPerguntaComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/editar-entendendo-entidade/modal-pergunta/modal-pergunta.component\";\r\nimport { ModalQuestionarioUGSecaoComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/editar-entendendo-entidade/modal-secao/modal-secao.component\";\r\nimport { ModalQuestionarioNovaVersaoComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/modal-questionario-nova-versao/modal-questionario-nova-versao.component\";\r\nimport { ModalQuestionarioImportaDadosComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/modal-questionario-importa-dados/modal-questionario-importa-dados.component\";\r\nimport { VisualizarEntendendoEntidadeComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/visualizar-entendendo-entidade/visualizar-entendendo-entidade.component\";\r\nimport { ImprimirEntendendoEntidadeComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/imprimir-entendendo-entidade/imprimir-entendendo-entidade.component\";\r\nimport { ModalSolicitarPreenchimentoComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component\";\r\nimport { ImportacaoArquivoQuestionarioComponent } from \"./pages/unidade-gestora-form/aba-entendendo-entidade/importacao-arquivo-questionario/importacao-arquivo-questionario.component\";\r\nimport { RiscosFormComponent } from \"./pages/riscos-form/riscos-form.component\";\r\nimport { RiscosListComponent } from \"./pages/riscos-list/riscos-list.component\";\r\nimport { RiscosGuard } from \"./core/guards/riscos.guard\";\r\nimport { PrePlanejamentoListComponent } from './pages/pre-planejamento-list/pre-planejamento-list.component';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { PrePlanejamentoRespostaFormComponent } from './pages/pre-planejamento-resposta-form/pre-planejamento-resposta-form.component';\r\n\r\n\r\nimport { ModalMetricaPerguntaComponent } from \"./pages/pergunta-form/modal-metrica-pergunta/modal-metrica-pergunta.component\";\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { ModalDelegarComponent } from './pages/pre-planejamento-resposta-form/modal-delegar/modal-delegar.component';\r\nimport { AbaMaturidadeRiscoComponent } from \"./pages/unidade-gestora-form/aba-maturidade-risco/aba-maturidade-risco.component\";\r\nimport { GerarQuestionarioSharedComponent } from \"./pages/unidade-gestora-form/shared/gerar-questionario/gerar-questionario.component\";\r\nimport { ModalQuestionarioImportaDadosSharedComponent } from \"./pages/unidade-gestora-form/shared/modal-questionario-importa-dados/modal-questionario-importa-dados.component\";\r\nimport { ModalQuestionarioNovaVersaoSharedComponent } from \"./pages/unidade-gestora-form/shared/modal-questionario-nova-versao/modal-questionario-nova-versao.component\";\r\nimport { ModalSelecaoQuestionarioSharedComponent } from \"./pages/unidade-gestora-form/shared/modal-selecao-questionario/modal-selecao-questionario.component\";\r\nimport { ModalSolicitarPreenchimentoSharedComponent } from \"./pages/unidade-gestora-form/shared/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component\";\r\nimport { EditarQuestionarioModalSecaoComponent } from \"./pages/unidade-gestora-form/shared/editar-questionario/modal-secao/modal-secao.component\";\r\nimport { EditarQuestionarioModalPerguntaComponent } from \"./pages/unidade-gestora-form/shared/editar-questionario/modal-pergunta/modal-pergunta.component\";\r\nimport { EditarQuestionarioComponent } from \"./pages/unidade-gestora-form/shared/editar-questionario/editar-questionario.component\";\r\nimport { VisualizarQuestionarioComponent } from \"./pages/unidade-gestora-form/shared/visualizar-questionario/visualizar-questionario.component\";\r\nimport { ImportacaoArquivoQuestionarioSharedComponent } from \"./pages/unidade-gestora-form/shared/importacao-arquivo-questionario/importacao-arquivo-questionario.component\";\r\nimport { ImprimirQuestionarioComponent } from \"./pages/unidade-gestora-form/shared/imprimir-questionario/imprimir-questionario.component\";\r\nimport { ModalContestarComponent } from './pages/pre-planejamento-resposta-form/modal-contestar/modal-contestar.component';\r\nimport { ModalConcordarComponent } from './pages/pre-planejamento-resposta-form/modal-concordar/modal-concordar.component';\r\nimport { AvaliarQuestionarioComponent } from './pages/unidade-gestora-form/shared/avaliar-questionario/avaliar-questionario.component';\r\nimport { ModalAvaliarQuestionarioComponent } from './pages/unidade-gestora-form/shared/modal-avaliar-questionario/modal-avaliar-questionario.component';\r\nimport { ModalConfirmaCancelarComponent } from './shared/components/modal-confirma-cancelar/modal-confirma-cancelar.component';\r\nimport { ModalAlterarTipoAuditoriaComponent } from './pages/paa-elaborar/modal-alterar-tipo-auditoria/modal-alterar-tipo-auditoria.component';\r\nimport { ModalDescricaoDiasUteisComponent } from \"./pages/pea-form/modal-descricao-dias-uteis/modal-descricao-dias-uteis.component\";\r\nimport { ModalAlterarTipoEnfaseComponent } from \"./pages/paa-elaborar/modal-alterar-tipo-enfase/modal-alterar-tipo-enfase.component\";\r\nimport { VisualizarMaturidadeDeRiscoComponent } from \"./pages/unidade-gestora-form/aba-maturidade-risco/visualizar-maturidade-de-risco/visualizar-maturidade-de-risco.component\";\r\nimport { VisualizarRelatoriaComponent } from \"./shared/components/relatoria/visualizar-relatoria/visualizar-relatoria.component\";\r\nimport { imprimirLinhaDoTempoComponent } from \"./shared/components/relatoria/imprimir-linha-do-tempo/imprimir-linha-do-tempo.component\";\r\n\r\nimport { TipoUniversoListComponent } from \"./pages/tipo-universo-list/tipo-universo-list.component\";\r\nimport { TipoUniversoFormComponent } from \"./pages/tipo-universo-form/tipo-universo-form.component\";\r\nimport { ModalTipoUniversoItemComponent } from \"./pages/tipo-universo-form/modal-tipo-universo-item/modal-tipo-universo-item.component\";\r\nimport { ModalTipoUniversoItemDescricaoComponent } from \"./pages/tipo-universo-form/modal-tipo-universo-item/modal-tipo-universo-item-descricao/modal-tipo-universo-item-descricao.component\";\r\nimport { CriteriosAvaliacaoListComponent } from './pages/criterios-avaliacao-list/criterios-avaliacao-list.component';\r\nimport { CriteriosAvaliacaoFormComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form.component';\r\nimport { CriteriosAvaliacaoFormDadosComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form-dados/criterios-avaliacao-form-dados.component';\r\nimport { CriteriosAvaliacaoFormRiscoInerenteComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/criterios-avaliacao-form-risco-inerente.component';\r\nimport { CriteriosAvaliacaoFormControlesComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form-controles/criterios-avaliacao-form-controles.component';\r\nimport { CriteriosAvaliacaoFormNiveisRiscoResidualComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form-niveis-risco-residual/criterios-avaliacao-form-niveis-risco-residual.component';\r\nimport { ModalEscalasComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-escalas/modal-escalas.component';\r\nimport { ModalControleComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form-controles/modal-controle/modal-controle.component';\r\nimport { ModalRiscoInerenteComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-risco-inerente/modal-risco-inerente.component';\r\nimport { ModalRiscoResidualComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form-niveis-risco-residual/modal-risco-residual/modal-risco-residual.component';\r\nimport { ModalFormulaRiscoInerenteComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-formula-risco-inerente/modal-formula-risco-inerente.component';\r\nimport { FormulaRiscoResidualComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form-niveis-risco-residual/formula-risco-residual/formula-risco-residual.component';\r\nimport { FormMagnitudeEscalaComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-escalas/form-magnitude-escala/form-magnitude-escala.component';\r\nimport { GridMagnitudeEscalaComponent } from './pages/criterios-avaliacao-form/criterios-avaliacao-form-risco-inerente/modal-escalas/grid-magnitude-escala/grid-magnitude-escala.component';\r\nimport { PrintLayoutComponent } from './shared/components/print-layout/print-layout.component';\r\nimport { PdfExportComponent } from \"./shared/components/pdf-export/pdf-export.component\";\r\nimport {\r\n AbaUniversoAuditavelComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/aba-univserso-auditavel.component\";\r\nimport {\r\n ModalSelecaoTipoUniversoComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/modal-selecao-tipo-universo/modal-selecao-tipo-universo.component\";\r\nimport {\r\n GerarUniversoAuditavelComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/gerar-universo-auditavel/gerar-universo-auditavel.component\";\r\nimport {\r\n ModalUniversoAuditavelNovaVersaoComponent\r\n} from \"./pages/unidade-gestora-form/shared/modal-universo-auditavel-nova-versao/modal-universo-auditavel-nova-versao.component\";\r\nimport {\r\n ModalUniversoAuditavelImportaDadosComponent\r\n} from \"./pages/unidade-gestora-form/shared/modal-universo-auditavel-importa-dados/modal-universo-auditavel-importa-dados.component\";\r\nimport {\r\n ModalSolicitarPreenchimentoUniversoComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component\";\r\nimport {\r\n UniversoAuditavelFormComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/universo-auditavel-form/universo-auditavel-form.component\";\r\nimport {\r\n ImportarArquivoUniversoAuditavelComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/importar-arquivo-universo-auditavel/importar-arquivo-universo-auditavel.component\";\r\nimport {\r\n ModalUniversoAuditavelImportacaoComponent\r\n} from \"./pages/unidade-gestora-form/shared/modal-universo-auditavel-importacao/modal-universo-auditavel-importacao.component\";\r\nimport {\r\n UniversoAuditavelPreechimentoFormComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/universo-auditavel-preechimento-form/universo-auditavel-preechimento-form.component\";\r\nimport {\r\n VisualizarUniversoAuditavelComponent\r\n} from \"./pages/unidade-gestora-form/aba-universo-auditavel/visualizar-universo-auditavel/visualizar-universo-auditavel.component\";\r\n\r\nimport { AbaRiscosChavesComponent\r\n } from \"./pages/unidade-gestora-form/aba-riscos-chaves/aba-riscos-chaves.component\";\r\nimport { GerarComponent } from './pages/unidade-gestora-form/aba-riscos-chaves/gerar/gerar.component';\r\nimport { RiscosChavesFormComponent } from './pages/unidade-gestora-form/aba-riscos-chaves/riscos-chaves-form/riscos-chaves-form.component';\r\nimport { ModalSelecaoUniversoAuditavelComponent } from \"./pages/unidade-gestora-form/aba-riscos-chaves/modal-selecao-universo-auditavel/modal-selecao-universo-auditavel.component\";\r\nimport { PreenchimentoRiscosCriteriosComponent } from './pages/unidade-gestora-form/aba-riscos-chaves/preenchimento-riscos-criterios/preenchimento-riscos-criterios.component';\r\nimport { ModalSelecaoCriterioAvaliacaoComponent } from './pages/unidade-gestora-form/aba-riscos-chaves/modal-selecao-criterio-avaliacao/modal-selecao-criterio-avaliacao.component';\r\nimport { ModalSelecaoRiscoComponent } from './pages/unidade-gestora-form/aba-riscos-chaves/modal-selecao-risco/modal-selecao-risco.component';\r\nimport {\r\n ModalSolicitarPreenchimentoRiscosChavesComponent\r\n} from \"./pages/unidade-gestora-form/aba-riscos-chaves/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component\";\r\nimport {\r\n ModalRiscosChavesImportacaoComponent\r\n} from \"./pages/unidade-gestora-form/shared/modal-riscos-chaves-importacao/modal-riscos-chaves-importacao.component\";\r\nimport {\r\n ImportarArquivoRiscosChavesComponent\r\n} from \"./pages/unidade-gestora-form/aba-riscos-chaves/importar-arquivo-riscos-chaves/importar-arquivo-risco-chaves.component\";\r\n\r\n\r\n\r\ndefineLocale(\"pt-br\", ptBrLocale);\r\n\r\nregisterLocaleData(ptBr);\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tAppComponent,\r\n\t\tInicialComponent,\r\n\t\tPeriodoListComponent,\r\n\t\tPeriodoFormComponent,\r\n\t\tTipoCriterioListComponent,\r\n\t\tTipoCriterioFormComponent,\r\n\t\tNaturezaResponsabilidadeListComponent,\r\n\t\tMainComponent,\r\n\t\tHeaderComponent,\r\n\t\tFooterComponent,\r\n\t\tSidebarComponent,\r\n\t\tAppButtonComponent,\r\n\t\tUserDropdownMenuComponent,\r\n\t\tBaseFormComponent,\r\n\t\tBaseListComponent,\r\n\t\tErroComponent,\r\n\t\tPerguntaFormComponent,\r\n\t\tPerguntaListComponent,\r\n\t\tCriterioListComponent,\r\n\t\tCriterioFormComponent,\r\n\t\tLookupModalComponent,\r\n\t\tLookupMultiselectModalComponent,\r\n\t\tIndicadorListComponent,\r\n\t\tIndicadorFormComponent,\r\n\t\tRolResponsaveisListComponent,\r\n\t\tRolResponsaveisFormComponent,\r\n\t\tTipoDispensaListComponent,\r\n\t\tTipoDispensaFormComponent,\r\n\t\tFaixaClassificacaoFormComponent,\r\n\t\tCoordenacaoListComponent,\r\n\t\tCoordenacaoFormComponent,\r\n\t\tCalendarioListComponent,\r\n\t\tCalendarioFormComponent,\r\n\t\tTipoAuditoriaListComponent,\r\n\t\tTipoAuditoriaFormComponent,\r\n\t\tCapituloRelatorioListComponent,\r\n\t\tCapituloRelatorioFormComponent,\r\n\t\tParametrizacaoDocumentoEdocsFormComponent,\r\n\t\tModeloRelatorioListComponent,\r\n\t\tModeloRelatorioFormComponent,\r\n\t\tPeaListComponent,\r\n\t\tPeaFormComponent,\r\n\t\tUnidadeGestoraListComponent,\r\n\t\tUnidadeGestoraFormComponent,\r\n\t\tQuestionarioListComponent,\r\n\t\tQuestionarioFormComponent,\r\n\t\tFluxoAprovacaoListComponent,\r\n\t\tFluxoAprovacaoFormComponent,\r\n\t\tModalImportacaoComponent,\r\n\t\tModalSelecionarUgComponent,\r\n\t\tModalSelecionarCoordenacoesComponent,\r\n\t\tModalImportarArquivoCriterioComponent,\r\n\t\tModalPreencherFormularioComponent,\r\n\t\tModalCapacidadeComponent,\r\n\t\tPeaRelatorioComponent,\r\n\t\tModalVisualizarRespostasComponent,\r\n\t\tModalAssociarComponent,\r\n\t\tModalMetricaNumericoComponent,\r\n\t\tModalMetricaOpcoesComponent,\r\n\t\tParametrizacaoListComponent,\r\n\t\tModalParametrizacaoFormComponent,\r\n\t\tPaaListComponent,\r\n\t\tPaaElaborarComponent,\r\n\t\tModalCapacidadeDispensaComponent,\r\n\t\tModalAlocarEquipeComponent,\r\n\t\tModalSelecionarUGComponent,\r\n\t\tModalSelecionarColunasComponent,\r\n\t\tModalCadastrarCriterioComponent,\r\n\t\tModalCadastrarIndicadorComponent,\r\n\t\tModalConfirmarInativacaoComponent,\r\n\t\tModalConfirmarReativacaoDistribuicaoComponent,\r\n\t\tPendenciaListComponent,\r\n\t\tModalGraficoDistribuicaoComponent,\r\n\t\tModalConfirmarRejeitarComponent,\r\n\t\tOpaListComponent,\r\n\t\tPaaRelatorioComponent,\r\n\t\tModalPreencherFormularioPaaComponent,\r\n\t\tOpaListComponent,\r\n\t\tOpaFormComponent,\r\n\t\tModalDelegarQuestionarioComponent,\r\n\t\tModalAutuacaoComponent,\r\n\t\tModalEntranharComponent,\r\n\t\tTecnicaAuditoriaListComponent,\r\n\t\tTecnicaAuditoriaFormComponent,\r\n\t\tLogListComponent,\r\n\t\tLogFormComponent,\r\n\t\tCustoRecursoListComponent,\r\n\t\tCustoRecursoFormComponent,\r\n\t\tProcedimentoAuditoriaListComponent,\r\n\t\tProcedimentoAuditoriaFormComponent,\r\n\t\tRecomendacaoListComponent,\r\n\t\tRecomendacaoFormComponent,\r\n\t\tConstatacaoListComponent,\r\n\t\tConstatacaoFormComponent,\r\n\t\tModalRecomendacaoComponent,\r\n\t\tQuestaoListComponent,\r\n\t\tQuestaoFormComponent,\r\n\t\tModalConstatacaoComponent,\r\n\t\tModalProcedimentoAuditoriaComponent,\r\n\t\tModalAlocarEquipeOpaComponent,\r\n\t\tMatrizPlanejamentoListComponent,\r\n\t\tMatrizPlanejamentoFormComponent,\r\n\t\tMatrizPlanejamentoRelatorioComponent,\r\n\t\tModalCapituloComponent,\r\n\t\tAprovacaoListComponent,\r\n\t\tModalAvaliarComponent,\r\n\t\tModalDetalharValorRiscoComponent,\r\n\t\tNaturezaResponsabilidadeFormComponent,\r\n\t\tModalCapituloComponent,\r\n\t\tModalEnviarQuestionarioCriterioComponent,\r\n\t\tModalVisualizarQuestionarioCriterioComponent,\r\n\t\tModalVisualizarQuestionarioCriterioPaaComponent,\r\n\t\tSubtipoAuditoriaListComponent,\r\n\t\tSubtipoAuditoriaFormComponent,\r\n\t\tPlanejamentoListComponent,\r\n\t\tPlanejamentoFormComponent,\r\n\t\tModalAlocarEquipePlanejamentoComponent,\r\n\t\tModalUgPlanejamentoComponent,\r\n\t\tOpaRelatorioComponent,\r\n\t\tModalCancelarComponent,\r\n\t\tModalImportarArquivoCriterioPaaComponent,\r\n\t\tModalCustoRecursoPlanejamentoComponent,\r\n\t\tModalIncluirResponsavelComponent,\r\n\t\tModalSelecionarResponsavelComponent,\r\n\t\tModalIncluirPeriodoExercicioComponent,\r\n\t\tImprimirRolResponsaveisComponent,\r\n\t\tImprimirRolResponsavelUnidadeGestoraComponent,\r\n\t\tModalSelecionarUgImprimirComponent,\r\n\t\tFaseAtividadeListComponent,\r\n\t\tOsaComponent,\r\n\t\tOsaListComponent,\r\n\t\tFiltroComponent,\r\n\t\tOsaFormComponent,\r\n\t\tOsaAbasComponent,\r\n\t\tAbaInformacoesBasicasComponent,\r\n\t\tFaseAtividadeFormComponent,\r\n\t\tAbaCronogramaComponent,\r\n\t\tModalAtividadeSubatividadeComponent,\r\n\t\tOsaImprimirComponent,\r\n\t\tAbaAmostraComponent,\r\n\t\tInserirAmostraComponent,\r\n\t\tImprimirAmostraComponent,\r\n\t\tModalRelatoriaCapituloComponent,\r\n\t\tModalHistoricoRelatoriaComponent,\r\n\t\tCapituloComponent,\r\n\t\tRelatoriaComponent,\r\n\t\tImprimirRelatoriaComponent,\r\n\t\tLinhaDoTempoComponent,\r\n\t\tSanitizedHtmlPipe,\r\n\t\tFaixaClassificacaoComponentComponent,\r\n\t\tRankingPrioridadeComponent,\r\n\t\tModalRankingPrioridadeComponent,\r\n\t\tKeyboardlockDirective,\r\n\t\tAlocarEquipeComponent,\r\n\t\tAuditoriaListComponent,\r\n\t\tAbaSolicitacaoTecnicaComponent,\r\n\t\tIncluirSolicitacaoComponent,\r\n\t\tModalJustificativaComponent,\r\n\t\tModalIncluirItemComponent,\r\n\t\tModalVisualizarRespostaComponent,\r\n\t\tAbaMatrizPlanejamentoComponent,\r\n\t\tListagemQuestoesComponent,\r\n\t\tModalAdicionarQuestoesComponent,\r\n\t\tSolicitacaoTecnicaListComponent,\r\n\t\tModalVisualizarItemComponent,\r\n\t\tModalArquivoComponent,\r\n\t\tModalEditarQuestaoComponent,\r\n\t\tImprimirSolicitacaoComponent,\r\n\t\tModalItemSolicitacaoComponent,\r\n\t\tModalIncluirUgComponent,\r\n\t\tUnidadeGestoraComponent,\r\n\t\tModalIncluirUgComponentComponent,\r\n\t\tSolicitacaoTecnicaFormComponent,\r\n\t\tModalUgComponent,\r\n\t\tModalDelegarItemComponent,\r\n\t\tCustosRecursosComponent,\r\n\t\tImprimirComponent,\r\n\t\tModalAvaliarProrrogacaoComponent,\r\n\t\tMatrizPlanejamentoVisualizarComponent,\r\n\t\tTipoEnfaseListComponent,\r\n\t\tTipoEnfaseFormComponent,\r\n\t\tGroupByPipe,\r\n\t\tModalEnviarQuestionarioCriterioPaaComponent,\r\n\t\tHistoricoModalComponent,\r\n\t\tMenuItemComponent,\r\n\t\tAgentePublicoListComponent,\r\n\t\tAgentePublicoFormComponent,\r\n\t\tAgentePublicoAbaDadosBasicosComponent,\r\n\t\tAgentePublicoAbaDisponibilidadeComponent,\r\n\t\tAgentePublicoAbaDispensasComponent,\r\n\t\tModalAdicionarDispensaComponent,\r\n\t\tModalCoordenacaoTipoTrabalhoComponent,\r\n\t\tPaaAbaIndicesCriteriosComponent,\r\n\t\tPaaAbaDadosBasicosComponent,\r\n\t\tPaaAbaCapacidadeComponent,\r\n\t\tPaaAbaDistribuicaoComponent,\r\n\t\tModalCapacidadePaaComponent,\r\n\t\tPaaAbaAlocacaoComponent,\r\n\t\tCategoriaRiscoListComponent,\r\n\t\tCategoriaRiscoFormComponent,\r\n\t\tModeloQuestionarioListComponent,\r\n\t\tModeloQuestionarioFormComponent,\r\n\t\tModalModeloQuestionarioSecaoComponent,\r\n\t\tModalModeloQuestionarioPerguntaComponent,\r\n\t\tAbaDadosComponent,\r\n\t\tAbaEntendendoEntidadeComponent,\r\n\t\tGerarQuestionarioComponent,\r\n\t\tModalSelecaoQuestionarioComponent,\r\n\t\tEditarEntendendoEntidadeComponent,\r\n\t\tModalQuestionarioUGPerguntaComponent,\r\n\t\tModalQuestionarioUGSecaoComponent,\r\n\t\tModalQuestionarioNovaVersaoComponent,\r\n\t\tModalQuestionarioImportaDadosComponent,\r\n\t\tVisualizarEntendendoEntidadeComponent,\r\n\t\tImprimirEntendendoEntidadeComponent,\r\n\t\tModalSolicitarPreenchimentoComponent,\r\n\t\tImportacaoArquivoQuestionarioComponent,\r\n\t\tRiscosFormComponent,\r\n\t\tRiscosListComponent,\r\n\t\tModalMetricaPerguntaComponent,\r\n\t\tModalExcluirMetricaComponent,\r\n\t\tPrePlanejamentoListComponent,\r\n PrePlanejamentoRespostaFormComponent,\r\n ModalDelegarComponent,\r\n\t\tAbaMaturidadeRiscoComponent,\r\n\t\tGerarQuestionarioSharedComponent,\r\n\t\tModalQuestionarioImportaDadosSharedComponent,\r\n\t\tModalQuestionarioNovaVersaoSharedComponent,\r\n\t\tModalSelecaoQuestionarioSharedComponent,\r\n\t\tModalSolicitarPreenchimentoSharedComponent,\r\n\t\tEditarQuestionarioModalPerguntaComponent,\r\n\t\tEditarQuestionarioModalSecaoComponent,\r\n\t\tEditarQuestionarioComponent,\r\n\t\tVisualizarQuestionarioComponent,\r\n\t\tImportacaoArquivoQuestionarioSharedComponent,\r\n\t\tImprimirQuestionarioComponent,\r\n\t\tModalContestarComponent,\r\n\t\tModalConcordarComponent,\r\n\t\tAvaliarQuestionarioComponent,\r\n\t\tModalAvaliarQuestionarioComponent,\r\n\t\tModalConfirmaCancelarComponent,\r\n\t\tModalAlterarTipoAuditoriaComponent,\r\n\t\tModalDescricaoDiasUteisComponent,\r\n\t\tVisualizarRelatoriaComponent,\r\n\t\timprimirLinhaDoTempoComponent,\r\n\t\tTipoUniversoListComponent,\r\n\t\tTipoUniversoFormComponent,\r\n\t\tModalTipoUniversoItemComponent,\r\n\t\tModalTipoUniversoItemDescricaoComponent,\r\n\t\tModalAlterarTipoEnfaseComponent,\r\n\t\tVisualizarMaturidadeDeRiscoComponent,\r\n AbaUniversoAuditavelComponent,\r\n ModalSelecaoTipoUniversoComponent,\r\n GerarUniversoAuditavelComponent,\r\n ModalUniversoAuditavelNovaVersaoComponent,\r\n ModalUniversoAuditavelImportaDadosComponent,\r\n ModalSolicitarPreenchimentoUniversoComponent,\r\n UniversoAuditavelFormComponent,\r\n ImportarArquivoUniversoAuditavelComponent,\r\n ModalUniversoAuditavelImportacaoComponent,\r\n UniversoAuditavelPreechimentoFormComponent,\r\n VisualizarUniversoAuditavelComponent,\r\n\t\tVisualizarMaturidadeDeRiscoComponent,\r\n\t\tCriteriosAvaliacaoListComponent,\r\n\t\tCriteriosAvaliacaoFormComponent,\r\n\t\tCriteriosAvaliacaoFormDadosComponent,\r\n\t\tCriteriosAvaliacaoFormRiscoInerenteComponent,\r\n\t\tCriteriosAvaliacaoFormControlesComponent,\r\n\t\tCriteriosAvaliacaoFormNiveisRiscoResidualComponent,\r\n\t\tModalEscalasComponent,\r\n\t\tModalControleComponent,\r\n\t\tModalRiscoInerenteComponent,\r\n\t\tModalRiscoResidualComponent,\r\n\t\tModalFormulaRiscoInerenteComponent,\r\n\t\tFormulaRiscoResidualComponent,\r\n\t\tFormMagnitudeEscalaComponent,\r\n\t\tGridMagnitudeEscalaComponent,\r\n\t\tPrintLayoutComponent,\r\n\t\tPdfExportComponent,\r\n\t\tAbaRiscosChavesComponent,\r\n\t\tGerarComponent,\r\n\t\tRiscosChavesFormComponent,\r\n\t\tModalSelecaoUniversoAuditavelComponent,\r\n\t\tPreenchimentoRiscosCriteriosComponent,\r\n\t\tModalSelecaoCriterioAvaliacaoComponent,\r\n\t\tModalSelecaoRiscoComponent,\r\n ModalSolicitarPreenchimentoRiscosChavesComponent,\r\n ModalRiscosChavesImportacaoComponent,\r\n ImportarArquivoRiscosChavesComponent\r\n\r\n\r\n\r\n\t],\r\n\timports: [\r\n\t\tBrowserModule,\r\n\t\tCommonModule,\r\n\t\tAppRoutingModule,\r\n\t\tReactiveFormsModule,\r\n\t\tFormsModule,\r\n\t\tBrowserAnimationsModule,\r\n\t\tToastrModule.forRoot({\r\n\t\t\ttimeOut: 5000,\r\n\t\t\tpositionClass: \"toast-top-right\",\r\n\t\t\tpreventDuplicates: true,\r\n\t\t\tenableHtml: true,\r\n\t\t}),\r\n\t\tNgbModule,\r\n\t\tRouterModule,\r\n\t\tConfirmationPopoverModule.forRoot({\r\n\t\t\tappendToBody: true,\r\n\t\t\tconfirmButtonType: \"danger\",\r\n\t\t}),\r\n\t\tBsDatepickerModule.forRoot(),\r\n\t\tMatTableModule,\r\n\t\tCdkTableModule,\r\n\t\tMatPaginatorModule,\r\n\t\tMatSortModule,\r\n\t\tMatCardModule,\r\n\t\tMatToolbarModule,\r\n\t\tNgxSpinnerModule,\r\n\t\tHttpClientModule,\r\n\t\tMatCheckboxModule,\r\n\t\tLoadingBarHttpClientModule,\r\n\t\tLoadingBarRouterModule,\r\n\t\tMatDialogModule,\r\n\t\tDragDropModule,\r\n\t\tModalModule.forRoot(),\r\n\t\tMatTabsModule,\r\n\t\tMatSelectModule,\r\n\t\tMatTooltipModule,\r\n\t\tAngularEditorModule,\r\n\t\tMatRadioModule,\r\n\t\tMatChipsModule,\r\n\t\tNgSelectModule,\r\n\t\tMatButtonModule,\r\n\t\tMatIconModule,\r\n\t\tMatInputModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatGridListModule,\r\n\t\tMatAutocompleteModule,\r\n\t],\r\n\tproviders: [\r\n\t\t{ provide: LOCALE_ID, useValue: \"pt\" },\r\n\t\t{ provide: DEFAULT_CURRENCY_CODE, useValue: \"BRL\" },\r\n\t\t{ provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\r\n\t\t{\r\n\t\t\tprovide: HTTP_INTERCEPTORS,\r\n\t\t\tuseClass: LoadingInterceptor,\r\n\t\t\tmulti: true,\r\n\t\t},\r\n\t\t{ provide: MatPaginatorIntl, useValue: getPtBrPaginatorIntl() },\r\n\t\t{ provide: MAT_DIALOG_DATA, useValue: {} },\r\n\t\t{ provide: MatDialogRef, useValue: {} },\r\n\t\tAuthService,\r\n\t\tPeaGuard,\r\n\t\tQuestionarioGuard,\r\n\t\tTipoCriterioGuard,\r\n\t\tCriterioGuard,\r\n\t\tIndicadorGuard,\r\n\t\tPeriodoGuard,\r\n\t\tTipoAuditoriaGuard,\r\n\t\tUnidadeGestoraGuard,\r\n\t\tTipoDispensaGuard,\r\n\t\tCoordenacaoGuard,\r\n\t\tModeloRelatorioGuard,\r\n\t\tPerguntaGuard,\r\n\t\tNaturezaResponsabilidadeGuard,\r\n\t\tCalendarioGuard,\r\n\t\tTecnicaAuditoriaGuard,\r\n\t\tCustoRecursoGuard,\r\n\t\tProcedimentoAuditoriaGuard,\r\n\t\tQuestaoGuard,\r\n\t\tMatrizPlanejamentoGuard,\r\n\t\tRecomendacaoGuard,\r\n\t\tSubtipoAuditoriaGuard,\r\n\t\tFaseAtividadeGuard,\r\n\t\tImprimirRelatoriaComponent,\r\n\t\tTipoEnfaseGuard,\r\n\t\tPaaGuard,\r\n\t\tCategoriaRiscoGuard,\r\n\t\tRiscosGuard,\r\n\t],\r\n\tentryComponents: [\r\n\t\tLookupModalComponent,\r\n\t\tLookupMultiselectModalComponent,\r\n\t\tModalImportacaoComponent,\r\n\t\tModalSelecionarUgComponent,\r\n\t\tModalSelecionarUgImprimirComponent,\r\n\t\tModalSelecionarCoordenacoesComponent,\r\n\t\tModalImportarArquivoCriterioComponent,\r\n\t\tModalEnviarQuestionarioCriterioComponent,\r\n\t\tModalVisualizarQuestionarioCriterioComponent,\r\n\t\tModalVisualizarQuestionarioCriterioPaaComponent,\r\n\t\tModalPreencherFormularioComponent,\r\n\t\tModalCapacidadeComponent,\r\n\t\tModalVisualizarRespostasComponent,\r\n\t\tModalAssociarComponent,\r\n\t\tModalMetricaNumericoComponent,\r\n\t\tModalMetricaOpcoesComponent,\r\n\t\tModalParametrizacaoFormComponent,\r\n\t\tModalPreencherFormularioPaaComponent,\r\n\t\tModalCancelarComponent,\r\n\t\tModalDelegarQuestionarioComponent,\r\n\t\tModalAutuacaoComponent,\r\n\t\tModalEntranharComponent,\r\n\t\tModalAlocarEquipeOpaComponent,\r\n\t\tModalAutuacaoComponent,\r\n\t\tModalEntranharComponent,\r\n\t\tModalVisualizarHistoricoComponent,\r\n\t\tImprimirRelatoriaComponent,\r\n\t\tModalEnviarQuestionarioCriterioPaaComponent,\r\n\t],\r\n\tbootstrap: [AppComponent],\r\n})\r\nexport class AppModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { CalendarioFormComponent } from 'src/app/pages/calendario-form/calendario-form.component';\r\n\r\n@Injectable()\r\nexport class CalendarioGuard\r\n implements CanDeactivate {\r\n canDeactivate(\r\n component: CalendarioFormComponent\r\n ): Observable | boolean {\r\n if (!component.visualizar) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n }\r\n else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { IndicadorFormComponent } from 'src/app/pages/indicador-form/indicador-form.component';\r\n\r\n@Injectable()\r\nexport class IndicadorGuard implements CanDeactivate {\r\n canDeactivate(component: IndicadorFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate, CanActivateChild {\r\n\r\n constructor(\r\n private authService: AuthService,\r\n public router: Router,\r\n private toastr: ToastrService) { }\r\n\r\n canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n return this.permiteAcesso(next.data);\r\n }\r\n\r\n canActivateChild(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n return this.permiteAcesso(next.data);\r\n }\r\n\r\n private permiteAcesso(routeData: any): Promise {\r\n return this.authService.obterEstado()\r\n .then(async (res) => {\r\n if (res.sucesso && res.dados.autenticado) {\r\n if (routeData && routeData.acao) {\r\n if (!this.authService.usuario) {\r\n await this.authService.obterPerfilUsuario();\r\n }\r\n\r\n if(routeData.recurso == EnumRecursoPerfil.Aberto){\r\n return true;\r\n }\r\n\t\t\t\r\n\t\t\tlet perm = this.authService.possuiPermissao(routeData.recurso, routeData.acao); \r\n\t\t\t\r\n\t\t\tif (perm) {\r\n return true;\r\n } else {\r\n perm = this.authService.possuiPerfis(routeData.perfis);\r\n\r\n if (perm) {\r\n return true;\r\n } else {\r\n this.toastr.error('Você não possui acesso a esse recurso.', 'Acesso negado!');\r\n this.router.navigate(['/']);\r\n return false;\r\n }\r\n }\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n this.authService.login();\r\n return false;\r\n }\r\n })\r\n .catch((err) => {\r\n this.authService.login();\r\n return false;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { CategoriaRiscoFormComponent } from 'src/app/pages/categoria-risco-form/categoria-risco-form.component';\r\n\r\n@Injectable()\r\nexport class CategoriaRiscoGuard implements CanDeactivate {\r\n canDeactivate(component: CategoriaRiscoFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { CoordenacaoFormComponent } from 'src/app/pages/coordenacao-form/coordenacao-form.component';\r\n\r\n@Injectable()\r\nexport class CoordenacaoGuard implements CanDeactivate {\r\n canDeactivate(component: CoordenacaoFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { CriterioFormComponent } from 'src/app/pages/criterio-form/criterio-form.component';\r\n\r\n@Injectable()\r\nexport class CriterioGuard implements CanDeactivate {\r\n canDeactivate(component: CriterioFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n \r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { CustoRecursoFormComponent } from 'src/app/pages/custo-recurso-form/custo-recurso-form.component';\r\n\r\n@Injectable()\r\nexport class CustoRecursoGuard\r\n implements CanDeactivate {\r\n canDeactivate(\r\n component: CustoRecursoFormComponent\r\n ): Observable | boolean {\r\n if (!component.visualizar) {\r\n if(component?.salvar) {return true;}\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n }\r\n else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { FaseAtividadeFormComponent } from 'src/app/pages/fase-atividade-form/fase-atividade-form.component';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\n\r\n@Injectable()\r\nexport class FaseAtividadeGuard implements CanDeactivate {\r\n canDeactivate(component: FaseAtividadeFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { MatrizPlanejamentoFormComponent } from 'src/app/pages/matriz-planejamento-form/matriz-planejamento-form.component';\r\n\r\n@Injectable()\r\nexport class MatrizPlanejamentoGuard\r\n implements CanDeactivate {\r\n canDeactivate(\r\n component: MatrizPlanejamentoFormComponent\r\n ): Observable | boolean {\r\n if (!component.visualizar) {\r\n if(component?.adicionarQuestão) { return true; }\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { ModeloRelatorioFormComponent } from 'src/app/pages/modelo-relatorio-form/modelo-relatorio-form.component';\r\n\r\n@Injectable()\r\nexport class ModeloRelatorioGuard implements CanDeactivate {\r\n canDeactivate(component: ModeloRelatorioFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { NaturezaResponsabilidadeFormComponent } from 'src/app/pages/natureza-responsabilidade-form/natureza-responsabilidade-form.component';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\n\r\n@Injectable()\r\nexport class NaturezaResponsabilidadeGuard implements CanDeactivate {\r\n canDeactivate(component: NaturezaResponsabilidadeFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { PaaElaborarComponent } from 'src/app/pages/paa-elaborar/paa-elaborar.component';\r\n\r\n@Injectable()\r\nexport class PaaGuard implements CanDeactivate {\r\n canDeactivate(component: PaaElaborarComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { PeaFormComponent } from 'src/app/pages/pea-form/pea-form.component';\r\n\r\n@Injectable()\r\nexport class PeaGuard implements CanDeactivate {\r\n canDeactivate(component: PeaFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { PerguntaFormComponent } from 'src/app/pages/pergunta-form/pergunta-form.component';\r\n\r\n@Injectable()\r\nexport class PerguntaGuard implements CanDeactivate {\r\n canDeactivate(component: PerguntaFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { PeriodoFormComponent } from 'src/app/pages/periodo-form/periodo-form.component';\r\n\r\n@Injectable()\r\nexport class PeriodoGuard implements CanDeactivate {\r\n canDeactivate(component: PeriodoFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { ProcedimentoAuditoriaFormComponent } from 'src/app/pages/procedimento-auditoria-form/procedimento-auditoria-form.component';\r\n\r\n@Injectable()\r\nexport class ProcedimentoAuditoriaGuard\r\n implements CanDeactivate {\r\n canDeactivate(\r\n component: ProcedimentoAuditoriaFormComponent\r\n ): Observable | boolean {\r\n if (!component.visualizar) {\r\n if (component?.salvar) { return true; }\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n }\r\n else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { QuestaoFormComponent } from 'src/app/pages/questao-form/questao-form.component';\r\n\r\n@Injectable()\r\nexport class QuestaoGuard\r\n implements CanDeactivate {\r\n canDeactivate(\r\n component: QuestaoFormComponent\r\n ): Observable | boolean {\r\n if (!component.visualizar) {\r\n if (component?.salvar) { return true; }\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n }\r\n else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { QuestionarioFormComponent } from 'src/app/pages/questionario-form/questionario-form.component';\r\n\r\n@Injectable()\r\nexport class QuestionarioGuard\r\n implements CanDeactivate {\r\n canDeactivate(\r\n component: QuestionarioFormComponent\r\n ): Observable | boolean {\r\n if (!component.visualizar) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n }\r\n else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { RecomendacaoFormComponent } from 'src/app/pages/recomendacao-form/recomendacao-form.component';\r\n\r\n@Injectable()\r\nexport class RecomendacaoGuard\r\n implements CanDeactivate {\r\n canDeactivate(\r\n component: RecomendacaoFormComponent\r\n ): Observable | boolean {\r\n if (!component.visualizar) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n }\r\n else { return true; }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CanDeactivate } from \"@angular/router\";\r\nimport { Observable } from \"rxjs\";\r\nimport { ModalCancelarComponent } from \"src/app/shared/components/modal-cancelar/modal-cancelar-component\";\r\nimport { ModalConfirmaCancelarComponent } from \"src/app/shared/components/modal-confirma-cancelar/modal-confirma-cancelar.component\";\r\nimport { RiscosFormComponent } from \"src/app/pages/riscos-form/riscos-form.component\";\r\n\r\n@Injectable()\r\nexport class RiscosGuard implements CanDeactivate {\r\n\tcanDeactivate(\r\n\t\tcomponent: RiscosFormComponent\r\n\t): Observable | boolean {\r\n\t\tif (component.novoRegistro) {\r\n\t\t\tif (component.submit) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\treturn component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n\r\n\t\t} else if (!component.visualizar) {\r\n\t\t\tif (component.submit) { return true; }\r\n\t\t\treturn component.matDialog.open(ModalConfirmaCancelarComponent).afterClosed();\r\n\t\t}\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { SubtipoAuditoriaFormComponent } from 'src/app/pages/subtipo-auditoria-form/subtipo-auditoria-form.component';\r\n\r\n@Injectable()\r\nexport class SubtipoAuditoriaGuard\r\n implements CanDeactivate {\r\n canDeactivate(\r\n component: SubtipoAuditoriaFormComponent\r\n ): Observable | boolean {\r\n if (!component.visualizar) {\r\n if (component.submit) { return true; }\r\n if(component?.subTipoAuditoriaCancelar) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n }\r\n else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { TecnicaAuditoriaFormComponent } from 'src/app/pages/tecnica-auditoria-form/tecnica-auditoria-form.component';\r\n\r\n@Injectable()\r\nexport class TecnicaAuditoriaGuard\r\n implements CanDeactivate {\r\n canDeactivate(\r\n component: TecnicaAuditoriaFormComponent\r\n ): Observable | boolean {\r\n if (!component.visualizar) {\r\n if (component?.salvar) { return true; }\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n }\r\n else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { TipoAuditoriaFormComponent } from 'src/app/pages/tipo-auditoria-form/tipo-auditoria-form.component';\r\n\r\n@Injectable()\r\nexport class TipoAuditoriaGuard implements CanDeactivate {\r\n canDeactivate(component: TipoAuditoriaFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { TipoCriterioFormComponent } from 'src/app/pages/tipo-criterio-form/tipo-criterio-form.component';\r\n\r\n@Injectable()\r\nexport class TipoCriterioGuard implements CanDeactivate {\r\n canDeactivate(component: TipoCriterioFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { TipoDispensaFormComponent } from 'src/app/pages/tipo-dispensa-form/tipo-dispensa-form.component';\r\n\r\n@Injectable()\r\nexport class TipoDispensaGuard implements CanDeactivate {\r\n canDeactivate(component: TipoDispensaFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n\r\nimport { UnidadeGestoraFormComponent } from 'src/app/pages/unidade-gestora-form/unidade-gestora-form.component';\r\n\r\n@Injectable()\r\nexport class UnidadeGestoraGuard implements CanDeactivate {\r\n canDeactivate(component: UnidadeGestoraFormComponent): Observable | boolean {\r\n // if (component.novoRegistro) {\r\n // if (component.submit) { return true; }\r\n // return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n // } else { return true; }\r\n return true;\r\n } \r\n}","import { Injectable } from '@angular/core';\r\nimport { CanDeactivate } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { TipoEnfaseFormComponent } from 'src/app/pages/tipo-enfase-form/tipo-enfase-form.component';\r\n\r\n@Injectable()\r\nexport class TipoEnfaseGuard implements CanDeactivate {\r\n canDeactivate(component: TipoEnfaseFormComponent): Observable | boolean {\r\n if (component.novoRegistro) {\r\n if (component.submit) { return true; }\r\n return component.matDialog.open(ModalCancelarComponent).afterClosed();\r\n } else { return true; }\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport moment from 'moment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DateHelper{\r\n private datePipe = new DatePipe('pt-BR');\r\n \r\n toDatePtBr(date: Date){\r\n if (date) {\r\n return this.truncateDate(moment(date, 'DD/MM/YYYY').toDate());\r\n }\r\n return date;\r\n }\r\n\r\n toStringPtBr(date: Date) {\r\n if (date) {\r\n return this.datePipe.transform(date, 'dd/MM/yyyy');\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n toString(date: Date) {\r\n if (date) {\r\n return this.datePipe.transform(date, 'MM/dd/yyyy');\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n truncateDate(date: Date){\r\n if (date) {\r\n return new Date(this.datePipe.transform(date, 'yyyy-MM-dd'));\r\n }\r\n return date;\r\n }\r\n}\r\n","export interface FilterByOptions {\r\n recursive?: boolean;\r\n dateSeparator?: string;\r\n}\r\n\r\nexport function filterBy(filter: any, url: string, options?: FilterByOptions) {\r\n const recursive = options && options.recursive;\r\n const dateSeparator = options && options.dateSeparator || '-';\r\n const joinParams = (obj: any, prepend?: string) => {\r\n const arr = [];\r\n Object.keys(obj)\r\n .filter(key => {\r\n const value = obj[key];\r\n return value !== null && value !== undefined && (value instanceof Date || typeof value !== 'object' || recursive);\r\n })\r\n .forEach(key => {\r\n const value = obj[key];\r\n let str: string;\r\n if (typeof value === 'object') {\r\n str = value instanceof Date\r\n ? `${prepend || ''}${key}=${dateToString(value, dateSeparator)}`\r\n : joinParams(value, `${prepend || ''}${key}.`);\r\n } else {\r\n str = `${prepend || ''}${key}=${value}`;\r\n }\r\n if (str) {\r\n arr.push(str);\r\n }\r\n });\r\n return arr.length ? arr.join('&') : null;\r\n };\r\n\r\n if (!filter || typeof filter !== 'object') {\r\n return url;\r\n }\r\n\r\n const filterUrl = joinParams(filter);\r\n if (!filterUrl) {\r\n return url;\r\n }\r\n\r\n const concatChar = url.indexOf('?') === -1 ? '?' : '&';\r\n return `${url}${concatChar}${filterUrl}`;\r\n}\r\n\r\nfunction dateToString(date: Date, separator: string) {\r\n return [\r\n ('0' + (date.getMonth() + 1)).slice(-2),\r\n ('0' + date.getDate()).slice(-2),\r\n date.getFullYear()\r\n ].join(separator);\r\n}\r\n","export function defaultDataAcessor(item: any, sortHeaderId: string) {\r\n if (typeof item[sortHeaderId] === 'string') {\r\n return item[sortHeaderId].toLocaleLowerCase().normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\r\n }\r\n\r\n return item[sortHeaderId];\r\n\r\n}\r\n","export function toIntlNumberString(brString: string): string {\r\n brString = brString || '';\r\n return brString.split('.').join('').replace(',', '.');\r\n}\r\n","import { MatPaginatorIntl } from '@angular/material/paginator';\r\n\r\nconst rangeLabel = (page: number, pageSize: number, length: number) => {\r\n if (length === 0 || pageSize === 0) {\r\n return `0 de ${length}`;\r\n }\r\n\r\n length = Math.max(length, 0);\r\n const startIndex = page * pageSize;\r\n const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\r\n\r\n return `${startIndex + 1} - ${endIndex} de ${length}`;\r\n};\r\n\r\nexport function getPtBrPaginatorIntl() {\r\n const paginatorIntl = new MatPaginatorIntl();\r\n\r\n paginatorIntl.itemsPerPageLabel = 'Registros por página';\r\n paginatorIntl.firstPageLabel = 'Primeira página';\r\n paginatorIntl.nextPageLabel = 'Próxima página';\r\n paginatorIntl.previousPageLabel = 'Voltar página';\r\n paginatorIntl.lastPageLabel = 'Última página';\r\n\r\n paginatorIntl.getRangeLabel = rangeLabel;\r\n\r\n return paginatorIntl;\r\n}\r\n","import { HttpHandler, HttpHeaderResponse, HttpInterceptor, HttpProgressEvent, HttpRequest, HttpResponse, HttpSentEvent, HttpUserEvent } from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { BehaviorSubject, Observable, throwError } from 'rxjs';\r\nimport { catchError, map } from 'rxjs/operators';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\n\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n isRefreshingToken = true;\r\n tokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private injector: Injector) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable | HttpUserEvent> {\r\n const authService = this.injector.get(AuthService);\r\n\r\n return next.handle(request).pipe(\r\n catchError(error => {\r\n if (error.status === 401) {\r\n authService.login();\r\n return next.handle(null);\r\n }\r\n\r\n if (error.error instanceof ErrorEvent) {\r\n // A client-side or network error occurred\r\n // TODO: Implementar tratativas para erro client-side e de rede\r\n\r\n\r\n } else {\r\n // Se for um retorno padronizado do backend\r\n if (error.error && error.error.sucesso !== undefined && error.error.mensagem !== undefined) {\r\n return throwError(error.error as IBaseModel);\r\n }\r\n }\r\n\r\n // Retorno padrão\r\n return throwError({ sucesso: false, mensagem: { nome: 'ErroInterno', descricao: 'Ocorreu um erro ao tentar realizar a operação' } } as IBaseModel);\r\n }));\r\n }\r\n}\r\n","import { HttpEvent, HttpHandler, HttpHeaderResponse, HttpInterceptor, HttpProgressEvent, HttpRequest, HttpResponse, HttpSentEvent, HttpUserEvent } from '@angular/common/http';\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { BehaviorSubject, Observable, throwError } from 'rxjs';\r\nimport { catchError, finalize, map, tap } from 'rxjs/operators';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\n\r\n\r\n@Injectable()\r\nexport class LoadingInterceptor implements HttpInterceptor {\r\n isRefreshingToken = true;\r\n tokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private injector: Injector) { }\r\n \r\n intercept(request: HttpRequest, next: HttpHandler): Observable | HttpUserEvent> {\r\n const spinner = this.injector.get(NgxSpinnerService);\r\n spinner.show();\r\n\r\n return next.handle(request).pipe(\r\n finalize(() => { \r\n spinner.hide();\r\n })\r\n );\r\n }\r\n}\r\n","export enum EnumAcaoRecurso\r\n{\r\n Inserir = 'Inserir',\r\n Consultar = 'Consultar',\r\n Editar = 'Editar',\r\n Visualizar = 'Visualizar',\r\n AtivarInativar = 'Ativar-Inativar',\r\n Excluir = 'Excluir',\r\n Imprimir='Imprimir',\r\n EnviarParaAprovacao='Enviar para Aprovação',\r\n Planejar='Planejar',\r\n Elaborar='Elaborar',\r\n GerarNovaVersao='Gerar Nova Versão',\r\n Relatoria='Relatoria',\r\n Avaliar='Avaliar',\r\n Detalhar='Detalhar',\r\n Exportar='Exportar',\r\n GerarPAA='Gerar PAA',\r\n Importar='Importar'\r\n}","export enum EQuestionarioUGSituacao {\r\n EmElaboracao = 1,\r\n Pendente = 2,\r\n Avocado = 3,\r\n EmValidacao = 4,\r\n EmReplica = 5,\r\n Expirado = 6,\r\n Finalizado = 7,\r\n EmPreenchimento = 8,\r\n Enviado = 9,\r\n Contestado = 10\r\n }\r\n\r\n export const EQuestionarioUGSituacaoDescricao = {\r\n [EQuestionarioUGSituacao.EmElaboracao]: 'Em Elaboração',\r\n [EQuestionarioUGSituacao.Pendente]: 'Pendente',\r\n [EQuestionarioUGSituacao.Avocado]: 'Avocado',\r\n [EQuestionarioUGSituacao.EmValidacao]: 'Em validação',\r\n [EQuestionarioUGSituacao.EmReplica]: 'Em réplica',\r\n [EQuestionarioUGSituacao.Expirado]: 'Expirado',\r\n [EQuestionarioUGSituacao.Finalizado]: 'Finalizado',\r\n [EQuestionarioUGSituacao.EmPreenchimento]: 'Em preenchimento',\r\n [EQuestionarioUGSituacao.Enviado]: 'Enviado',\r\n [EQuestionarioUGSituacao.Contestado]: 'Contestado'\r\n };\r\n ","export enum EnumRecursoPerfil {\r\n\r\n Cadastros = 'CadastrosBasicos',\r\n ManterPAA = 'Manter PAA',\r\n ManterPEA = 'Manter PEA',\r\n ManterOPA = 'Manter OPA',\r\n Configuracoes = 'Configurações',\r\n Planejamento = 'Planejamento',\r\n ManterOSA='Manter OSA',\r\n Auditoria='Auditoria',\r\n Aprovacoes='Aprovações',\r\n LogsDoSistema='Logs do Sistema',\r\n Aberto='Aberto',\r\n CadastroCategoriaRisco='Cadastro - Categoria Risco',\r\n PrePlanejamento='RelacionamentoComUG - PrePlanejamento',\r\n\tCadastroRiscos = \"Cadastro - Riscos\",\r\n\tCriteriosAvaliacaoRiscos = \"Cadastro - Riscos\",\r\n ModeloQuestionario='ModeloQuestionario',\r\n QuestionarioMaturidade='QuestionarioMaturidade',\r\n QuestionarioEntentendoEntidade='QuestionarioEntentendoEntidade',\r\n TipoUniversoAuditavel = 'TipoUniversoAuditavel',\r\n RiscosChaves = 'RiscosChaves'\r\n\r\n}\r\n","import { EQuestionarioUGSituacao, EQuestionarioUGSituacaoDescricao } from \"./questionario-ug-situacao.enum\";\r\n\r\nexport enum ERiscosChavesSituacao{\r\n EmElaboracao = 1,\r\n Pendente = 2,\r\n Avocado = 3,\r\n Expirado = 4,\r\n Finalizado = 5,\r\n}\r\nexport const ERiscosChavesSituacaoDescricao = {\r\n [ERiscosChavesSituacao.EmElaboracao]: 'Em Elaboração',\r\n [ERiscosChavesSituacao.Pendente]: 'Pendente',\r\n [ERiscosChavesSituacao.Avocado]: 'Avocado',\r\n [ERiscosChavesSituacao.Expirado]: 'Expirado',\r\n [ERiscosChavesSituacao.Finalizado]: 'Finalizado',\r\n};\r\n","export enum EnumStatusAvaliacaoQuestionarioUG {\r\n concordo = 1,\r\n concordoParcialmente = 2,\r\n discordo = 3\r\n}","export enum EnumStatusSolicitacaoTecnica {\r\n EmElaboracao = 1,\r\n\tFinalizada = 2,\r\n Enviada = 3,\r\n Cancelada = 4,\r\n SolicitacaoProrrogacao = 5,\r\n Prorrogada = 6,\r\n AtendidaParcialmente = 7,\r\n AtendidaTotalmente = 8,\r\n NaoAtendidaParcialmente = 9,\r\n NaoAtendidaTotalmente = 10,\r\n Pendente = 11,\r\n ProrrogacaoRejeitada = 12\r\n}","export enum EnumTipoAvaliacaoQuestionarioUG {\r\n avaliacao = 1,\r\n replica = 2,\r\n avaliacaoFinal = 3\r\n}","export enum EnumTipoDocumentoAprovacao {\r\n NaoSelecionado = 0,\r\n PEAC = 1,\r\n PAAC = 2,\r\n OPA = 3,\r\n OSA = 4,\r\n MatrizConstatacoes = 5,\r\n RelatorioAuditoria = 6,\r\n Planejamento = 7,\r\n PAACEspecial =8,\r\n EntendendoEntidade = 9,\r\n MaturidadeGestaoRisco = 10\r\n}","export enum EnumTipoFeriado {\r\n Nacional = 'Nacional',\r\n Estadual = 'Estadual',\r\n Municipal = 'Municipal',\r\n PontoFacultativo = 'PontoFacultativo',\r\n Outros = 'Outros'\r\n }\r\n ","export enum EnumTipoQuestionarioUG {\r\n EntendendoEntidade = 1,\r\n MaturidadeRisco = 2\r\n}","export enum TipoUniversoEnum{\r\n Padronizado = 1,\r\n NaoPadronizado= 2\r\n}\r\n","import { EQuestionarioUGSituacao, EQuestionarioUGSituacaoDescricao } from \"./questionario-ug-situacao.enum\";\r\n\r\nexport enum EUniversoAuditavelSituacao{\r\n EmElaboracao = 1,\r\n EmPreenchimento = 2,\r\n Revisao = 3,\r\n Pendente = 4,\r\n Avocado = 5,\r\n Expirado = 6,\r\n Finalizado = 7,\r\n}\r\nexport const EUniversoAuditavelSituacaoDescricao = {\r\n [EUniversoAuditavelSituacao.EmElaboracao]: 'Em Elaboração',\r\n [EUniversoAuditavelSituacao.EmPreenchimento]: 'Em preenchimento',\r\n [EUniversoAuditavelSituacao.Pendente]: 'Pendente',\r\n [EUniversoAuditavelSituacao.Revisao]: 'Revisao',\r\n [EUniversoAuditavelSituacao.Avocado]: 'Avocado',\r\n [EUniversoAuditavelSituacao.Expirado]: 'Expirado',\r\n [EUniversoAuditavelSituacao.Finalizado]: 'Finalizado',\r\n};\r\n","export class FiltroModel {\r\n pagina: number;\r\n itensPorPagina: number;\r\n direcao: string;\r\n colunaOrder: string;\r\n pesquisa = '';\r\n ativo: boolean;\r\n }\r\n","export class IPermissaoModel {\r\n consultar: boolean;\r\n incluir: boolean;\r\n editar: boolean;\r\n excluir: boolean;\r\n visualizar: boolean;\r\n inativarReativar: boolean;\r\n imprimir: boolean;\r\n enviarParaAprovacao:boolean;\r\n planejar:boolean;\r\n elaborar:boolean;\r\n gerarNovaVersao:boolean;\r\n relatoria:boolean;\r\n avaliar:boolean;\r\n exportar:boolean;\r\n detalhar:boolean;\r\n gerarPAA:boolean;\r\n importar:boolean;\r\n}\r\n","\r\n
\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n
\r\n\t\t\t
\r\n
\r\n\t\t\t
\r\n
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tNome\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ element.coordenacao.nome }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t
Cargo\r\n\t\t\t\t\t\t\t Coordenador Titular\r\n\t\t\t\t\t\t\t Coordenador Substituindo\r\n\t\t\t\t\t\t\t Coordenador Respondendo\r\n\t\t\t\t\t\t\t Auditor do Estado\r\n\t\t\t\t\t\t\tSituação\r\n\t\t\t\t\t\t\t Ativo\r\n\t\t\t\t\t\t\t Inativo\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tAuditor sem coordenações\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n
\r\n","import { AfterViewInit, Component, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { IAgentePublicoModel } from \"src/app/models/agente-publico.model\";\r\nimport { IAuditorCoordenacaoModel } from \"src/app/models/auditor-coordenacao.model\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogConfig,\r\n} from \"@angular/material/dialog\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { defaultDataAcessor } from \"src/app/core/helpers/mat-sort-data-accessor\";\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { AgentePublicoService } from \"src/app/services/agente-publico.service\";\r\nimport Swal from 'sweetalert2';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n\tswitch (property) {\r\n\t case 'nome':\r\n\t\treturn item.pessoa.nome;\r\n\t case 'cpfFormatted':\r\n\t\treturn item.pessoa.cpf;\r\n\t default:\r\n\t\treturn item[property];\r\n\t}\r\n };\r\n\r\n@Component({\r\n\tselector: \"app-aba-dados-basicos\",\r\n\ttemplateUrl: \"./aba-dados-basicos.component.html\",\r\n\tstyleUrls: [\"./aba-dados-basicos.component.scss\"],\r\n})\r\nexport class AgentePublicoAbaDadosBasicosComponent extends BaseFormComponent{\r\n\t@Input() public visualizar;\r\n\r\n\tpublic model : IAgentePublicoModel;\r\n\tpublic aba = 0;\r\n\tpublic auditorCoordenacoesDataSource = new MatTableDataSource([]);\r\n\tpublic auditorCoordenacaoSemDados = true;\r\n\tpublic displayedColumns: string[] = ['nome', 'cargo', 'situacao'];\r\n \r\n\tpublic form = new FormGroup({\r\n\t nome: new FormControl(null, Validators.required),\r\n\t cpf: new FormControl(null, Validators.required),\r\n\t numeroFuncional: new FormControl(null, Validators.required)\r\n\t});\r\n\r\n\r\n\tconstructor(\r\n\t\tpublic route: ActivatedRoute,\r\n\t\tpublic toastr: ToastrService,\r\n\t\tpublic router: Router,\r\n\t\tpublic localeService: BsLocaleService,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate agentePublicoService: AgentePublicoService,\r\n\t\t\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\t\tthis.titulo = 'Agente público';\r\n\t\t\r\n\t}\r\n\r\n \r\n\tasync ngOnInit(): Promise {\r\n\t\tawait this.buscar();\r\n\t}\r\n\r\n\r\n public async buscar() {\r\n\r\n\tconst res = await this.agentePublicoService.getDadosBasicos(this.id);\r\n\tif (res.sucesso) {\r\n\t this.model = res.dados;\r\n\t this.auditorCoordenacoesDataSource = new MatTableDataSource(this.model.auditorCoordenacoes);\r\n\t this.auditorCoordenacaoSemDados = this.auditorCoordenacoesDataSource.filteredData.length === 0;\r\n\t} else {\r\n\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n \tthis.router.navigate(['/tipo-enfase']);\r\n\t return;\r\n\t}\r\n\r\n\tthis.form.controls['nome'].setValue(this.model.pessoa.nome);\r\n\tthis.form.controls['cpf'].setValue(this.model.pessoa.cpfFormatted);\r\n\tthis.form.controls['numeroFuncional'].setValue(this.model.numeroFuncional);\r\n\r\n\t}\r\n\r\n\tprivate atualizarModel(values: any) {\r\n\t\tObject.assign(this.model, values);\r\n\t }\r\n\t\r\n\t public onBack() {\r\n\t\tthis.router.navigate(['/agente-publico']);\r\n\t }\r\n\t \r\n\t public cancelar() {\r\n\t\tthis.router.navigate(['/agente-publico']);\r\n\t }\r\n\r\n\r\n}\r\n","\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tAdicionar dispensa\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ item }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
Descrição\r\n\t\t\t\t\t\t{{ element.tipoDispensa.nome }}\r\n\t\t\t\t\tInicio\r\n\t\t\t\t\t\t{{ element.dataInicioFormatted }}\r\n\t\t\t\t\tFim\r\n\t\t\t\t\t\t{{ element.dataFimFormatted }}\r\n\t\t\t\t\tQtd. Dias\r\n\t\t\t\t\t\t{{ element.qtdDias }}\r\n\t\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\tSem dados a exibir\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\r\n","import { AfterViewInit, Component, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { IAgentePublicoModel } from \"src/app/models/agente-publico.model\";\r\nimport { IAuditorCoordenacaoModel } from \"src/app/models/auditor-coordenacao.model\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogConfig,\r\n} from \"@angular/material/dialog\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { defaultDataAcessor } from \"src/app/core/helpers/mat-sort-data-accessor\";\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { AgentePublicoService } from \"src/app/services/agente-publico.service\";\r\nimport Swal from 'sweetalert2';\r\nimport { IAgentePublicoDisponibilidadeModel } from \"src/app/models/agente-publico-disponibilidade.model\";\r\nimport { SharedService } from \"src/app/services/shared.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { IAgentePublicoDispensaModel } from \"src/app/models/agente-publico-dispensa.model\";\r\nimport { ModalAdicionarDispensaComponent } from \"./modal-adicionar-dispensa/modal-adicionar-dispensa.component\";\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n\tswitch (property) {\r\n\t case 'nome':\r\n\t\treturn item.pessoa.nome;\r\n\t case 'cpfFormatted':\r\n\t\treturn item.pessoa.cpf;\r\n\t default:\r\n\t\treturn item[property];\r\n\t}\r\n };\r\n\r\n@Component({\r\n\tselector: \"app-aba-dispensas\",\r\n\ttemplateUrl: \"./aba-dispensas.component.html\",\r\n\tstyleUrls: [\"./aba-dispensas.component.scss\"],\r\n})\r\nexport class AgentePublicoAbaDispensasComponent extends BaseFormComponent{\r\n\t\r\n\t@Input() public visualizar;\r\n\r\n\tclickEventSubscription: Subscription;\r\n\tpublic model : IAgentePublicoModel;\r\n\tpublic aba = 0;\r\n\tpublic selectedModelYears: Array = [];\r\n\tpublic selectedYear: number;\r\n\tpublic semDados = true;\r\n\tpublic dispensasDataSource = new MatTableDataSource([]);\r\n \r\n\tpublic form = new FormGroup({\r\n\t\tnome: new FormControl(null, Validators.required),\r\n\t});\r\n\r\n\r\n\tconstructor(\r\n\t\tpublic route: ActivatedRoute,\r\n\t\tpublic toastr: ToastrService,\r\n\t\tpublic router: Router,\r\n\t\tpublic localeService: BsLocaleService,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate agentePublicoService: AgentePublicoService,\r\n\t\tprivate sharedService: SharedService,\r\n\t\t\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\t\tthis.titulo = 'Agente público';\r\n\t\tthis.clickEventSubscription = this.sharedService\r\n\t\t\t.getEvent()\r\n\t\t\t.subscribe(() => {\r\n\t\t\t\tthis.onSalvar();\r\n\t\t\t});\r\n\t}\r\n\r\n \r\n\tasync ngOnInit(): Promise {\r\n\t\tawait this.popularComboAnos();\r\n\t\tthis.buscar();\r\n\t}\r\n\r\n\r\n public async buscar() {\r\n\r\n\tconst res = await this.agentePublicoService.getDadosDispensas(this.id, this.selectedYear);\r\n\tif(res.sucesso){\r\n\t\tthis.model = res.dados;\r\n\t\tthis.titulo = \"Agente Público: \" + this.model.pessoa.nome;\r\n\t\tthis.dispensasDataSource = new MatTableDataSource(this.model.dispensas);\r\n\t\tthis.semDados = this.dispensasDataSource.filteredData.length === 0;\r\n\t}\r\n\r\n\t}\r\n\r\n\tprivate atualizarModel(values: any) {\r\n\t\tObject.assign(this.model, values);\r\n\t }\r\n\t\r\n\t public onBack() {\r\n\t\tthis.router.navigate(['/agente-publico']);\r\n\t }\r\n\t \r\n\t public cancelar() {\r\n\t\tthis.router.navigate(['/agente-publico']);\r\n\t }\r\n\r\n\t \r\n\t public excluirDispensa(id: number){\r\n\t\tSwal.fire({\r\n\t\t\ttitle: 'Exclusão de dispensa',\r\n\t\t\ttext:\r\n\t\t\t `Deseja realmente excluir esta dispensa?`,\r\n\t\t\ticon: 'warning',\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: 'Sim',\r\n\t\t\tcancelButtonText: 'Não',\r\n\t\t }).then(async (result) => {\r\n\t\t\tif (result.value) {\r\n\t\t\t this.agentePublicoService\r\n\t\t\t\t\t\t.excluirDispensa(id)\r\n\t\t\t\t\t\t.then((res) =>{\r\n\t\t\t\t\t\t if(res.sucesso){\r\n\t\t\t\t\t\t\tthis.exibirMensagemSucesso(res.mensagem.descricao);\r\n\t\t\t\t\t\t\tthis.buscar();\r\n\t\t\t\t\t\t }else{\r\n\t\t\t\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t.catch((err)=>{\r\n\t\t\t\t\t\t this.exibirMensagemAlerta(err);\r\n\t\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t });\r\n\t }\r\n\r\n\t public async onSalvar(){\r\n\t\t\r\n\r\n\t }\r\n\r\n\t public abrirModalDispensa(element: IAgentePublicoDispensaModel){\r\n\t\t\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n\t\tid: element ? element.id : 0,\r\n agentePublicoId: this.model.idAgentePublico,\r\n\t\tanoSelecionado: this.selectedYear,\r\n\t\ttipoDispensaId: element? element.tipoDispensaId : 0,\r\n\t\tdataInicio: element ? element.dataInicio : null,\r\n\t\tdataFim: element ? element.dataFim : null,\r\n\t\tqtdDias : element ? element.qtdDias : 0\r\n };\r\n \r\n\t const modal = this.matDialog.open(\r\n ModalAdicionarDispensaComponent,\r\n dialogConfig\r\n );\r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.buscar();\r\n }\r\n });\r\n\t }\r\n\r\n\t public async popularComboAnos(){\r\n\t\tconst anoAtual = new Date().getFullYear();\r\n\t\tthis.selectedModelYears.push(anoAtual + 4);\r\n\t\tthis.selectedModelYears.push(anoAtual + 3);\r\n\t\tthis.selectedModelYears.push(anoAtual + 2);\r\n\t\tthis.selectedModelYears.push(anoAtual + 1);\r\n\t\tthis.selectedModelYears.push(anoAtual);\r\n\t\tthis.selectedModelYears.push(anoAtual - 1);\r\n\t\tthis.selectedModelYears.push(anoAtual - 2);\r\n\t\tthis.selectedYear = anoAtual;\r\n\t }\r\n\r\n\t public async onChangeSelectAno(element) {\r\n\t\tthis.buscar();\r\n\t }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

{{nomeAcaoBotaoSalvar()}} dispensa

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ item.nome }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Insira uma data de ínicio.\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Insira uma data de fim.\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
","import { ToastrService } from 'ngx-toastr';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { DateHelper } from 'src/app/core/helpers/date.helper';\r\nimport Swal from 'sweetalert2';\r\nimport { IAgentePublicoDispensaModel } from 'src/app/models/agente-publico-dispensa.model';\r\nimport { ITipoDispensaModel } from 'src/app/models/tipo-dispensa.model';\r\nimport { TipoDispensaService } from 'src/app/services/tipo-dispensa.service';\r\nimport { AgentePublicoService } from 'src/app/services/agente-publico.service';\r\n\r\n@Component({\r\n selector: 'app-modal-adicionar-dispensa',\r\n templateUrl: './modal-adicionar-dispensa.component.html',\r\n styleUrls: ['./modal-adicionar-dispensa.component.scss'],\r\n})\r\n\r\nexport class ModalAdicionarDispensaComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n \r\n public model = {} as IAgentePublicoDispensaModel;\r\n public minDate: Date;\r\n public maxDate: Date;\r\n public houveSugestaoData: boolean;\r\n public dataInvalida: boolean;\r\n public dataFinalSugerida: Date;\r\n public anoSelecionado: number;\r\n\r\n public dataObrigatoria = false;\r\n\r\n public tabelaTipoDispensa = [] as ITipoDispensaModel[];\r\n public selectedTipoDispensa = {} as ITipoDispensaModel;\r\n\r\n public qtdDias: number = 0;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n private tipoDispensaService: TipoDispensaService,\r\n private agentePublicoService: AgentePublicoService,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n \r\n \r\n if(data.id && data.id != 0){\r\n this.model.id = this.data.id;\r\n this.model.agentePublicoId = this.data.agentePublicoId;\r\n this.anoSelecionado = this.data.anoSelecionado;\r\n this.model.tipoDispensaId = this.data.tipoDispensaId;\r\n this.model.dataInicio = new Date(this.data.dataInicio);\r\n this.model.dataFim = new Date(this.data.dataFim);\r\n this.model.qtdDias = this.data.qtdDias;\r\n this.qtdDias = this.model.qtdDias;\r\n \r\n }else{\r\n this.model.agentePublicoId = data?.agentePublicoId;\r\n this.anoSelecionado = data?.anoSelecionado;\r\n\r\n this.minDate = new Date(data?.anoSelecionado, 1 - 1, 1);\r\n this.maxDate = new Date(data?.anoSelecionado, 12 - 1, 31);\r\n }\r\n \r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscarTiposDispensa();\r\n }\r\n\r\n\r\n ngOnChangeDataInicio(event:any): void {\r\n if(event)\r\n this.validaData(this.model.dataInicio, true);\r\n \r\n if(this.model.tipoDispensaId){\r\n const qtdDias = this.tabelaTipoDispensa.find(t => t.id === this.model.tipoDispensaId).quantidadeDiasPadrao;\r\n if(qtdDias > 0){\r\n const novaData = new Date(this.model.dataInicio);\r\n novaData.setDate(novaData.getDate() + qtdDias - 1);\r\n this.model.dataFim = new Date(novaData);\r\n }\r\n \r\n }\r\n }\r\n \r\n ngOnChangeDataFim(event:any): void {\r\n if(event)\r\n this.validaData(this.model.dataFim, false);\r\n }\r\n\r\n public async validaData(dataReferencia: Date, isDataInicial: boolean){\r\n if(!dataReferencia)\r\n return false;\r\n }\r\n\r\n\r\n\r\n \r\n ngAfterViewInit(): void {\r\n \r\n }\r\n\r\n public verificarDatas() {\r\n if (this.model.dataInicio == null || this.model.dataFim == null) {\r\n this.setDataObrigatoria();\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: 'Por favor, preencha os campo com a data incial e data fim',\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public setDataObrigatoria() {\r\n this.dataObrigatoria = true;\r\n }\r\n\r\n public async concluir() {\r\n\r\n if(!this.verificarDatas()){\r\n return false;\r\n } \r\n\r\n if(this.model.dataInicio > this.model.dataFim){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: \"Data inicial não pode ser maior que a data final\",\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n return false;\r\n }\r\n\r\n if(this.dataInvalida == true){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: \"Data inválida\",\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n return false;\r\n }\r\n\r\n if(this.houveSugestaoData && this.model.dataFim > this.dataFinalSugerida)\r\n {\r\n Swal.fire({\r\n title: 'Atenção',\r\n text: \"O período informado é maior do que o definido para o tipo de auditoria. Deseja continuar?\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n if (res.value) {\r\n if (this.verificarDatas()) {\r\n \r\n this.inserirAtualizar();\r\n }\r\n }\r\n });\r\n }else{\r\n if (this.verificarDatas()) {\r\n \r\n this.inserirAtualizar();\r\n }\r\n }\r\n\r\n }\r\n\r\n private async inserirAtualizar(){\r\n \r\n this.model.qtdDias = this.selectedTipoDispensa.quantidadeDiasPadrao;\r\n if(this.model.id && this.model.id != 0){\r\n this.atualizar();\r\n }else{\r\n this.inserir();\r\n }\r\n }\r\n\r\n private async inserir() {\r\n \r\n try{\r\n await this.agentePublicoService.inserirDispensa(this.model)\r\n .then(res => {\r\n if(res.sucesso){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"success\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n });\r\n this.dialogRef.close(true);\r\n }\r\n else{\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"error\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n }\r\n });\r\n }catch(err){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"error\",\r\n text: err,\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n }\r\n \r\n }\r\n\r\n private async atualizar() {\r\n \r\n try{\r\n await this.agentePublicoService.atualizarDispensa(this.model)\r\n .then(res => {\r\n if(res.sucesso){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"success\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.dialogRef.close(true);\r\n }\r\n else{\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"error\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n }\r\n });\r\n }catch(err){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"error\",\r\n text: err,\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n }\r\n \r\n }\r\n public async buscarTiposDispensa(){\r\n const tipos = await this.tipoDispensaService\r\n .obter('', true)\r\n .then(res => {\r\n if(res.sucesso)\r\n this.tabelaTipoDispensa = res.dados;\r\n \r\n });\r\n \r\n }\r\n\r\n nomeAcaoBotaoSalvar(): string{\r\n return this.model.id && this.model.id != 0 ? \"Atualizar\" : \"Inserir\"\r\n }\r\n \r\n\r\n public onSelectTpoDispensa(e) {\r\n this.selectedTipoDispensa = this.tabelaTipoDispensa.find(t => t.id === this.model.tipoDispensaId);\r\n this.qtdDias = this.selectedTipoDispensa.quantidadeDiasPadrao;\r\n if (this.model.dataInicio != null && this.model.dataInicio != undefined) {\r\n this.ngOnChangeDataInicio(null);\r\n }\r\n } \r\n\r\n public cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n \r\n}\r\n\r\n","\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\tTipo Trabalho\t\r\n\t\t\t\t\r\n\t\t\t\t\t{{ element.tipoTrabalho.nome }}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\tPercentual\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t
TOTAL{{ calculateTotal() }}
\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\r\n\t
\r\n\t
\r\n\r\n","import { AfterViewInit, Component, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { IAgentePublicoModel } from \"src/app/models/agente-publico.model\";\r\nimport { IAuditorCoordenacaoModel } from \"src/app/models/auditor-coordenacao.model\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogConfig,\r\n} from \"@angular/material/dialog\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { defaultDataAcessor } from \"src/app/core/helpers/mat-sort-data-accessor\";\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { AgentePublicoService } from \"src/app/services/agente-publico.service\";\r\nimport Swal from 'sweetalert2';\r\nimport { IAgentePublicoDisponibilidadeModel } from \"src/app/models/agente-publico-disponibilidade.model\";\r\nimport { SharedService } from \"src/app/services/shared.service\";\r\nimport { Subscription } from \"rxjs\";\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n\tswitch (property) {\r\n\t case 'nome':\r\n\t\treturn item.pessoa.nome;\r\n\t case 'cpfFormatted':\r\n\t\treturn item.pessoa.cpf;\r\n\t default:\r\n\t\treturn item[property];\r\n\t}\r\n };\r\n\r\n@Component({\r\n\tselector: \"app-aba-disponibilidade\",\r\n\ttemplateUrl: \"./aba-disponibilidade.component.html\",\r\n\tstyleUrls: [\"./aba-disponibilidade.component.scss\"],\r\n})\r\nexport class AgentePublicoAbaDisponibilidadeComponent extends BaseFormComponent{\r\n\t\r\n\t@Input() public visualizar;\r\n\r\n\tclickEventSubscription: Subscription;\r\n\tpublic model : IAgentePublicoModel;\r\n\tpublic aba = 0;\r\n\tpublic selectedModelYears: Array = [];\r\n\tpublic selectedYear: number;\r\n\tpublic tiposTrabalhosInputs: IAgentePublicoDisponibilidadeModel[] = [] as IAgentePublicoDisponibilidadeModel[];\r\n\tpublic disponibilidadeDataSource = new MatTableDataSource([]);\r\n \r\n\tpublic form = new FormGroup({\r\n\t\tnome: new FormControl(null, Validators.required),\r\n\t});\r\n\r\n\r\n\tconstructor(\r\n\t\tpublic route: ActivatedRoute,\r\n\t\tpublic toastr: ToastrService,\r\n\t\tpublic router: Router,\r\n\t\tpublic localeService: BsLocaleService,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate agentePublicoService: AgentePublicoService,\r\n\t\tprivate sharedService: SharedService,\r\n\t\t\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\t\tthis.titulo = 'Agente público';\r\n\t\tthis.clickEventSubscription = this.sharedService\r\n\t\t\t.getEvent()\r\n\t\t\t.subscribe(() => {\r\n\t\t\t\tthis.onSalvar();\r\n\t\t\t});\r\n\t}\r\n\r\n \r\n\tasync ngOnInit(): Promise {\r\n\t\tawait this.popularComboAnos();\r\n\t\tthis.buscar();\r\n\t}\r\n\r\n\r\n public async buscar() {\r\n\r\n\tconst res = await this.agentePublicoService.getDadosDisponibilidade(this.id, this.selectedYear);\r\n\tif(res.sucesso){\r\n\t\tthis.model = res.dados;\r\n\t\tthis.titulo = \"Agente Público: \" + this.model.pessoa.nome;\r\n\t\tthis.tiposTrabalhosInputs = this.model.disponibilidades;\r\n\t\tthis.disponibilidadeDataSource = new MatTableDataSource(this.model.disponibilidades);\r\n\t}\r\n\r\n\t}\r\n\r\n\tprivate atualizarModel(values: any) {\r\n\t\tObject.assign(this.model, values);\r\n\t }\r\n\t\r\n\t public onBack() {\r\n\t\tthis.router.navigate(['/agente-publico']);\r\n\t }\r\n\t \r\n\t public cancelar() {\r\n\t\tthis.router.navigate(['/agente-publico']);\r\n\t }\r\n\r\n\t public async popularComboAnos(){\r\n\t\tconst anoAtual = new Date().getFullYear();\r\n\t\tthis.selectedModelYears.push(anoAtual + 4);\r\n\t\tthis.selectedModelYears.push(anoAtual + 3);\r\n\t\tthis.selectedModelYears.push(anoAtual + 2);\r\n\t\tthis.selectedModelYears.push(anoAtual + 1);\r\n\t\tthis.selectedModelYears.push(anoAtual);\r\n\t\tthis.selectedModelYears.push(anoAtual - 1);\r\n\t\tthis.selectedModelYears.push(anoAtual - 2);\r\n\t\tthis.selectedYear = anoAtual;\r\n\t }\r\n\r\n\t public calculateTotal() {\r\n\t\t\r\n\t\tlet total = 0;\r\n\t\tif(this.disponibilidadeDataSource.data.length > 0){\r\n\t\t\ttotal = this.disponibilidadeDataSource.data\r\n\t\t\t.map((item) => item.percentual)\r\n\t\t\t.reduce((acum, currentElement) => {\r\n\t\t\t\treturn acum + currentElement;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn total;\r\n\t }\r\n\r\n\t public async onSalvar(){\r\n\t\t\r\n\t\ttry{\r\n\t\t\tconst res = await this.agentePublicoService.salvarDadosDisponibilidade(this.model.disponibilidades);\r\n\t\t\tif(res.sucesso)\r\n\t\t\t\tthis.exibirMensagemSucesso(res.mensagem.descricao);\r\n\t\t\telse\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t}catch (err){\r\n\t\t\tthis.exibirMensagemErro(err);\r\n\t\t}\r\n\r\n\t }\r\n\r\n\t public async onSelectTipoAuditoria(element) {\r\n\t\tthis.buscar();\r\n\t }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Agente público\r\n
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n\r\n
    \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tDados básicos\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tDisponibilidade\r\n\t\t\t\t\t\t\t
  • \r\n
  • \r\n\t\t\t\t\t\t\t\tDispensas\r\n\t\t\t\t\t\t\t
  • \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ViewChild, EventEmitter, Output } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IAgentePublicoModel } from 'src/app/models/agente-publico.model';\r\nimport { AgentePublicoService } from 'src/app/services/agente-publico.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-agente-publico-form',\r\n templateUrl: './agente-publico-form.component.html',\r\n styleUrls: ['./agente-publico-form.component.scss']\r\n})\r\nexport class AgentePublicoFormComponent extends BaseFormComponent {\r\n public model : IAgentePublicoModel;\r\n public aba = 0;\r\n public showBtnSalvar = false;\r\n @Output() public abaEmitter: EventEmitter = new EventEmitter();\r\n \r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n cpf: new FormControl('', Validators.required),\r\n numeroFuncional: new FormControl('', Validators.required)\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private agentePublicoService: AgentePublicoService,\r\n public matDialog: MatDialog,\r\n private sharedService: SharedService\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n this.titulo = 'Agente público';\r\n }\r\n\r\n async ngOnInit() {\r\n await this.agentePublicoService.obterPorId(this.id).then(res => {\r\n if(res.sucesso){\r\n this.model = res.dados;\r\n this.titulo = `Agente público: ${this.model.pessoa.nome}`\r\n }\r\n })\r\n }\r\n\r\n public salvar(){\r\n this.sharedService.sendSalvarEvent();\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public mudarAba(ind: number) {\r\n this.aba = ind;\r\n this.abaEmitter.next(this.aba);\r\n this.showBtnSalvar = this.aba === 1 ? true : false;\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/agente-publico']);\r\n }\r\n \r\n public cancelar() {\r\n this.router.navigate(['/agente-publico']);\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Agentes públicos
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Agentes públicos\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Nome {{element.pessoa.nome}} CPF {{element.pessoa.cpfFormatted}} Nº Funcional {{element.numeroFuncional}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\nimport { IAgentePublicoModel } from 'src/app/models/agente-publico.model';\r\nimport { IFiltroAgentePublico } from 'src/app/models/filtros/filtro-agente-publico.model';\r\nimport { AgentePublicoService } from 'src/app/services/agente-publico.service';\r\nimport { IAgentePublicoViewModel } from 'src/app/models/viewmodels/agente-publico-viewmodel';\r\nimport { formatDate } from '@angular/common';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'nome':\r\n return item.pessoa.nome;\r\n case 'cpfFormatted':\r\n return item.pessoa.cpf;\r\n default:\r\n return item[property];\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-agente-publico-list',\r\n templateUrl: './agente-publico-list.component.html',\r\n styleUrls: ['./agente-publico-list.component.scss']\r\n})\r\nexport class AgentePublicoListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IAgentePublicoModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'cpfFormatted', 'numeroFuncional', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n public filtro = {} as IFiltroAgentePublico;\r\n public totalItens: number;\r\n public pageEvent: any;\r\n public model : IAgentePublicoViewModel;\r\n\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private agentePublicoService: AgentePublicoService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n this.configurarFiltro();\r\n this.buscar();\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n\r\n public toolTipDataUltimaAtualizacao(){\r\n let toolTip = 'Última atualização: ';\r\n\r\n if(this.model && this.model.ultimaAtualizacao)\r\n toolTip += `${formatDate(this.model.ultimaAtualizacao,'dd/MM/yyyy HH:mm','pt-BR')}`;\r\n return toolTip;\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n this.agentePublicoService\r\n .obterViewModel(this.filtro)\r\n .then((res) => {\r\n this.model = res.dados;\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n this.configurarFiltro();\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemAlerta(err);\r\n })\r\n }\r\n\r\n public sincronizar() {\r\n \r\n Swal.fire({\r\n title: 'Atualização de agentes públicos',\r\n text:\r\n `${this.toolTipDataUltimaAtualizacao()}. Deseja realmente atualizar a base? (Isso pode levar um tempo).`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(async (result) => {\r\n if (result.value) {\r\n this.agentePublicoService\r\n .sincronizar()\r\n .then((res) =>{\r\n if(res.sucesso){\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.toolTipDataUltimaAtualizacao();\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err)=>{\r\n this.exibirMensagemAlerta(err);\r\n });\r\n }\r\n });\r\n \r\n }\r\n\r\n \r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/agente-publico/${id}`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.idAgentePublico !== item.idAgentePublico ? item : null;\r\n }\r\n\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/agente-publico/${id}/visualizar`]);\r\n }\r\n\r\n private configurarFiltro() {\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.pesquisa = this.searchNome;\r\n this.filtro.direcao = this.sort.direction;\r\n this.filtro.colunaOrder = this.sort.active;\r\n }\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n}\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n\r\n public reativar(id: number) {\r\n this.agentePublicoService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Agente público reativado com sucesso.');\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.agentePublicoService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Agente público inativado com sucesso.');\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { IAprovacaoModel } from 'src/app/models/aprovacao.model';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IFiltroAprovacao } from 'src/app/models/filtros/filtro-aprovacao.model';\r\nimport { IFiltroLog } from 'src/app/models/filtros/filtro-log.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AprovacaoService } from 'src/app/services/aprovacao.service';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\nimport { ModalAvaliarComponent } from './modal-avaliar/modal-avaliar.component';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'tipoTrabalho':\r\n return item.tipoDocumentoAprovacao.descricao;\r\n case 'situacao':\r\n return item.situacao.nome;\r\n default:\r\n return item[property];\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-aprovacao-list',\r\n templateUrl: './aprovacao-list.component.html',\r\n styleUrls: ['./aprovacao-list.component.scss'],\r\n})\r\nexport class AprovacaoListComponent extends BaseListComponent implements OnInit {\r\n public model: IAprovacaoModel = {} as IAprovacaoModel;\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IAprovacaoModel;\r\n public displayedColumns: string[] = ['selecao', 'tipoTrabalho', 'nome', 'situacao'];\r\n public searchNome: string;\r\n public searchTodos: string;\r\n public semDados = true;\r\n public searchSituacaoDocumento: number;\r\n public searchTipoDocumento: number;\r\n\r\n public pageEvent: any;\r\n private filtro: IFiltroAprovacao = {} as IFiltroAprovacao;\r\n public totalItens: number;\r\n\r\n public filtradoPor = 'Todos';\r\n public chamadaPendencia = false;\r\n\r\n @ViewChild('TableOnePaginator', { static: true })\r\n tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true })\r\n paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true })\r\n sort: MatSort;\r\n\r\n constructor(\r\n private aprovacaoService: AprovacaoService,\r\n private router: Router,\r\n public matDialog: MatDialog,\r\n public authService: AuthService,\r\n public route: ActivatedRoute\r\n ) {\r\n super();\r\n const id = this.route.snapshot.paramMap.get(\"id\");\r\n if (id != undefined && id != \"\") {\r\n this.chamadaPendencia = true;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Aprovacoes,\r\n EnumAcaoRecurso.Consultar\r\n );\r\n this.permissoes.relatoria = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Aprovacoes,\r\n EnumAcaoRecurso.Relatoria\r\n );\r\n this.permissoes.avaliar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Aprovacoes,\r\n EnumAcaoRecurso.Avaliar\r\n );\r\n this.permissoes.visualizar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Aprovacoes,\r\n EnumAcaoRecurso.Visualizar\r\n );\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.configFiltro();\r\n this.buscar();\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n\r\n public buscar() {\r\n this.configFiltro();\r\n this.selectedModel = null;\r\n\r\n this.aprovacaoService\r\n .obter(this.filtro)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n if (this.chamadaPendencia) {\r\n var id = parseInt(this.route.snapshot.paramMap.get(\"id\"));\r\n var tipoDocumentoAprovacao = parseInt(this.route.snapshot.paramMap.get(\"tipoDocumentoAprovacao\"));\r\n this.selectedModel = res.dados.resultado.filter(d => d.id == id && d.tipoDocumentoAprovacao.codigo == tipoDocumentoAprovacao)[0];\r\n if (this.selectedModel == undefined) {\r\n this.tableOnePaginator.pageIndex = this.tableOnePaginator.pageIndex + 1;\r\n this.buscar();\r\n } else {\r\n this.chamadaPendencia = false;\r\n if (this.selectedModel?.situacao?.codigo != 4)\r\n this.modalAvaliar();\r\n else {\r\n var id = parseInt(this.route.snapshot.paramMap.get(\"id\"));\r\n this.linhaTempo(id);\r\n }\r\n }\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemAlerta(err.mensagem.descricao);\r\n })\r\n .finally(() => { });\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n\r\n public modalAvaliar() {\r\n try {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-avaliar';\r\n dialogConfig.width = '700px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n id: this.selectedModel.id,\r\n tipoDocumento: this.selectedModel.tipoDocumentoAprovacao,\r\n };\r\n\r\n const modal = this.matDialog.open(ModalAvaliarComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n this.buscar();\r\n });\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } finally {\r\n }\r\n }\r\n\r\n public linhaTempo(id: number) {\r\n // PEAC\r\n if (this.selectedModel.tipoDocumentoAprovacao.codigo === 1) {\r\n this.router.navigate([`/pea/${id}/visualizar`], { queryParams: { aba: 6 } });\r\n }\r\n\r\n // PAAC\r\n if (this.selectedModel.tipoDocumentoAprovacao.codigo === 2) {\r\n this.router.navigate([`/paa/${id}/visualizar`], { queryParams: { aba: 6 } });\r\n }\r\n\r\n // OPA\r\n if (this.selectedModel.tipoDocumentoAprovacao.codigo === 3) {\r\n this.router.navigate([`/opa/${id}/visualizar`], { queryParams: { aba: 6 } });\r\n }\r\n\r\n // OSA\r\n if (this.selectedModel.tipoDocumentoAprovacao.codigo === 4) {\r\n this.router.navigate([`/osa/${id}/visualizar`], { queryParams: { aba: 6 } });\r\n }\r\n\r\n // Relatório de Auditoria\r\n if (this.selectedModel.tipoDocumentoAprovacao.codigo === 6) {\r\n this.router.navigate([`/auditoria/${id}/visualizar`], { queryParams: { aba: 6 } });\r\n }\r\n\r\n // Planejamento\r\n if (this.selectedModel.tipoDocumentoAprovacao.codigo === 7) {\r\n this.router.navigate([`/planejamento/${id}/visualizar`], { queryParams: { aba: 6 } });\r\n }\r\n }\r\n\r\n public relatoria(id: number) {\r\n if (this.selectedModel.tipoDocumentoAprovacao.codigo === 1) {\r\n this.router.navigate([`/pea/${id}/editar-relatoria`], { queryParams: { aba: 5 } });\r\n } else if (this.selectedModel.tipoDocumentoAprovacao.codigo === 2) {\r\n this.router.navigate([`/paa/${id}/editar-relatoria`], { queryParams: { aba: 5 } });\r\n } else if (this.selectedModel.tipoDocumentoAprovacao.codigo === 3) {\r\n this.router.navigate([`/opa/${id}/editar-relatoria`], { queryParams: { aba: 5 } });\r\n } else if (this.selectedModel.tipoDocumentoAprovacao.codigo === 7) {\r\n this.router.navigate([`/planejamento/${id}/editar-relatoria`], { queryParams: { aba: 5 } });\r\n } else if (this.selectedModel.tipoDocumentoAprovacao.codigo === 4) {\r\n this.router.navigate([`/osa/${id}/editar-relatoria`], { queryParams: { aba: 5 } });\r\n }\r\n }\r\n\r\n configFiltro() {\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.colunaOrder = this.sort.active;\r\n this.filtro.direcao = this.sort.direction;\r\n this.filtro.searchSituacaoDocumento = this.searchSituacaoDocumento;\r\n this.filtro.searchTipoDocumento = this.searchTipoDocumento;\r\n this.filtro.pesquisa = this.searchNome;\r\n }\r\n\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n }\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Avaliação do Tipo de Trabalho
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Avaliação do Tipo de Trabalho\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Avaliar\r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n Todos\r\n\r\n PEAC\r\n\r\n PAAC\r\n\r\n OPA\r\n\r\n OSA\r\n\r\n Planejamento\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n Todos\r\n\r\n Em aprovação\r\n\r\n Homologados\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Tipo de\r\n Trabalho \r\n {{element?.tipoDocumentoAprovacao?.descricao}} Nome\r\n {{element?.nome}} \r\n Situação \r\n Homologado\r\n Em\r\n Aprovação\r\n
\r\n
Nenhum registro\r\n encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { AfterViewInit, Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport Inputmask from 'inputmask';\r\nimport { ModalCancelarComponent } from '../../../shared/components/modal-cancelar/modal-cancelar-component';\r\nimport Swal from 'sweetalert2';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { AprovacaoService } from 'src/app/services/aprovacao.service';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { ModalEntranharComponent } from '../../paa-elaborar/modal-entranhar/modal-entranhar.component';\r\nimport { Router } from '@angular/router';\r\nimport { PeaService } from 'src/app/services/pea.service';\r\nimport { PaaService } from 'src/app/services/paa.service';\r\nimport { OpaService } from 'src/app/services/opa.service';\r\nimport { ModalAutuacaoComponent } from '../../pea-form/modal-autuacao/modal-autuacao.component';\r\nimport { PlanejamentoService } from 'src/app/services/planejamento.service';\r\nimport { OsaService } from 'src/app/services/osa.service';\r\nimport { IEntranharDocumentoModel } from 'src/app/models/edocs/entranhar-documento.model';\r\nimport { IAutuacaoModel } from 'src/app/models/edocs/autuacao.model';\r\nimport { ParametrizacaoService } from 'src/app/services/parametrizacao.service';\r\n\r\n@Component({\r\n selector: 'app-modal-avaliar',\r\n templateUrl: './modal-avaliar.component.html',\r\n styleUrls: ['./modal-avaliar.component.scss'],\r\n})\r\nexport class ModalAvaliarComponent\r\n implements OnInit, AfterViewInit {\r\n public tipoDocumento: IEnumModel;\r\n public id: number;\r\n public situacaoAvaliacao = '2';\r\n public comentario: string;\r\n public ultimoNivel: boolean;\r\n public modelEntranhar = {} as IEntranharDocumentoModel;\r\n public modelAutuacao = {} as IAutuacaoModel;\r\n public semEntranhar: boolean;\r\n public comentarioHomologacao = {} as IEntranharDocumentoModel;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n public aprovacaoService: AprovacaoService,\r\n public peaService: PeaService,\r\n public paaService: PaaService,\r\n public opaService: OpaService,\r\n public osaService: OsaService,\r\n public parametrizacaoService: ParametrizacaoService,\r\n public planejamentoService: PlanejamentoService,\r\n public router: Router,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.id = data.id;\r\n this.tipoDocumento = data.tipoDocumento;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.parametrizacaoService.obterPorId('remove-edocs-opa')\r\n .then(res => {\r\n if (res.dados?.valor === 'true')\r\n this.semEntranhar = true;\r\n else this.semEntranhar = false;\r\n });\r\n }\r\n\r\n concluir() {\r\n\r\n if (!this.comentario) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: 'É necessário preencher o comentário.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Avaliação',\r\n text:\r\n `Deseja realmente ${this.situacaoAvaliacao.toString() === '1' ? 'aprovar' : 'reprovar'} esse ${this.tipoDocumento?.descricao}?`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(async (result) => {\r\n if (result.value) {\r\n const verificacao = await this.verificarFluxoAprovacao();\r\n\r\n if (verificacao) {\r\n if (!this.ultimoNivel) {\r\n this.aprovarReprovarTipoTrabalho();\r\n }\r\n else if (this.ultimoNivel === true) {\r\n this.homologarTipoTrabalho();\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n public async verificarFluxoAprovacao() {\r\n let res;\r\n switch (this.tipoDocumento?.codigo) {\r\n case 1: { // Pea\r\n res = await this.peaService.verificarNivelAprovacao(this.id);\r\n break;\r\n }\r\n case 2: { // Paa\r\n res = await this.paaService.verificarNivelAprovacao(this.id);\r\n break;\r\n }\r\n case 3: { // Opa\r\n res = await this.opaService.verificarNivelAprovacao(this.id);\r\n break;\r\n }\r\n case 7: { // Planejamento\r\n res = await this.planejamentoService.verificarNivelAprovacao(this.id);\r\n break;\r\n }\r\n case 4: { // Osa\r\n res = await this.osaService.verificarNivelAprovacao(this.id);\r\n break;\r\n }\r\n }\r\n\r\n if (res.sucesso) {\r\n this.ultimoNivel = res.dados.ultimoNivel;\r\n return true;\r\n }\r\n else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.dados.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return false;\r\n }\r\n }\r\n\r\n public aprovarReprovarTipoTrabalho() {\r\n this.aprovacaoService.aprovarReprovar(this.id, this.tipoDocumento?.codigo, parseInt(this.situacaoAvaliacao, null), this.comentario)\r\n .then(res => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Tipo de trabalho atualizado com sucesso',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.dialogRef.close(true);\r\n }\r\n else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n });\r\n }\r\n\r\n public homologarTipoTrabalho() {\r\n if (this.situacaoAvaliacao === '1') {\r\n switch (this.tipoDocumento?.codigo) {\r\n case 1: { // Pea\r\n this.homologarPea();\r\n break;\r\n }\r\n case 2: { // Paa\r\n this.homologarPaa();\r\n break;\r\n }\r\n case 3: { // Opa\r\n this.homologarOpa();\r\n break;\r\n }\r\n case 7: { // Planejamento\r\n this.homologarPlanejamento();\r\n break;\r\n }\r\n case 4: { // Osa\r\n this.homologarOsa();\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n this.aprovarReprovarTipoTrabalho();\r\n }\r\n\r\n }\r\n\r\n public async homologarPaa() {\r\n\r\n //COMENTADO ATÉ DEFINIÇÃO DE V2 EDOCS\r\n // const dialogConfig = new MatDialogConfig();\r\n // dialogConfig.id = 'modal-component';\r\n // dialogConfig.width = '650px';\r\n // dialogConfig.hasBackdrop = true;\r\n // dialogConfig.disableClose = true;\r\n // dialogConfig.data = { tipoTrabalhoId: this.id,\r\n // tipoTrabalho: 1, comentario: this.comentario};\r\n // const modal = this.matDialog.open(ModalEntranharComponent, dialogConfig);\r\n // modal.afterClosed().subscribe((sucesso) => {\r\n // if (sucesso) {\r\n // this.router.navigate(['/pendencias']);\r\n // }\r\n // });\r\n\r\n this.modelEntranhar = {\r\n papelAutuadorId: '',\r\n comentario: this.comentario,\r\n }\r\n\r\n await this.paaService.homologar(this.id, this.modelEntranhar).then((res) =>{\r\n if(res.sucesso){\r\n this.exibirMensagem(true, 'Item homologado com sucesso!');\r\n this.dialogRef.close(true);\r\n this.router.navigate(['/pendencias']);\r\n }else{\r\n this.exibirMensagem(false, res.mensagem.descricao);\r\n }\r\n }).catch(err => this.exibirMensagem(false, err.mensagem.descricao));;\r\n\r\n }\r\n\r\n public async homologarOpa() {\r\n try {\r\n if (this.semEntranhar) {\r\n const res = await this.opaService.homologar(this.id, this.comentarioHomologacao);\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Item homologado com sucesso!',\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n })\r\n this.dialogRef.close(true);\r\n this.matDialog.closeAll();\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n })\r\n }\r\n } else {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n tipoTrabalhoId: this.id,\r\n tipoTrabalho: 2,\r\n comentario: this.comentario\r\n };\r\n\r\n const modal = this.matDialog.open(ModalEntranharComponent, dialogConfig);\r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.router.navigate(['/pendencias']);\r\n }\r\n });\r\n }\r\n } catch (error) {\r\n console.error('Erro ao homologar:', error);\r\n }\r\n}\r\n\r\n\r\n\r\n public async homologarPlanejamento() {\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = { tipoTrabalhoId: this.id,\r\n tipoTrabalho: 3, comentario: this.comentario };\r\n const modal = this.matDialog.open(ModalEntranharComponent, dialogConfig);\r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.router.navigate(['/pendencias']);\r\n }\r\n });\r\n }\r\n\r\n public async homologarOsa() {\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = { tipoTrabalhoId: this.id, tipoTrabalho: 4, comentario: this.comentario };\r\n const modal = this.matDialog.open(ModalEntranharComponent, dialogConfig);\r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.router.navigate(['/pendencias']);\r\n }\r\n });\r\n }\r\n\r\n public async homologarPea() {\r\n await this.peaService.homologar(this.id, this.comentario).then((res) =>{\r\n if(res.sucesso){\r\n this.exibirMensagem(true, 'Item homologado com sucesso!');\r\n this.dialogRef.close(true);\r\n this.router.navigate(['/pendencias']);\r\n }else{\r\n this.exibirMensagem(false, res.mensagem.descricao);\r\n }\r\n }).catch(err => this.exibirMensagem(false, err.mensagem.descricao));\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n public cancelar() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = { interno: true };\r\n this.matDialog.open(ModalCancelarComponent, dialogConfig).afterClosed();\r\n }\r\n\r\n exibirMensagem(sucesso: boolean,msg: string){\r\n if(sucesso){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: msg,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }else{\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: msg,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Avaliação

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { AuditoriaService } from 'src/app/services/auditoria.service';\r\n\r\n@Component({\r\n selector: 'app-auditoria-list',\r\n templateUrl: './auditoria-list.component.html',\r\n styleUrls: ['./auditoria-list.component.scss']\r\n})\r\nexport class AuditoriaListComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([])\r\n public selectedModel: any;\r\n public semDados!: boolean;\r\n public pageEvent: any;\r\n public totalItens: number;\r\n public searchPesquisa: string;\r\n public searchAtivo = true;\r\n public filtro = new FiltroModel();\r\n public displayedColumn: string[] = ['numero', 'ano', 'dataFim', 'dataInicio', 'status', 'ativo',];\r\n\r\n @ViewChild('TableOnePaginator', {static: true}) tableOnePaginator: MatPaginator;\r\n @ViewChild('tabela1') public tabela1: MatSort;\r\n\r\n constructor(\r\n public router: Router,\r\n public service: AuditoriaService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.configurarFiltro();\r\n this.obter();\r\n this.configurarDatasource();\r\n }\r\n\r\n obter() {\r\n this.configurarFiltro()\r\n this.service.obterPorFiltros(this.filtro).subscribe((resultado) => {\r\n if(resultado.sucesso){\r\n this.dataSource = new MatTableDataSource(resultado?.dados?.resultado);\r\n this.dataSource.sort = this.tabela1;\r\n this.semDados = this.dataSource.data.length === 0;\r\n this.totalItens = resultado.dados.totalItens;\r\n }\r\n })\r\n }\r\n\r\n private configurarDatasource() {\r\n this.dataSource.sort = this.tabela1;\r\n }\r\n\r\n private configurarFiltro() {\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.colunaOrder = \"Id\";\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.pesquisa = this.searchPesquisa;\r\n }\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.obter();\r\n }\r\n\r\n selecionar(item: any): void {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Auditoria
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Auditoria\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Nº OSA {{element?.numero}} Ano {{element?.ano}} Data Inicio {{element?.dataInicio | date:'dd/MM/yyyy'}} Data Fim {{element?.dataFim | date:'dd/MM/yyyy'}} Status \r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n Situação \r\n Ativo\r\n Inativo\r\n
\r\n\r\n
Nenhum registro encontrado
\r\n\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Calendário\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{ item.descricao }}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{ item.descricao }}\r\n \r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n Cancelar\r\n \r\n\r\n \r\n Sair\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ICalendarioModel } from 'src/app/models/calendario.model';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { AcessoCidadaoService } from 'src/app/services/acesso-cidadao.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { CalendarioService } from 'src/app/services/calendario.service';\r\nimport $ from 'jquery';\r\n\r\n@Component({\r\n selector: 'app-calendario-form',\r\n templateUrl: './calendario-form.component.html',\r\n styleUrls: ['./calendario-form.component.scss']\r\n})\r\nexport class CalendarioFormComponent extends BaseFormComponent implements OnInit {\r\n public model: ICalendarioModel = {} as ICalendarioModel;\r\n public modelAuditor: ICalendarioModel = {} as ICalendarioModel;\r\n public auditoresDataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public fixo = '0';\r\n\r\n public emunTipoFeriado = [\r\n {\r\n codigo: 0,\r\n descricao: 'Selecione...'\r\n },\r\n {\r\n codigo: 3,\r\n descricao: 'Nacional'\r\n },\r\n {\r\n codigo: 1,\r\n descricao: 'Municipal'\r\n },\r\n {\r\n codigo: 2,\r\n descricao: 'Estadual'\r\n },\r\n {\r\n codigo: 4,\r\n descricao: 'Ponto Facultativo'\r\n },\r\n {\r\n codigo: 5,\r\n descricao: 'Outros'\r\n }] as IEnumModel[];\r\n\r\n public opcoesFixo = [\r\n {\r\n codigo: 1,\r\n descricao: 'Sim'\r\n },\r\n {\r\n codigo: 0,\r\n descricao: 'Não'\r\n }] as IEnumModel[];\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n fixo: new FormControl(''),\r\n data: new FormControl(null, Validators.required),\r\n tipoFeriadoId: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private calendarioService: CalendarioService,\r\n private acessoCidadaoService: AcessoCidadaoService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Calendário';\r\n } else {\r\n this.titulo = 'Editar Calendário #' + this.id;\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.calendarioService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n this.fixo = this.model.fixo;\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Calendário';\r\n } else {\r\n this.titulo = 'Editar Calendário - ' + this.model.nome;\r\n }\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Calendário - ' + this.model.nome;\r\n }\r\n\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n this.router.navigate(['/calendario']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(\r\n {\r\n fixo: this.model.fixo ? '1' : '0',\r\n nome: this.model.nome,\r\n tipoFeriado: this.model.tipoFeriado,\r\n data: this.model.data ? new Date(this.model.data) : null,\r\n ativo: this.model.ativo,\r\n tipoFeriadoId: this.model.tipoFeriado ? this.model.tipoFeriado.codigo : 0\r\n } as ICalendarioModel);\r\n } catch (err) {\r\n this.exibirMensagemAlerta(err);\r\n this.router.navigate(['/calendario']);\r\n } \r\n }\r\n\r\n public async salvarDados(salvarEFechar: boolean)\r\n {\r\n if (this.form.invalid) {\r\n this.exibirMensagemErro(\"Formulário invalido\");\r\n return;\r\n }\r\n\r\n this.submit = true;\r\n \r\n this.atualizarModel(this.form.value);\r\n const tipoFeriado = parseInt(this.form.get('tipoFeriadoId').value) ?? 0 as number;\r\n this.model.tipoFeriado = { codigo: tipoFeriado } as IEnumModel;\r\n this.model.fixo = this.model.fixo === '1' ? 'true' : 'false';\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.calendarioService.atualizar(this.model);\r\n } else {\r\n res = await this.calendarioService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n \r\n if(salvarEFechar == true){\r\n this.router.navigate(['/calendario']);\r\n }else{\r\n this.router.navigate([`/calendario/${res.dados.id}`]);\r\n }\r\n \r\n } else {\r\n this.submit = false;\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.submit = false;\r\n this.exibirMensagemAlerta(err.mensagem.descricao);\r\n } \r\n }\r\n\r\n public async onSubmit() {\r\n this.salvarDados(false);\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/calendario']);\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { ICalendarioModel } from 'src/app/models/calendario.model';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { CalendarioService } from 'src/app/services/calendario.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'tipoFeriado':\r\n return item.tipoFeriado.descricao;\r\n default:\r\n return item[property];\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-calendario-list',\r\n templateUrl: './calendario-list.component.html',\r\n styleUrls: ['./calendario-list.component.scss']\r\n})\r\nexport class CalendarioListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ICalendarioModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'data', 'tipoFeriado', 'fixo', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n \r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private calendarioservice: CalendarioService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar(); \r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/calendario/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.calendarioservice\r\n .obter(this.searchNome, this.searchAtivo, false)\r\n .then((res) => { \r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.calendarioservice\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Feriado reativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.calendarioservice\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Feriado inativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/calendario/${id}`]);\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/calendario/${id}/visualizar`]);\r\n }\r\n\r\n public excluir(id: number){\r\n this.calendarioservice\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Feriado excluído com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n }) \r\n .catch ((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally (() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Calendário\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Novo\r\n \r\n \r\n Editar\r\n \r\n \r\n \r\n Reativar\r\n \r\n \r\n \r\n Inativar\r\n \r\n \r\n \r\n Excluir\r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Exibir todos\r\n Exibir somente ativos\r\n Exibir somente inativos\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Nome\r\n \r\n {{ element.nome }}\r\n \r\n\r\n \r\n \r\n Data\r\n \r\n \r\n
\r\n {{ element.data | date: \"dd/MM\" }}\r\n
\r\n
\r\n {{ element.data | date: \"dd/MM/yyyy\" }}\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n Tipo\r\n \r\n \r\n {{ element.tipoFeriado.descricao }}\r\n \r\n \r\n\r\n \r\n \r\n Fixo\r\n \r\n \r\n {{ element.fixo ? \"Sim\" : \"Não\" }}\r\n \r\n \r\n\r\n \r\n \r\n Situação\r\n \r\n \r\n Ativo\r\n Inativo\r\n \r\n \r\n \r\n \r\n
\r\n Nenhum registro encontrado.\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Tipos de Dispensa\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ICapituloRelatorioModel } from 'src/app/models/capitulo-relatorio.model';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { CapituloRelatorioService } from 'src/app/services/capitulo-relatorio.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-capitulo-relatorio-form',\r\n templateUrl: './capitulo-relatorio-form.component.html',\r\n styleUrls: ['./capitulo-relatorio-form.component.scss']\r\n})\r\nexport class CapituloRelatorioFormComponent extends BaseFormComponent implements OnInit {\r\n public model: ICapituloRelatorioModel = {} as ICapituloRelatorioModel;\r\n public enumTipo = [] as IEnumModel[];\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n tipoId: new FormControl(null, Validators.required),\r\n conteudo: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private capituloRelatorioService: CapituloRelatorioService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Capitulo de Relatório';\r\n } else {\r\n this.titulo = 'Editar Capitulo de Relatório #' + this.id;\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.capituloRelatorioService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n } else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/capitulos-relatorio']);\r\n return;\r\n }\r\n }\r\n\r\n await this.tabelaDominioService.obterTipoCapituloRelatorio().then((res) => this.enumTipo = res.dados),\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/capitulos-relatorio']);\r\n } \r\n }\r\n\r\n public async onSubmit() {\r\n if (this.form.invalid) {\r\n this.toastr.warning('Formulário inválido!', 'Atenção');\r\n return;\r\n }\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.capituloRelatorioService.atualizar(this.model);\r\n } else {\r\n res = await this.capituloRelatorioService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n this.toastr.success(res.mensagem.descricao, 'Sucesso');\r\n this.router.navigate(['/capitulos-relatorio']);\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n\r\n this.toastr.warning(validacoes, res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n } \r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/capitulos-relatorio']);\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { ICapituloRelatorioModel } from 'src/app/models/capitulo-relatorio.model';\r\nimport { CapituloRelatorioService } from 'src/app/services/capitulo-relatorio.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\n\r\n@Component({\r\n selector: 'app-capitulo-relatorio-list',\r\n templateUrl: './capitulo-relatorio-list.component.html',\r\n styleUrls: ['./capitulo-relatorio-list.component.scss']\r\n})\r\nexport class CapituloRelatorioListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ICapituloRelatorioModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private capituloRelatorioService: CapituloRelatorioService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/capitulos-relatorio/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.capituloRelatorioService\r\n .obter(this.searchNome, this.searchAtivo, true)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.capituloRelatorioService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.toastr.success('Registro reativado com sucesso!', 'Sucesso');\r\n } else {\r\n this.toastr.warning(res.mensagem.descricao, 'Atenção');\r\n }\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.capituloRelatorioService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.toastr.success('Registro inativado com sucesso!', 'Sucesso');\r\n } else {\r\n this.toastr.warning(res.mensagem.descricao, 'Atenção');\r\n }\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/capitulos-relatorio/${id}`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Capítulos de Relatório
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Capítulos de Relatório\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Nome {{element.nome}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Sem dados a exibir
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Categoria de Risco\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ICategoriaRiscoModel } from 'src/app/models/categoria-risco.model';\r\nimport { CategoriaRiscoService } from 'src/app/services/categoria-risco.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\n\r\n@Component({\r\n selector: 'app-categoria-risco-form',\r\n templateUrl: './categoria-risco-form.component.html',\r\n styleUrls: ['./categoria-risco-form.component.scss']\r\n})\r\nexport class CategoriaRiscoFormComponent extends BaseFormComponent implements OnInit {\r\n public model: ICategoriaRiscoModel = {} as ICategoriaRiscoModel;\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required)\r\n});\r\n\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private categoriaRiscoService: CategoriaRiscoService,\r\n public matDialog: MatDialog\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Categoria de Risco';\r\n }\r\n\r\n }\r\n\r\n async ngOnInit() {\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.categoriaRiscoService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n if (this.visualizar){\r\n this.titulo = 'Visualizar Categoria de Risco - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Categoria de Risco - ' + this.model.nome;\r\n }\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n this.router.navigate(['/categoria-risco']);\r\n return;\r\n }\r\n }\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem);\r\n this.router.navigate(['/tipo-enfase']);\r\n }\r\n }\r\n\r\n public async salvarDados(salvarEFechar: boolean){\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n this.submit = true;\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.categoriaRiscoService.atualizar(this.model);\r\n } else {\r\n res = await this.categoriaRiscoService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n if(salvarEFechar == true)\r\n this.router.navigate(['/categoria-risco']);\r\n else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/categoria-risco/${res.dados.id}`]);\r\n await this.ngOnInit();\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem);\r\n } \r\n\r\n }\r\n\r\n public async onSubmit() {\r\n this.salvarDados(false);\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n if(this.form.dirty){\r\n const dialogConfig = new MatDialogConfig();\r\n \r\n const modal = this.matDialog.open(ModalCancelarComponent, dialogConfig);\r\n modal.afterClosed().subscribe((resultado) => {\r\n if (resultado == true) {\r\n this.router.navigate(['/categoria-risco']);\r\n }\r\n });\r\n\r\n }else{\r\n this.router.navigate(['/categoria-risco']);\r\n }\r\n }\r\n \r\n public cancelar() {\r\n this.router.navigate(['/categoria-risco']);\r\n }\r\n\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { ICategoriaRiscoModel } from 'src/app/models/categoria-risco.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { CategoriaRiscoService } from 'src/app/services/categoria-risco.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'nome': return item.nome.trim().toLowerCase(); \r\n case 'descricao': return item.descricao.trim().toLowerCase(); \r\n case 'ativo':\r\n return item.ativo; \r\n default:\r\n return item.nome.trim().toLowerCase();\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-categoria-risco-list',\r\n templateUrl: './categoria-risco-list.component.html',\r\n styleUrls: ['./categoria-risco-list.component.scss']\r\n})\r\nexport class CategoriaRiscoListComponent extends BaseListComponent {\r\n// declarar aqui as variavis\r\npublic dataSource = new MatTableDataSource([]);\r\npublic selectedModel: ICategoriaRiscoModel;\r\npublic displayedColumns: string[] = ['selecao', 'nome', 'descricao','ativo'];\r\npublic searchNome: string;\r\npublic searchAtivo = true;\r\npublic semDados = true;\r\npublic permissoes: IPermissaoModel;\r\npublic filtro = {} as FiltroModel;\r\npublic totalItens: number;\r\npublic pageEvent: any;\r\n\r\n\r\n@ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private categoriaRiscoService: CategoriaRiscoService,\r\n private router: Router\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n this.configurarFiltro();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.configurarFiltro();\r\n this.buscar();\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n}\r\n\r\npublic novo() {\r\n this.router.navigate(['/categoria-risco/novo']);\r\n}\r\n\r\npublic buscar() {\r\n this.selectedModel = null;\r\n this.categoriaRiscoService\r\n .obter(this.filtro)\r\n .then((res) => {\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.totalItens = res.dados.totalItens;\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n}\r\n\r\npublic reativar(id: number) {\r\n this.categoriaRiscoService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Categoria de Risco reativado com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n}\r\n\r\npublic inativar(id: number) {\r\n this.categoriaRiscoService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Categoria de Risco inativado com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n}\r\n\r\npublic editar(id: number) {\r\n this.router.navigate([`/categoria-risco/${id}`]);\r\n}\r\n\r\npublic selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n}\r\n\r\npublic excluir(id: number) {\r\n this.categoriaRiscoService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Categoria de Risco excluído com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n}\r\n\r\npublic visualizar(id: number) {\r\n this.router.navigate([`/categoria-risco/${id}/visualizar`]);\r\n}\r\n\r\nprivate configurarFiltro() {\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.colunaOrder = this.sort.active;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.pesquisa = this.searchNome;\r\n this.filtro.direcao = this.sort.direction;\r\n}\r\n\r\nsortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n}\r\n\r\npageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n}\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Categoria de Risco
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Categoria de Risco\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Nome {{element.nome}} Descrição {{element.descricao}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Constatação\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Contas do Governador\r\n \r\n
\r\n
\r\n \r\n Contas dos Ordenadores\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Nome {{ element.recomendacao.nome }}\r\n
\r\n \r\n \r\n
\r\n
\r\n
Nenhuma recomendação cadastrada
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { IRecomendacaoModel } from './../../models/recomendacao.model';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IQuestaoModel } from 'src/app/models/questao.model';\r\nimport { IQuestaoProcedimentoAuditoriaModel } from 'src/app/models/questao-procedimento-auditoria.model';\r\nimport { IConstatacaoModel } from 'src/app/models/constatacao.model';\r\nimport { IMatrizPlanejamentoModel } from 'src/app/models/matriz-planejamento.model';\r\nimport { IMatrizPlanejamentoQuestaoModel } from 'src/app/models/matriz-planejamento-questao.model';\r\nimport { IConstatacaoRecomendacaoModel } from 'src/app/models/constatacao-recomendacao.model';\r\nimport { ISubtipoAuditoriaMatrizPlanejamentoModel } from 'src/app/models/subtipo-auditoria-matriz-planejamento.model';\r\nimport { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\nimport { IQuestaoConstatacaoModel } from 'src/app/models/questao-constatacao.model';\r\nimport { RecomendacaoService } from 'src/app/services/recomendacao.service';\r\nimport { ConstatacaoService } from 'src/app/services/constatacao.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { ModalRecomendacaoComponent } from './modal-recomendacao/modal-recomendacao.component';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport Swal from 'sweetalert2';\r\n\r\n\r\n@Component({\r\n selector: 'app-constatacao-form',\r\n templateUrl: './constatacao-form.component.html',\r\n styleUrls: ['./constatacao-form.component.scss']\r\n})\r\nexport class ConstatacaoFormComponent extends BaseFormComponent implements OnInit {\r\n public model: IConstatacaoModel = {} as IConstatacaoModel;\r\n public modelConstatacaoRecomendacao: IConstatacaoRecomendacaoModel = {} as IConstatacaoRecomendacaoModel;\r\n public recomendacaoDataSource = new MatTableDataSource([]);\r\n public modelQuestao: IQuestaoModel = {} as IQuestaoModel;\r\n public modelMatrizPlanejamento: IMatrizPlanejamentoModel = {} as IMatrizPlanejamentoModel;\r\n public modelSubtipoAuditoria: ISubtipoAuditoriaModel = {} as ISubtipoAuditoriaModel;\r\n public listaProcedimentoAuditoria = new MatTableDataSource([]);\r\n public listaQuestao = new MatTableDataSource([]);\r\n public listaConstatacao = [] as IQuestaoConstatacaoModel[];\r\n public listaMatrizPlanejamento = new MatTableDataSource([]);\r\n public listaRecomendacoes: any[] = [] as any[];\r\n public rotaPrefixoSubtipoAuditoria = undefined;\r\n public rotaPrefixoMatrizPlanejamento = undefined;\r\n public semDados = true;\r\n\r\n public isModal: boolean = false;\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n contaGovernador: new FormControl(false, Validators.required),\r\n contaOrdenador: new FormControl(false, Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private recomendacaoService: RecomendacaoService,\r\n private constatacaoService: ConstatacaoService,\r\n public matDialog: MatDialog,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n if(data?.isModal) {\r\n this.isModal = data?.isModal;\r\n }\r\n if (this.novoRegistro) {\r\n this.titulo = 'Nova Constatação';\r\n } \r\n }\r\n\r\n\r\n config: AngularEditorConfig = {\r\n editable: !this.visualizar,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n async ngOnInit() {\r\n this.buscarRecomendacoes();\r\n this.state();\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.constatacaoService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n if (this.visualizar) {\r\n this.titulo = 'Visualização de Constatação - ' + this.model.nome;\r\n this.form.controls['contaGovernador'].disable();\r\n this.form.controls['contaOrdenador'].disable();\r\n } else {\r\n this.titulo = 'Editar Constatação - ' + this.model.nome;\r\n }\r\n\r\n this.recomendacaoDataSource = new MatTableDataSource\r\n (\r\n this.model.constatacaoRecomendacao\r\n );\r\n this.recomendacaoDataSource._updateChangeSubscription();\r\n this.semDados = this.recomendacaoDataSource.filteredData.length === 0;\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n this.router.navigate(['/constatacao']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n this.router.navigate(['/constatacao']);\r\n }\r\n }\r\n\r\n public async state() {\r\n // model questao\r\n this.modelQuestao = window.history.state.model;\r\n // model Subtipo Auditoria\r\n this.modelSubtipoAuditoria = window.history.state.modelSubtipoAuditoria;\r\n // model matriz planejamento\r\n this.modelMatrizPlanejamento = window.history.state.modelMatrizPlanejamento;\r\n // lista procedimento\r\n this.listaProcedimentoAuditoria = window.history.state.listaProcedimentoAuditoria;\r\n // lista questão\r\n this.listaQuestao = window.history.state.listaQuestao;\r\n // lista constatacao\r\n this.listaConstatacao = window.history.state.listaConstatacao;\r\n // lista Matriz Planejamento\r\n this.listaMatrizPlanejamento = window.history.state.listaMatrizPlanejamento;\r\n // rota\r\n if (window.history.state.rotaPrefixoSubtipoAuditoria) {\r\n this.rotaPrefixoSubtipoAuditoria = window.history.state.rotaPrefixoSubtipoAuditoria;\r\n }\r\n if (window.history.state.rotaPrefixoMatrizPlanejamento) {\r\n this.rotaPrefixoMatrizPlanejamento = window.history.state.rotaPrefixoMatrizPlanejamento;\r\n }\r\n }\r\n\r\n public async buscarRecomendacoes() {\r\n const res = await this.recomendacaoService.obter('', true);\r\n if(res.sucesso) this.listaRecomendacoes = res.dados;\r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean = false) {\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido!');\r\n return;\r\n }\r\n\r\n this.atualizarModel(this.form.value);\r\n this.model.constatacaoRecomendacao = this.recomendacaoDataSource.data;\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n this.model.constatacaoRecomendacao = [];\r\n res = await this.constatacaoService.atualizar(this.model);\r\n this.model.id = res.dados.id;\r\n this.vincularConstatacaoRecomendacao(this.id);\r\n } else {\r\n res = await this.constatacaoService.inserir(this.model);\r\n this.model.id = res.dados.id;\r\n this.vincularConstatacaoRecomendacao(res.dados.id);\r\n }\r\n\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Registro salvo com sucesso!');\r\n if (salvarEFechar) {\r\n this.router.navigate(['/constatacao']);\r\n }else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/constatacao/${res.dados.id}`]);\r\n await this.ngOnInit();\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n title: validacoes,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n\r\n if (!this.modelQuestao || this.isModal) {\r\n // Se não houver questão ou se for um modal, fechar o modal\r\n this.dialogRef.close();\r\n } else {\r\n // Caso contrário, navegar para a página de questões\r\n this.listaConstatacao.push({ constatacaoId: this.model.id, constatacao: this.model, questaoId: this.modelQuestao.id } as IQuestaoConstatacaoModel);\r\n this.router.navigate(['/questao/' + this.modelQuestao.id], {\r\n state: {\r\n model: this.modelQuestao,\r\n modelMatrizPlanejamento: this.modelMatrizPlanejamento,\r\n modelSubtipoAuditoria: this.modelSubtipoAuditoria,\r\n listaProcedimentoAuditoria: this.listaProcedimentoAuditoria,\r\n listaQuestao: this.listaQuestao,\r\n listaConstatacao: this.listaConstatacao,\r\n listaMatrizPlanejamento: this.listaMatrizPlanejamento,\r\n rotaPrefixoSubtipoAuditoria: this.rotaPrefixoSubtipoAuditoria,\r\n rotaPrefixoMatrizPlanejamento: this.rotaPrefixoMatrizPlanejamento\r\n }\r\n });\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public vincularConstatacaoRecomendacao(id: number){\r\n this.constatacaoService.vincularConstatacaoRecomendacao(id, { recomendacoes: this.recomendacaoDataSource.data.map(item => item.recomendacaoId)})\r\n }\r\n\r\n public incluirRecomendacao() {\r\n if (this.recomendacaoDataSource.data.findIndex(a => a.recomendacaoId === this.modelConstatacaoRecomendacao.recomendacaoId) >= 0) {\r\n this.exibirMensagemAlerta('Recomendação já cadastrado nessa constatação');\r\n return;\r\n }\r\n\r\n this.recomendacaoDataSource.data.push(cloneDeep(this.modelConstatacaoRecomendacao));\r\n this.recomendacaoDataSource._updateChangeSubscription();\r\n this.modelConstatacaoRecomendacao = {} as IConstatacaoRecomendacaoModel;\r\n this.semDados = false;\r\n }\r\n\r\n public desvincularRecomendacao(element: IRecomendacaoModel, index: number) {\r\n if(element?.id) {\r\n this.constatacaoService.desvincularConstatacaoRecomendacao(this.id, element.id)\r\n .then((res) => {\r\n res.sucesso ? this.exibirMensagemSucesso(res.mensagem.descricao) : this.exibirMensagemErro(res.mensagem.descricao);\r\n this.ngOnInit();\r\n })\r\n }\r\n this.recomendacaoDataSource.data.splice(index, 1);\r\n this.recomendacaoDataSource._updateChangeSubscription();\r\n this.semDados = this.recomendacaoDataSource.filteredData.length === 0;\r\n }\r\n\r\n public async visualizarRecomendacao(ind: number) {\r\n try {\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = ind;\r\n this.matDialog.open(ModalRecomendacaoComponent, dialogConfig);\r\n\r\n } catch (err) {\r\n this.exibirMensagemErro(err);\r\n }\r\n }\r\n\r\n public async exibirModalRecomendacao() {\r\n try {\r\n const res = await this.recomendacaoService.obter('', true);\r\n if (res.sucesso) {\r\n const dadosFiltrados = res.dados.filter(recomendacao => {\r\n const encontrado = this.recomendacaoDataSource.data?.find(item => item.recomendacaoId === recomendacao.id)?.recomendacaoId;\r\n if(encontrado) {\r\n return false;\r\n }\r\n return true;\r\n });\r\n const modal = this.exibirModal('Selecionar Recomendação', dadosFiltrados);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.modelConstatacaoRecomendacao.recomendacaoId = data.id;\r\n this.modelConstatacaoRecomendacao.recomendacao = data;\r\n }\r\n }\r\n );\r\n } else {\r\n this.exibirMensagemAlerta('Ocorreu um erro ao busca recomendações');\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro('Ocorreu um erro ao busca recomendações');\r\n }\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n if(this.isModal) {\r\n this.dialogRef.close();\r\n return;\r\n }\r\n if (this.modelQuestao) {\r\n this.router.navigate(['/questao/novo'], {\r\n state: {\r\n model: this.modelQuestao,\r\n modelMatrizPlanejamento: this.modelMatrizPlanejamento,\r\n modelSubtipoAuditoria: this.modelSubtipoAuditoria,\r\n listaProcedimentoAuditoria: this.listaProcedimentoAuditoria,\r\n listaConstatacao: this.listaConstatacao,\r\n listaQuestao: this.listaQuestao,\r\n listaMatrizPlanejamento: this.listaMatrizPlanejamento,\r\n rotaPrefixoSubtipoAuditoria: this.rotaPrefixoSubtipoAuditoria,\r\n rotaPrefixoMatrizPlanejamento: this.rotaPrefixoMatrizPlanejamento\r\n }\r\n });\r\n } else {\r\n this.router.navigate(['/constatacao']);\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{ titulo }}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n Constas do Governador\r\n \r\n
\r\n
\r\n \r\n Constas dos Ordenadores\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Nome {{ element.recomendacao.nome }}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { IConstatacaoModel } from 'src/app/models/constatacao.model';\r\nimport { IQuestaoConstatacaoModel } from 'src/app/models/questao-constatacao.model';\r\nimport { ConstatacaoService } from 'src/app/services/constatacao.service';\r\nimport { IConstatacaoRecomendacaoModel } from 'src/app/models/constatacao-recomendacao.model';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { angularEditorConfig } from 'src/app/shared/util/angularEditorConfig';\r\n\r\n@Component({\r\n selector: 'app-modal-constatacao',\r\n templateUrl: './modal-constatacao.component.html',\r\n styleUrls: ['./modal-constatacao.component.scss']\r\n})\r\n\r\nexport class ModalConstatacaoComponent implements OnInit {\r\n public modelQuestaoConstatacao: IQuestaoConstatacaoModel = {} as IQuestaoConstatacaoModel;\r\n public model: IConstatacaoModel = {} as IConstatacaoModel;\r\n public modelConstatacaoRecomendacao: IConstatacaoRecomendacaoModel = {} as IConstatacaoRecomendacaoModel;\r\n public recomendacaoDataSource = new MatTableDataSource([]);\r\n\r\n public semDados = true;\r\n public visualizacao = true;\r\n public titulo = '';\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n private constatacaoService: ConstatacaoService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.modelQuestaoConstatacao = data;\r\n\r\n this.titulo = 'Visualização de Constatação';\r\n\r\n }\r\n\r\n public config: AngularEditorConfig = angularEditorConfig('', '10rem', '100%', false);\r\n\r\n async ngOnInit() {\r\n\r\n if (this.modelQuestaoConstatacao !== null) {\r\n const res = await this.constatacaoService.obterPorId(this.modelQuestaoConstatacao.constatacaoId);\r\n\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n this.recomendacaoDataSource = new MatTableDataSource\r\n (\r\n this.model.constatacaoRecomendacao\r\n );\r\n this.recomendacaoDataSource._updateChangeSubscription();\r\n this.semDados = this.recomendacaoDataSource.filteredData.length === 0;\r\n }\r\n }\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IConstatacaoRecomendacaoModel } from 'src/app/models/constatacao-recomendacao.model';\r\nimport { IRecomendacaoModel } from 'src/app/models/recomendacao.model';\r\nimport { RecomendacaoService } from 'src/app/services/recomendacao.service';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\n\r\n@Component({\r\n selector: 'app-modal-recomendacao',\r\n templateUrl: './modal-recomendacao.component.html',\r\n styleUrls: ['./modal-recomendacao.component.scss']\r\n})\r\n\r\nexport class ModalRecomendacaoComponent implements OnInit {\r\n public modelConstatacaoRecomendacao: IConstatacaoRecomendacaoModel = {} as IConstatacaoRecomendacaoModel;\r\n public model: IRecomendacaoModel = {} as IRecomendacaoModel;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n private recomendacaoService: RecomendacaoService,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.modelConstatacaoRecomendacao = data;\r\n\r\n }\r\n\r\n config: AngularEditorConfig = {\r\n editable: false,\r\n spellcheck: false,\r\n sanitize: false,\r\n height: '10rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [[], []],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n async ngOnInit() {\r\n const res = await this.recomendacaoService.obterPorId(this.modelConstatacaoRecomendacao.recomendacaoId);\r\n\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n }\r\n }\r\n\r\n\r\n public cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Visualização de recomendação

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { IConstatacaoModel } from 'src/app/models/constatacao.model';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { ConstatacaoService } from 'src/app/services/constatacao.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\n\r\n@Component({\r\n selector: 'app-constatacao-list',\r\n templateUrl: './constatacao-list.component.html',\r\n styleUrls: ['./constatacao-list.component.scss']\r\n})\r\nexport class ConstatacaoListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IConstatacaoModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private constatacaoService: ConstatacaoService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/constatacao/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.constatacaoService\r\n .obter(this.searchNome, this.searchAtivo, false)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao)\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.constatacaoService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Registro reativado com sucesso!')\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number){\r\n this.constatacaoService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Registro inativado com sucesso!');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/constatacao/${id}`]);\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/constatacao/${id}/visualizar`]);\r\n }\r\n\r\n public excluir(id: number) {\r\n this.constatacaoService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Registro excluído com sucesso!');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Constatação
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Constatação\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Constatação {{element.nome}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Sem dados a exibir
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
    \r\n\t\t\t\t\t
  1. \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tPágina Inicial\r\n\t\t\t\t\t
  2. \r\n\t\t\t\t\t
  3. \r\n\t\t\t\t\t\tCoordenações\r\n\t\t\t\t\t
  4. \r\n\t\t\t\t\t
  5. {{ titulo }}
  6. \r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ titulo }}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tDados\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tEquipe\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tDisponibilidade\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tTipos de\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrabalho\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ item }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAdicionar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tNome\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.tipoTrabalho\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.nome\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tQtd. Média Dias\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.qtdMediaDias\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tQtd. Membros\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ element.qtdMembros }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tSituação\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAtivo\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tInativo\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tNenhum tipo de trabalho\r\n\t\t\t\t\t\t\t\t\t\t\t\tcadastrado.\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tAno\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ item }}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tServidor\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tCargo/Função\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tAdicionar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tNome\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.nomeAuditor\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCargo\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCoordenador\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTitular\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCoordenador\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tSubstituindo\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCoordenador\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRespondendo\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAuditor do\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tEstado\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tSituação\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAtivo\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tInativo\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tNenhum auditor cadastrado.\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\tAno\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ item }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tDisponibilidade por Tipo de\r\n\t\t\t\t\t\t\t\t\t\tTrabalho(%)\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ formatarNome(column) }}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n \r\n {{ element[column] }}\r\n
\r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tNão existem dados de Disponibilidade por\r\n\t\t\t\t\t\t\t\t\t\tTipo de Trabalho para a Coordenação e o\r\n\t\t\t\t\t\t\t\t\t\tAno selecionado.\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tDispensa\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ formatarNome(column) }}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ element[column] }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tNão existem dados de Dispensa para a\r\n\t\t\t\t\t\t\t\t\t\tCoordenação e o Ano selecionado!\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tSalvar\r\n\t\t\t\t\t\t\t\t\tSalvar e fechar\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Cancelar\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Sair\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n","import { AfterViewInit, Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport * as cloneDeep from \"lodash/cloneDeep\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { IAuditorCoordenacaoModel } from \"src/app/models/auditor-coordenacao.model\";\r\nimport { IBaseModel } from \"src/app/models/base.model\";\r\nimport { ICoordenacaoModel } from \"src/app/models/coordenacao.model\";\r\nimport { AcessoCidadaoService } from \"src/app/services/acesso-cidadao.service\";\r\nimport { CoordenacaoService } from \"src/app/services/coordenacao.service\";\r\nimport { BaseFormComponent } from \"../../shared/components/base-form/base-form.component\";\r\nimport Swal from \"sweetalert2\";\r\nimport { MatSort, MatSortable } from \"@angular/material/sort\";\r\nimport { ICoordenacaoTipoTrabalhoModel } from \"src/app/models/coordenacao-tipo-trabalho.model\";\r\nimport { ModalCoordenacaoTipoTrabalhoComponent } from \"./modal-tipo-trabalho/modal-tipo-trabalho.component\";\r\nimport { IAgentePublicoModel } from \"src/app/models/agente-publico.model\";\r\nimport { IAgentePublicoDisponibilidadeModel } from \"src/app/models/agente-publico-disponibilidade.model\";\r\nimport { defaultDataAcessor } from \"src/app/core/helpers/mat-sort-data-accessor\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { ICoordenacaoAgentePublicoDispensaModel } from \"src/app/models/coordenacao-agentepublico-dispensa.model\";\r\nimport { ICoordenacaoAgentePublicoDisponibilidadeModel } from \"src/app/models/coordenacao-agentepublico-disponibilidade.model\";\r\nimport { ChangeDetectorRef } from \"@angular/core\";\r\n\r\nconst sortingDataAccessorEquipe = (item, property) => {\r\n\tswitch (property) {\r\n\t\tdefault:\r\n\t\t\treturn item[property];\r\n\t}\r\n};\r\n\r\nconst sortingDataAccessorTipoTrabalho = (item, property) => {\r\n\tswitch (property) {\r\n\t\tcase \"nome\":\r\n\t\t\treturn item.tipoTrabalho.nome;\r\n\t\tdefault:\r\n\t\t\treturn item[property];\r\n\t}\r\n};\r\n\r\nconst sortingDataAccessorDispensa = (item, property) => {\r\n\tswitch (property) {\r\n case property:\r\n return item.nome.toUpperCase();\r\n case 'dataIn�cio':\r\n return item.dataInicioDate;\r\n case 'dataFim':\r\n return item.dataFimDate;\r\n\t default:\r\n\t\t\treturn item[property];\r\n\t}\r\n};\r\n\r\nconst sortingDataAccessorDisponibilidade = (item, property) => {\r\n\tswitch (property) {\r\n case 'nome':\r\n return item.nome.toUpperCase();\r\n\t\tdefault:\r\n\t\t\treturn item[property];\r\n\t}\r\n};\r\n\r\n@Component({\r\n\tselector: \"app-coordenacao-form\",\r\n\ttemplateUrl: \"./coordenacao-form.component.html\",\r\n\tstyleUrls: [\"./coordenacao-form.component.scss\"],\r\n})\r\nexport class CoordenacaoFormComponent\r\n\textends BaseFormComponent\r\n\timplements OnInit, AfterViewInit\r\n{\r\n\tpublic model: ICoordenacaoModel = {} as ICoordenacaoModel;\r\n\tpublic modelAgentePublico: IAgentePublicoModel;\r\n\tpublic modelAuditor: IAuditorCoordenacaoModel =\r\n\t\t{} as IAuditorCoordenacaoModel;\r\n\tpublic modelAuditorOld: IAuditorCoordenacaoModel =\r\n\t\t{} as IAuditorCoordenacaoModel;\r\n\tpublic auditoresDataSource =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic coordenacaoTipoTrabalhoDataSource =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic semDados = true;\r\n\tpublic semDadosTipoTrabalho = true;\r\n\tpublic openPoppup = false;\r\n\tpublic validateForm = false;\r\n\tpublic aba = 0;\r\n\tpublic displayedColumns: string[] = [\r\n\t\t\"nomeAuditor\",\r\n\t\t\"cargo\",\r\n\t\t\"ativo\",\r\n\t\t\"actions\",\r\n\t];\r\n\tpublic displayedTipoTrabalhoColumns: string[] = [\r\n\t\t\"nome\",\r\n\t\t\"qtdMediaDias\",\r\n\t\t\"qtdMembros\",\r\n\t\t\"ativo\",\r\n\t\t\"actions\",\r\n\t];\r\n\r\n\tpublic idTipoTrabalhoSelecionado = 0;\r\n\tpublic permiteAdicionarTipoTrabalho = true;\r\n\tpublic modelCoordenacaoTipoTrabalho: ICoordenacaoTipoTrabalhoModel =\r\n\t\t{} as ICoordenacaoTipoTrabalhoModel;\r\n\tpublic selectedYear: number;\r\n\tpublic selectedModelYears: Array = [];\r\n\tpublic selectedModelYearsAbaEquipe: Array = [];\r\n\tpublic tiposTrabalhosInputs: IAgentePublicoDisponibilidadeModel[] =\r\n\t\t[] as IAgentePublicoDisponibilidadeModel[];\r\n\tpublic disponibilidadeDataSource =\r\n\t\tnew MatTableDataSource(\r\n\t\t\t[]\r\n\t\t);\r\n\tpublic dispensaDataSource =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic columnsDistribuicao = [\r\n\t\t\"nome\",\r\n\t\t\"auditoria\",\r\n\t\t\"consultoria\",\r\n\t\t\"fiscalizaçãoPreventiva\",\r\n\t\t\"inspeção\",\r\n\t\t\"investigaçãoPreliminar\",\r\n\t\t\"outrasAtividades\",\r\n\t\t\"ouvidoria\",\r\n\t\t\"pad\",\r\n\t\t\"par\",\r\n\t\t\"sindicância\",\r\n\t\t\"total\",\r\n\t]; // Adicione mais se necessário\r\n\tpublic columnsDispensa = [\r\n\t\t\"nome\",\r\n\t\t\"descrição\",\r\n\t\t\"dataInício\",\r\n\t\t\"dataFim\",\r\n\t\t\"quantidadeDeDias\",\r\n\t]; // Adicione mais se necessário\r\n\tpublic disponibilidadeSemDados = true;\r\n\tpublic dispensaSemDados = true;\r\n\r\n\t@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\t@ViewChild(\"tabela1\") public sortTabela1: MatSort;\r\n\t@ViewChild(\"tabelaAuditores\") public sortTabelaAuditores: MatSort;\r\n\t@ViewChild(\"tabelaDispensa\") public sortTabelaDispensa: MatSort;\r\n\t@ViewChild(\"tabelaDisponibilidade\")\r\n\tpublic sortTabelaDisponibilidade: MatSort;\r\n\r\n\tpublic form = new FormGroup({\r\n\t\tsigla: new FormControl(\"\", Validators.required),\r\n\t\tnome: new FormControl(\"\", Validators.required),\r\n\t\tdescricao: new FormControl(\"\", Validators.required),\r\n\t\ttipoAuditoriaId: new FormControl(\"\"),\r\n\t});\r\n\r\n\tconstructor(\r\n\t\troute: ActivatedRoute,\r\n\t\ttoastr: ToastrService,\r\n\t\trouter: Router,\r\n\t\tlocaleService: BsLocaleService,\r\n\t\tprivate coordenacaoService: CoordenacaoService,\r\n\t\tprivate acessoCidadaoService: AcessoCidadaoService,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate cdr: ChangeDetectorRef\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\r\n\t\tthis.form = new FormGroup({\r\n\t\t\tsigla: new FormControl(\"\", Validators.required),\r\n\t\t\tnome: new FormControl(\"\", Validators.required),\r\n\t\t\tdescricao: new FormControl(\"\", Validators.required),\r\n\t\t\ttipoAuditoriaId: new FormControl(\"\"),\r\n\t\t});\r\n\t}\r\n\r\n\tasync ngOnInit() {\r\n\t\tawait this.popularComboAnos();\r\n\t\tawait this.popularComboAnosEquipe();\r\n\t\tthis.aba = 0;\r\n\t\tawait this.buscar();\r\n\t\tthis.atribuirTitulo();\r\n this.dispensaDataSource.sort = this.sort;\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\r\n\t\tif (this.sortTabela1) {\r\n\t\t\tthis.sortTabela1.sort({ id: \"nome\", start: \"asc\" } as MatSortable);\r\n\t\t\tthis.coordenacaoTipoTrabalhoDataSource.sortingDataAccessor =\r\n\t\t\t\tsortingDataAccessorTipoTrabalho;\r\n\t\t\tthis.coordenacaoTipoTrabalhoDataSource.sort = this.sortTabela1;\r\n\t\t}\r\n\r\n this.disponibilidadeDataSource.sort = this.sortTabelaDisponibilidade;\r\n\r\n if(this.sortTabelaDispensa){\r\n this.sortTabelaDispensa.sort({ id: \"nome\", start: \"asc\" } as MatSortable);\r\n this.dispensaDataSource.sortingDataAccessor = sortingDataAccessorDispensa;\r\n this.dispensaDataSource.sort = this.sort;\r\n }\r\n\t}\r\n\r\n\tasync buscar() {\r\n\t\ttry {\r\n\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\tconst res = await this.coordenacaoService.obterPorIdAno(\r\n\t\t\t\t\tthis.id,\r\n\t\t\t\t\tthis.selectedYear\r\n\t\t\t\t);\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.model = res.dados;\r\n\r\n\t\t\t\t\tif (this.sortTabela1) {\r\n\t\t\t\t\t\tthis.coordenacaoTipoTrabalhoDataSource =\r\n\t\t\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\t\t\tthis.model.coordenacaoTipoTrabalho\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.coordenacaoTipoTrabalhoDataSource.sortingDataAccessor =\r\n\t\t\t\t\t\t\tsortingDataAccessorTipoTrabalho;\r\n\t\t\t\t\t\tthis.coordenacaoTipoTrabalhoDataSource.sort =\r\n\t\t\t\t\t\t\tthis.sortTabela1;\r\n\t\t\t\t\t\tthis.coordenacaoTipoTrabalhoDataSource._updateChangeSubscription();\r\n\t\t\t\t\t\tthis.semDadosTipoTrabalho =\r\n\t\t\t\t\t\t\tthis.coordenacaoTipoTrabalhoDataSource.data\r\n\t\t\t\t\t\t\t\t.length === 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.toastr.error(res.mensagem.descricao, \"Atenção\");\r\n\t\t\t\t\tthis.router.navigate([\"/coordenacoes\"]);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.form.patchValue(this.model);\r\n\t\t} catch (err) {\r\n\t\t\tthis.toastr.error(err.mensagem.descricao, \"Atenção\");\r\n\t\t\tthis.router.navigate([\"/coordenacoes\"]);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate marcarTodosCamposComoTocados(formGroup: FormGroup) {\r\n\t\tObject.keys(formGroup.controls).forEach((field) => {\r\n\t\t\tconst control = formGroup.get(field);\r\n\t\t\tif (control instanceof FormControl) {\r\n\t\t\t\tcontrol.markAsTouched({ onlySelf: true });\r\n\t\t\t} else if (control instanceof FormGroup) {\r\n\t\t\t\tthis.marcarTodosCamposComoTocados(control);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic async salvarDados(salvarEFechar: boolean) {\r\n\t\tthis.marcarTodosCamposComoTocados(this.form); // Marcar todos os campos como tocados\r\n\t\tthis.cdr.detectChanges(); // Forçar a detecção de mudanças\r\n\r\n\t\tthis.validaForm();\r\n\r\n\t\tthis.submit = true;\r\n\r\n\t\tif (this.form.invalid) {\r\n\t\t\treturn; // Impedir a continuação se o formulário for inválido\r\n\t\t}\r\n\r\n\t\tthis.atualizarModel(this.form.value);\r\n this.model.ano = this.selectedYear;\r\n\r\n\t\tthis.model.auditorCoordenacao = this.auditoresDataSource.data;\r\n\r\n\t\tconst novoAno = this.selectedYear;\r\n\r\n\t\tthis.model.auditorCoordenacao = this.auditoresDataSource.data.map(\r\n\t\t\t(auditor: IAuditorCoordenacaoModel) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...auditor,\r\n\t\t\t\t\tano: novoAno,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\ttry {\r\n\t\t\tlet res: IBaseModel = null;\r\n\r\n\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\tres = await this.coordenacaoService.atualizar(this.model);\r\n\t\t\t} else {\r\n\t\t\t\tres = await this.coordenacaoService.inserir(this.model);\r\n\t\t\t}\r\n\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tthis.exibirMensagemSucesso(res.mensagem.descricao);\r\n\r\n\t\t\t\tif (salvarEFechar == true) {\r\n\t\t\t\t\tthis.router.navigate([\"/coordenacoes\"]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.router.navigate([`/coordenacoes/${res.dados.id}`]);\r\n\t\t\t\t\tthis.buscar();\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconst validacoes = this.montarMensagensValidacao(res);\r\n\t\t\t\tif (validacoes != \"\") {\r\n\t\t\t\t\tthis.exibirMensagemErro(validacoes);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.submit = false;\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tvalidaForm() {\r\n\t\tif (this.form.invalid) {\r\n\t\t\tthis.exibirMensagemErro(\"Formulário inválido\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\t!this.novoRegistro &&\r\n\t\t\tthis.auditoresDataSource.data.filter((a) => a.cargo === 1)\r\n\t\t\t\t.length === 0\r\n\t\t) {\r\n\t\t\tthis.exibirMensagemErro(\r\n\t\t\t\t\"É necessário um auditor 'Coordenador Titular'\"\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async incluirNovoAuditor(e: Event) {\r\n\t\te.preventDefault();\r\n\t\tif (this.form.invalid) {\r\n\t\t\tthis.exibirMensagemAlerta(\"Formulário inválido\");\r\n\t\t\tthis.validateForm = true;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tthis.auditoresDataSource.data.findIndex(\r\n\t\t\t\t(a) => a.auditorId === this.modelAuditor.auditorId\r\n\t\t\t) >= 0\r\n\t\t) {\r\n\t\t\tthis.modelAuditor = {} as IAuditorCoordenacaoModel;\r\n\t\t\tthis.exibirMensagemErro(\"Auditor já associado à coordenação.\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tthis.modelAuditor.cargo === 1 &&\r\n\t\t\tthis.auditoresDataSource.data.filter(\r\n\t\t\t\t(_) => _.cargo === 1 && _.ativo === true\r\n\t\t\t).length > 0\r\n\t\t) {\r\n\t\t\tthis.modelAuditor = {} as IAuditorCoordenacaoModel;\r\n\t\t\tthis.exibirMensagemAlerta(\r\n\t\t\t\t\"Já existe um auditor titular nesta coordenação.\"\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\t(this.modelAuditor.cargo === 2 || this.modelAuditor.cargo === 3) &&\r\n\t\t\tthis.auditoresDataSource.data.filter(\r\n\t\t\t\t(_) => _.cargo === 2 || _.cargo === 3\r\n\t\t\t).length > 0\r\n\t\t) {\r\n\t\t\tthis.modelAuditor = {} as IAuditorCoordenacaoModel;\r\n\t\t\tthis.exibirMensagemErro(\r\n\t\t\t\t\"Já existe um auditor substituindo ou respondendo nesta coordenação.\"\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\r\n\t\tconst jaCadastrado =\r\n\t\t\tawait this.coordenacaoService.obterAuditorPorCoordenacao(\r\n\t\t\t\tthis.id,\r\n\t\t\t\tthis.modelAuditor?.auditorId,\r\n\t\t\t\tthis.modelAuditor?.cargo,\r\n\t\t\t\tthis.selectedYear\r\n\t\t\t);\r\n\r\n\t\tif (jaCadastrado.sucesso) {\r\n\t\t\tif (\r\n\t\t\t\tthis.modelAuditor.cargo === 1 &&\r\n\t\t\t\tjaCadastrado.dados?.filter(\r\n\t\t\t\t\t(_) =>\r\n\t\t\t\t\t\t_.coordenacaoId !== this.id &&\r\n\t\t\t\t\t\t_.cargo === this.modelAuditor.cargo\r\n\t\t\t\t).length > 0\r\n\t\t\t) {\r\n\t\t\t\tlet storedToken: any = localStorage.getItem(\"auditorGrid\");\r\n\t\t\t\tthis.modelAuditorOld = JSON.parse(storedToken);\r\n\t\t\t\tthis.auditoresDataSource.data.push(\r\n\t\t\t\t\tcloneDeep(this.modelAuditorOld)\r\n\t\t\t\t);\r\n\t\t\t\tthis.auditoresDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.modelAuditor = {} as IAuditorCoordenacaoModel;\r\n\t\t\t\tthis.exibirMensagemAlerta(\r\n\t\t\t\t\t\"Este servidor já está associado a outra coordenação com este cargo.\"\r\n\t\t\t\t);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.modelAuditor = {} as IAuditorCoordenacaoModel;\r\n\t\t\tthis.exibirMensagemErro(jaCadastrado.mensagem.descricao);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.modelAuditor.ativo = true;\r\n\t\tthis.auditoresDataSource.data.push(cloneDeep(this.modelAuditor));\r\n\t\tthis.auditoresDataSource._updateChangeSubscription();\r\n\t\tthis.modelAuditor = {} as IAuditorCoordenacaoModel;\r\n\t\tthis.semDados = false;\r\n\t}\r\n\r\n\tpublic excluirAuditor(element: IAuditorCoordenacaoModel) {\r\n\t\tSwal.fire({\r\n\t\t\ttitle: \"Excluir Auditor\",\r\n\t\t\ttext: \"Tem certeza que deseja excluir esse Auditor?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"N�o\",\r\n\t\t}).then(async (result) => {\r\n\r\n if (result.value) {\r\n\t\t\t\tthis.auditorExcluir(element);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t});\r\n\t}\r\n\r\n\tpublic auditorExcluir(element: IAuditorCoordenacaoModel) {\r\n\t\tvar indiceAuditorExcluir =\r\n\t\t\tthis.auditoresDataSource.data.indexOf(element);\r\n\r\n\t\tthis.auditoresDataSource.data.splice(indiceAuditorExcluir, 1);\r\n\r\n\t\tthis.auditoresDataSource._updateChangeSubscription();\r\n\t\tthis.semDados = this.auditoresDataSource.filteredData.length === 0;\r\n\t}\r\n\r\n\tpublic editarAuditor(element: IAuditorCoordenacaoModel, index: number) {\r\n\t\tthis.modelAuditor = element;\r\n\t\tthis.auditoresDataSource.data.splice(index, 1);\r\n\t\tthis.auditoresDataSource._updateChangeSubscription();\r\n\t\tthis.semDados = this.auditoresDataSource.filteredData.length === 0;\r\n\t\tlocalStorage.setItem(\"auditorGrid\", JSON.stringify(element));\r\n\t}\r\n\r\n\r\n public async inativarReativarAuditor(element: IAuditorCoordenacaoModel, index: number, acao: boolean) {\r\n\r\n if(acao == false\r\n && element.cargo == 1\r\n && this.auditoresDataSource.data.filter(x => x.cargo == 1 && x.ativo == true).length < 2){\r\n this.exibirMensagemAlerta('� necess�rio um auditor \\'Coordenador Titular\\'');\r\n }else{\r\n const jaCadastrado = await this.coordenacaoService.obterAuditorPorCoordenacao(element.coordenacaoId, element.auditorId, element.cargo, this.selectedYear);\r\n if (jaCadastrado.sucesso) {\r\n element.ativo = acao;\r\n\t\t\tthis.auditoresDataSource._updateChangeSubscription();\r\n\t\t\tthis.semDados = this.auditoresDataSource.filteredData.length === 0;\r\n\t\t}\r\n else {\r\n this.exibirMensagemErro(jaCadastrado.mensagem.descricao);\r\n return;\r\n }\r\n }\r\n\t}\r\n\r\n\tprivate atualizarModel(values: any) {\r\n\t\tObject.assign(this.model, values);\r\n\t}\r\n\r\n\tpublic onBack() {\r\n\t\tthis.router.navigate([\"/coordenacoes\"]);\r\n\t}\r\n\r\n\tpublic async exibirModalAuditor() {\r\n\t\ttry {\r\n\t\t\tconst res =\r\n\t\t\t\tawait this.acessoCidadaoService.ObterAgentesPublicosSecont();\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tconst idsExistentes = this.auditoresDataSource.data.map(\r\n\t\t\t\t\t(a) => a.auditorId\r\n\t\t\t\t);\r\n\t\t\t\tconst dadosFiltrados = res.dados.filter(\r\n\t\t\t\t\t(agente) => !idsExistentes.includes(agente.id)\r\n\t\t\t\t);\r\n\r\n\t\t\t\tconst modal = this.exibirModal(\r\n\t\t\t\t\t\"Selecionar Agente Público\",\r\n\t\t\t\t\tdadosFiltrados,\r\n\t\t\t\t\tfalse\r\n\t\t\t\t);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.modelAuditor.auditorId = data.id;\r\n\t\t\t\t\t\tthis.modelAuditor.nomeAuditor = data.nome;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.toastr.error(res.mensagem.descricao, \"Atenção\");\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.toastr.error(err.mensagem.descricao, \"Atenção\");\r\n\t\t}\r\n\t}\r\n\r\n\tpublic mudarAba(ind: number) {\r\n\t\tif (this.novoRegistro) {\r\n\t\t\tthis.exibirMensagemErro(\"Necessário salvar a coordenação.\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.aba = ind;\r\n\r\n\t\tswitch (ind) {\r\n\t\t\tcase 0:\r\n\t\t\t\tthis.buscar();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 1:\r\n\t\t\t\tthis.obterAbaEquipe();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 2:\r\n\t\t\t\tthis.buscarDisponibilidadeAgentePublico();\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tconsole.warn(\"Aba não implementada\");\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async obterAbaEquipe() {\r\n\t\tif (!this.novoRegistro) {\r\n\t\t\tconst res = await this.coordenacaoService.obterPorIdAno(\r\n\t\t\t\tthis.id,\r\n\t\t\t\tthis.selectedYear\r\n\t\t\t);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tthis.model = res.dados;\r\n\r\n\t\t\t\tif (this.sortTabelaAuditores) {\r\n\t\t\t\t\tthis.sortTabelaAuditores.sort({\r\n\t\t\t\t\t\tid: \"ativo\",\r\n\t\t\t\t\t\tstart: \"desc\",\r\n\t\t\t\t\t} as MatSortable);\r\n\t\t\t\t\tthis.auditoresDataSource =\r\n\t\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\t\tthis.model.auditorCoordenacao\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\tthis.auditoresDataSource.sortingDataAccessor =\r\n\t\t\t\t\t\tsortingDataAccessorEquipe;\r\n\t\t\t\t\tthis.auditoresDataSource.sort = this.sortTabelaAuditores;\r\n\t\t\t\t\tthis.auditoresDataSource._updateChangeSubscription();\r\n\t\t\t\t\tthis.semDados =\r\n\t\t\t\t\t\tthis.auditoresDataSource.filteredData.length === 0;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tthis.toastr.error(res.mensagem.descricao, \"Atenção\");\r\n\t\t\t\tthis.router.navigate([\"/coordenacoes\"]);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic inativarReativarTipoTrabalho(\r\n\t\telement: ICoordenacaoTipoTrabalhoModel,\r\n\t\tacao: boolean\r\n\t) {\r\n\t\tconst titulo =\r\n\t\t\tacao == true ? \"Reativar \" : \"Inativar \" + \"Tipo de trabalho\";\r\n\t\tconst texto =\r\n\t\t\t\"Tem certeza que deseja \" +\r\n\t\t\t(acao == true ? \" reativar \" : \" inativar \") +\r\n\t\t\t\"esse tipo de trabalho?\";\r\n\t\tSwal.fire({\r\n\t\t\ttitle: titulo,\r\n\t\t\ttext: texto,\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t}).then(async (result) => {\r\n\t\t\tif (result.value) {\r\n\t\t\t\tthis.tipoTrabalhoInativarReativar(element.id, acao);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t});\r\n\t}\r\n\r\n\tpublic tipoTrabalhoInativarReativar(id: number, acao: boolean) {\r\n\t\tif (acao == true) {\r\n\t\t\tthis.coordenacaoService\r\n\t\t\t\t.reativarTipoTrabalho(id)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\tthis.exibirMensagemSucesso(\r\n\t\t\t\t\t\t\t\"Dados alterados com sucesso.\"\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.buscar();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao, true);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.coordenacaoService\r\n\t\t\t\t.inativarTipoTrabalho(id)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\tthis.exibirMensagemSucesso(\r\n\t\t\t\t\t\t\t\"Dados alterados com sucesso.\"\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.buscar();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic excluirTipoTrabalho(element: ICoordenacaoTipoTrabalhoModel) {\r\n\t\tSwal.fire({\r\n\t\t\ttitle: \"Excluir Tipo trabalho\",\r\n\t\t\ttext: \"Tem certeza que deseja excluir esse tipo de trabalho?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t}).then(async (result) => {\r\n\t\t\tif (result.value) {\r\n\t\t\t\tthis.tipoTrabalhoExcluir(element);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t});\r\n\t}\r\n\r\n\tpublic tipoTrabalhoExcluir(element: ICoordenacaoTipoTrabalhoModel) {\r\n\t\tthis.coordenacaoService\r\n\t\t\t.excluirTipoTrabalho(element.id)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.exibirMensagemSucesso(\"Dados alterados com sucesso.\");\r\n\t\t\t\t\tthis.buscar();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic adicionarCoordenacaoTipoTrabalho() {\r\n\t\tthis.abrirModalTipoTrabalho();\r\n\t}\r\n\r\n\tpublic async onSelectTipoTrabalho(element) {\r\n\t\tawait this.buscarDisponibilidadeAgentePublico();\r\n\t\tif (\r\n\t\t\tthis.coordenacaoTipoTrabalhoDataSource.data.filter(\r\n\t\t\t\t(d) => d.tipoTrabalhoId == element.target.value\r\n\t\t\t).length > 0\r\n\t\t) {\r\n\t\t\tthis.permiteAdicionarTipoTrabalho = false;\r\n\t\t} else {\r\n\t\t\tthis.idTipoTrabalhoSelecionado = element.target.value;\r\n\t\t\tthis.permiteAdicionarTipoTrabalho = true;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async onSelectEquipe(element) {\r\n\t\tthis.obterAbaEquipe();\r\n\t}\r\n\r\n\tpublic abrirModalTipoTrabalho(element?: ICoordenacaoTipoTrabalhoModel) {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component\";\r\n\t\tdialogConfig.width = \"650px\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = {\r\n\t\t\tid: element ? element.id : 0,\r\n\t\t\tanoSelecionado: this.selectedYear,\r\n\t\t\tidCoordenacao: this.id,\r\n\t\t\tqtdMediaDias: element ? element.qtdMediaDias : 1,\r\n\t\t\tqtdMembros: element ? element.qtdMembros : 1,\r\n\t\t\ttipoTrabalhoId: element ? element.tipoTrabalhoId : 0,\r\n\t\t};\r\n\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tModalCoordenacaoTipoTrabalhoComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n\t\tmodal.afterClosed().subscribe((sucesso) => {\r\n\t\t\tif (sucesso) {\r\n\t\t\t\tthis.buscar();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic async popularComboAnos() {\r\n\t\tconst anoAtual = new Date().getFullYear();\r\n\t\tthis.selectedModelYears.push(anoAtual + 4);\r\n\t\tthis.selectedModelYears.push(anoAtual + 3);\r\n\t\tthis.selectedModelYears.push(anoAtual + 2);\r\n\t\tthis.selectedModelYears.push(anoAtual + 1);\r\n\t\tthis.selectedModelYears.push(anoAtual);\r\n\t\tthis.selectedModelYears.push(anoAtual - 1);\r\n\t\tthis.selectedYear = anoAtual;\r\n\t}\r\n\r\n\tpublic async popularComboAnosEquipe() {\r\n\t\tconst anoAtual = new Date().getFullYear();\r\n\t\tthis.selectedModelYearsAbaEquipe.push(anoAtual + 4);\r\n\t\tthis.selectedModelYearsAbaEquipe.push(anoAtual + 3);\r\n\t\tthis.selectedModelYearsAbaEquipe.push(anoAtual + 2);\r\n\t\tthis.selectedModelYearsAbaEquipe.push(anoAtual + 1);\r\n\t\tthis.selectedModelYearsAbaEquipe.push(anoAtual);\r\n\t\tthis.selectedYear = anoAtual;\r\n this.selectedModelYearsAbaEquipe.push(anoAtual - 1);\r\n\r\n\r\n\t}\r\n\r\n\tpublic async onChangeSelectAno(element) {\r\n\t\tthis.buscar();\r\n\t}\r\n\r\n\tpublic async buscarDisponibilidadeAgentePublico() {\r\n\t\tconst res = await this.coordenacaoService.getDadosDisponibilidade(\r\n\t\t\tthis.id,\r\n\t\t\tthis.selectedYear\r\n\t\t);\r\n\t\tif (res.sucesso) {\r\n if(this.sortTabelaDisponibilidade){\r\n this.disponibilidadeDataSource =\r\n new MatTableDataSource(\r\n res.dados\r\n );\r\n\r\n this.disponibilidadeDataSource.sort = this.sortTabelaDisponibilidade;\r\n this.disponibilidadeDataSource.sortingDataAccessor =\r\n sortingDataAccessorDisponibilidade;\r\n this.disponibilidadeDataSource._updateChangeSubscription();\r\n }\r\n\t\t\tthis.disponibilidadeSemDados =\r\n\t\t\t\tthis.disponibilidadeDataSource.data.length === 0;\r\n\t\t}\r\n\r\n\t\tconst retDispensa = await this.coordenacaoService.getDadosDispensa(\r\n\t\t\tthis.id,\r\n\t\t\tthis.selectedYear\r\n\t\t);\r\n\t\tif (res.sucesso) {\r\n\t\t\tthis.sortTabelaDispensa.sort({\r\n\t\t\t\tid: \"nome\",\r\n\t\t\t\tstart: \"asc\",\r\n\t\t\t} as MatSortable);\r\n\r\n\t\t\tthis.dispensaDataSource =\r\n\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\tretDispensa.dados\r\n\t\t\t\t);\r\n\t\t\tthis.dispensaDataSource.sortingDataAccessor =\r\n\t\t\t\tsortingDataAccessorDispensa;\r\n\t\t\tthis.dispensaDataSource.sort = this.sortTabelaDispensa;\r\n\t\t\tthis.dispensaSemDados = this.dispensaDataSource.data.length === 0;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic formatarNome(nome: string): string {\r\n\t\tconst palavrasSeparadas = nome\r\n\t\t\t.replace(/([a-z])([A-Z])/g, \"$1 $2\")\r\n\t\t\t.trim();\r\n\r\n\t\tconst nomeFormatado = palavrasSeparadas\r\n\t\t\t.split(\" \")\r\n\t\t\t.map(\r\n\t\t\t\t(palavra) =>\r\n\t\t\t\t\tpalavra.charAt(0).toUpperCase() +\r\n\t\t\t\t\tpalavra.slice(1).toLowerCase()\r\n\t\t\t)\r\n\t\t\t.join(\" \");\r\n\r\n\t\treturn nomeFormatado;\r\n\t}\r\n\r\n\tget desabilitaBotoesGridTipoTrabalho(): boolean {\r\n\t\tconst anoAtual = new Date().getFullYear();\r\n\t\treturn this.selectedYear < anoAtual;\r\n\t}\r\n\r\n\tget desabilitaBotoesGridEquipe(): boolean {\r\n\t\tconst anoAtual = new Date().getFullYear();\r\n\t\treturn this.selectedYear < anoAtual;\r\n\t}\r\n\r\n\tatribuirTitulo() {\r\n\t\tif (this.novoRegistro) {\r\n\t\t\tthis.titulo = \"Nova Coordenação\";\r\n\t\t} else {\r\n\t\t\tthis.titulo = \"Editar Coordenação - \" + this.model.nome;\r\n\t\t}\r\n\t\tif (this.visualizar) {\r\n\t\t\tthis.titulo = \"Visualizar Coordenação - \" + this.model.nome;\r\n\t\t}\r\n\t}\r\n}\r\n","
\r\n
\r\n
\r\n

Tipo de trabalho

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ item.nome }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\"\r\n min=\"1\"\r\n id=\"inputQtdMediaDias\" [(ngModel)]=\"model.qtdMediaDias\"/>\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\"\r\n min=\"1\"\r\n id=\"inputQtdMembros\" [(ngModel)]=\"model.qtdMembros\"/>\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
","import { ToastrService } from 'ngx-toastr';\r\nimport { MatDialog,MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport Swal from 'sweetalert2';\r\nimport { ICoordenacaoTipoTrabalhoModel } from 'src/app/models/coordenacao-tipo-trabalho.model';\r\nimport { TipoTrabalhoService } from 'src/app/services/tipo-trabalho.service';\r\nimport { ITipoTrabalhoModel } from 'src/app/models/tipo-trabalho.model';\r\nimport { CoordenacaoService } from 'src/app/services/coordenacao.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\n\r\n@Component({\r\n selector: 'app-modal-tipo-trabalho',\r\n templateUrl: './modal-tipo-trabalho.component.html',\r\n styleUrls: ['./modal-tipo-trabalho.component.scss'],\r\n})\r\n\r\nexport class ModalCoordenacaoTipoTrabalhoComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n \r\n public model = {} as ICoordenacaoTipoTrabalhoModel;\r\n public anoSelecionado: number;\r\n public tabelaTipoTrabalho = [] as ITipoTrabalhoModel[];\r\n public selectedTipoTrabalho = {} as ITipoTrabalhoModel;\r\n public txtBtnConcluir: string;\r\n public campoObrigatorio = false;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n private tipoTrabalhoService: TipoTrabalhoService,\r\n private coordenacaoService: CoordenacaoService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n this.model.id = data?.id;\r\n this.model.ano = data?.anoSelecionado;\r\n this.model.coordenacaoId = data?.idCoordenacao;\r\n this.model.qtdMediaDias = data?.qtdMediaDias;\r\n this.model.qtdMembros = data?.qtdMembros;\r\n this.model.tipoTrabalhoId = data?.tipoTrabalhoId;\r\n\r\n if(!this.model.id || this.model.id==0)\r\n this.txtBtnConcluir = \"Inserir\"\r\n else\r\n this.txtBtnConcluir = \"Atualizar\"\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscarTiposTrabalho();\r\n }\r\n \r\n \r\n ngAfterViewInit(): void {\r\n \r\n }\r\n\r\n\r\n public async concluir() {\r\n try{\r\n this.campoObrigatorio = true;\r\n\r\n if(!this.model.tipoTrabalhoId \r\n || this.model.tipoTrabalhoId== 0\r\n || !this.model.qtdMediaDias\r\n || !this.model.qtdMembros)\r\n return false;\r\n\r\n let res: IBaseModel = null;\r\n\r\n if(!this.model.id || this.model.id == 0){\r\n res = await this.coordenacaoService.inserirTipoTrabalho(this.model);\r\n }else{\r\n res = await this.coordenacaoService.atualizarTipoTrabalho(this.model);\r\n }\r\n\r\n if(res.sucesso){\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.dialogRef.close(true);\r\n }\r\n else\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n\r\n \r\n }catch(err){\r\n this.exibirMensagemErro(err);\r\n }\r\n }\r\n\r\n public async buscarTiposTrabalho(){\r\n const tipos = await this.tipoTrabalhoService\r\n .obter()\r\n .then(res => {\r\n if(res.sucesso)\r\n this.tabelaTipoTrabalho = res.dados;\r\n });\r\n \r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n}\r\n\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { ICoordenacaoModel } from 'src/app/models/coordenacao.model';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { CoordenacaoService } from 'src/app/services/coordenacao.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-coordenacao-list',\r\n templateUrl: './coordenacao-list.component.html',\r\n styleUrls: ['./coordenacao-list.component.scss']\r\n})\r\nexport class CoordenacaoListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ICoordenacaoModel;\r\n public displayedColumns: string[] = ['selecao', 'sigla', 'nome', 'quantidadeAuditores', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private coordenacaoService: CoordenacaoService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/coordenacoes/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.coordenacaoService\r\n .obter(this.searchNome, this.searchAtivo, false)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.coordenacaoService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Coordenação reativada com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.coordenacaoService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Coordenação inativada com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/coordenacoes/${id}`]);\r\n }\r\n\r\n public excluir(id: number) {\r\n this.coordenacaoService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Coordenação excluída com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n console.log(\"passou aqui\");\r\n this.exibirMensagemAlerta(res.mensagem.descricao, true);\r\n }\r\n })\r\n .catch((err) => {\r\n console.log(\"passou no catch\");\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/coordenacoes/${id}/visualizar`]);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Coordenações
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Coordenações\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Id {{element.id}} Sigla {{element.sigla}} Nome {{element.nome}} Quantidade de Auditores {{element.quantidadeAuditores}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhuma coordenação encontrada.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Critérios\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo\r\n obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Campo\r\n obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo\r\n obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n /?])[a-zA-Zà-úÀ-Ú!@#$%^&*()\\-_+=\\[\\]{}|;:',.<>/?\\d]*$\"\r\n maxlength=\"50\" />\r\n
\r\n
Campo\r\n obrigatório (não são permitidos somente números)
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
Campo\r\n obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo\r\n obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Métricas \r\n \r\n {{element.perguntaOpcao.nome}}\r\n \r\n \r\n {{element.operacao1.descricao}}\r\n {{element.valorNumerico1 | number:'1.2':'pt'}}\r\n {{form.controls['unidade'].value}}\r\n \r\n e {{element.operacao2.descricao}}\r\n {{element.valorNumerico2 | number:'1.2':'pt'}}\r\n {{form.controls['unidade'].value}}\r\n \r\n \r\n Nota {{element.nota}}\r\n Adicionar\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
Nenhuma\r\n métrica cadastrada
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ICriterioMetricaModel } from 'src/app/models/criterio-metrica.model';\r\nimport { ICriterioModel } from 'src/app/models/criterio.model';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { CriterioService } from 'src/app/services/criterio.service';\r\nimport { PerguntaService } from 'src/app/services/pergunta.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { TipoCriterioService } from 'src/app/services/tipo-criterio.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { ModalMetricaNumericoComponent } from './modal-metrica-numerico/modal-metrica-numerico.component';\r\nimport { ModalMetricaOpcoesComponent } from './modal-metrica-opcoes/modal-metrica-opcoes.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-criterio-form',\r\n templateUrl: './criterio-form.component.html',\r\n styleUrls: ['./criterio-form.component.scss']\r\n})\r\nexport class CriterioFormComponent extends BaseFormComponent implements OnInit {\r\n public enumTipoEntrada = [] as IEnumModel[];\r\n public enumTipoComparacao = [] as IEnumModel[];\r\n\r\n public model: ICriterioModel = {} as ICriterioModel;\r\n public metricasDataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public permitePergunta = false;\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n tipoCriterioId: new FormControl(null, Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n tipoEntradaId: new FormControl(null, Validators.required),\r\n unidade: new FormControl(null, Validators.required),\r\n perguntaId: new FormControl(null),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private criterioService: CriterioService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private tipoCriterioService: TipoCriterioService,\r\n private perguntaService: PerguntaService,\r\n public matDialog: MatDialog,\r\n private modalService: BsModalService\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Critério';\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.criterioService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Critério - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Critério - ' + this.model.nome;\r\n }\r\n\r\n this.metricasDataSource = new MatTableDataSource(this.model.criterioMetrica.sort((a, b) => (a.ordem > b.ordem) ? 1 : -1));\r\n this.metricasDataSource._updateChangeSubscription();\r\n this.semDados = this.metricasDataSource.filteredData.length === 0;\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n this.router.navigate(['/criterios']);\r\n return;\r\n }\r\n }\r\n\r\n await Promise.all([\r\n this.tabelaDominioService.obterTipoEntradaCriterio().then((res) => this.enumTipoEntrada = res.dados),\r\n this.tabelaDominioService.obterTipoComparacao().then((res) => this.enumTipoComparacao = res.dados),\r\n ]);\r\n\r\n this.permitePergunta = this.model.tipoEntradaId === 3;\r\n this.form.updateValueAndValidity();\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n this.router.navigate(['/criterios']);\r\n } \r\n }\r\n\r\n public onChangeTipoEntrada(event: any) {\r\n if (event.target.value === '3') {\r\n this.permitePergunta = true;\r\n this.form.controls['perguntaId'].setValidators(Validators.required);\r\n } else {\r\n this.permitePergunta = false;\r\n this.form.controls['perguntaId'].setValue(null);\r\n this.model.pergunta = null;\r\n this.model.perguntaId = null;\r\n this.form.controls['perguntaId'].clearValidators();\r\n }\r\n\r\n if (this.form.controls['tipoEntradaId'].value && (event.target.value === '3') !== (this.model.tipoEntradaId === 3)) {\r\n this.metricasDataSource = new MatTableDataSource([]);\r\n this.metricasDataSource._updateChangeSubscription();\r\n this.semDados = true;\r\n }\r\n\r\n this.model.tipoEntradaId = parseInt(event.target.value, 10);\r\n\r\n this.form.controls['perguntaId'].updateValueAndValidity();\r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean = false) {\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta(\"Formulário invalido\");\r\n return;\r\n }\r\n this.submit = true;\r\n\r\n if (this.metricasDataSource.data.length === 0) {\r\n this.exibirMensagemAlerta(\"É necessário incluir pelo menos uma métrica\");\r\n return;\r\n }\r\n\r\n Object.assign(this.model, this.form.value);\r\n this.model.criterioMetrica = this.metricasDataSource.data;\r\n\r\n if (this.model.tipoEntradaId.toString() !== '3') {\r\n delete (this.model.perguntaId);\r\n delete (this.model.pergunta);\r\n }\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.criterioService.atualizar(this.model);\r\n } else {\r\n res = await this.criterioService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (salvarEFechar) {\r\n this.router.navigate(['/criterios']);\r\n }\r\n else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/criterios/${res.dados.id}`]);\r\n await this.ngOnInit();\r\n }\r\n } else {\r\n this.submit = false;\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.submit = false;\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n } \r\n }\r\n\r\n public excluirMetrica(ind: number) {\r\n this.metricasDataSource.data.splice(ind, 1);\r\n this.metricasDataSource._updateChangeSubscription();\r\n this.semDados = this.metricasDataSource.filteredData.length === 0;\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/criterios']);\r\n }\r\n\r\n public async exibirModalTipoCriterio() {\r\n try {\r\n const res = await this.tipoCriterioService.obter('', true);\r\n if (res.sucesso) {\r\n const modal = this.exibirModal('Selecionar Tipo Criterio', res.dados, false, [\r\n {\r\n columnDef: 'selecao',\r\n header: ''\r\n },\r\n {\r\n columnDef: 'nome',\r\n header: 'Nome'\r\n }]);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.model.tipoCriterio = data;\r\n this.form.controls['tipoCriterioId'].setValue(data.id);\r\n }\r\n }\r\n );\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public async exibirModalPergunta() {\r\n try {\r\n const res = await this.perguntaService.obter('', true);\r\n if (res.sucesso) {\r\n const modal = this.exibirModal('Selecionar Pergunta', res.dados, false, [\r\n {\r\n columnDef: 'selecao',\r\n header: ''\r\n },\r\n {\r\n columnDef: 'nome',\r\n header: 'Nome'\r\n }]);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n if (this.model.pergunta?.id !== data.id) {\r\n this.metricasDataSource = new MatTableDataSource([]);\r\n this.metricasDataSource._updateChangeSubscription();\r\n this.semDados = true;\r\n }\r\n\r\n this.model.pergunta = data;\r\n this.form.controls['perguntaId'].setValue(data.id);\r\n this.form.updateValueAndValidity();\r\n }\r\n }\r\n );\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public async exibirModalMetrica(element?: ICriterioMetricaModel, index?: number) {\r\n if (!this.model.tipoEntradaId) {\r\n this.exibirMensagemAlerta('É necessário selecionar o Tipo de Entrada antes de definir as métricas');\r\n return;\r\n }\r\n\r\n if (this.model.tipoEntradaId === 3 && !this.model.pergunta) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'É necessário selecionar uma pergunta antes de definir as métricas',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n\r\n let modal: any;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n\r\n if (this.model.tipoEntradaId === 3 && this.model.pergunta.tipoEntradaId === 3) {\r\n const data = {\r\n listaOpcoes: this.model.pergunta.perguntaOpcao.filter(t => this.metricasDataSource.data.findIndex(d => d.perguntaOpcaoId.toString() === t.id.toString()) < 0),\r\n element\r\n };\r\n\r\n if (data.listaOpcoes.length === 0 && !element) {\r\n this.exibirMensagemAlerta('Todas as perguntas já possuem nota');\r\n return;\r\n }\r\n\r\n dialogConfig.data = data;\r\n modal = this.matDialog.open(\r\n ModalMetricaOpcoesComponent,\r\n dialogConfig\r\n );\r\n\r\n } else {\r\n const data = {\r\n tipoEntrada: this.model.pergunta?.tipoEntradaId === 1 ? 'inteiro' : 'decimal',\r\n enumTipoComparacao: this.enumTipoComparacao,\r\n element\r\n };\r\n\r\n dialogConfig.data = data;\r\n modal = this.matDialog.open(\r\n ModalMetricaNumericoComponent,\r\n dialogConfig\r\n );\r\n }\r\n\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n if (element) { this.metricasDataSource.data.splice(index, 1); }\r\n this.metricasDataSource.data.push(data);\r\n this.metricasDataSource._updateChangeSubscription();\r\n this.semDados = false;\r\n }\r\n });\r\n }\r\n\r\n public drop(event: CdkDragDrop) {\r\n moveItemInArray(this.metricasDataSource.data, event.previousIndex, event.currentIndex);\r\n for (let i = 0; i < this.metricasDataSource.data.length; i++) {\r\n this.metricasDataSource.data[i].ordem = i + 1;\r\n }\r\n\r\n this.metricasDataSource._updateChangeSubscription();\r\n }\r\n}\r\n","import { AfterViewInit, Component, Inject, Input } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport Inputmask from 'inputmask';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { toIntlNumberString } from 'src/app/core/helpers/number.helper';\r\nimport { ICriterioMetricaModel } from 'src/app/models/criterio-metrica.model';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\n\r\n@Component({\r\n selector: 'app-modal-metrica-numerico',\r\n templateUrl: './modal-metrica-numerico.component.html',\r\n styleUrls: ['./modal-metrica-numerico.component.scss']\r\n})\r\nexport class ModalMetricaNumericoComponent implements AfterViewInit {\r\n public tipoEntrada: string;\r\n public enumTipoComparacao = [] as IEnumModel[];\r\n public element = {} as ICriterioMetricaModel;\r\n\r\n constructor(private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.element = data.element;\r\n this.tipoEntrada = data.tipoEntrada;\r\n this.enumTipoComparacao = data.enumTipoComparacao;\r\n\r\n this.formMetrica = new FormGroup({\r\n operacao1Id: new FormControl(this.element?.operacao1Id, Validators.required),\r\n valorNumerico1: new FormControl(this.element?.valorNumerico1, Validators.required),\r\n operacao2Id: new FormControl(this.element?.operacao2Id),\r\n valorNumerico2: new FormControl(this.element?.valorNumerico2),\r\n nota: new FormControl(this.element?.nota, Validators.required),\r\n }, { validators: [this.ValidateRequiredOperacao2.bind(this)] });\r\n }\r\n\r\n public formMetrica: FormGroup;\r\n\r\n ngAfterViewInit() {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n public concluir() {\r\n const operacao2Id = this.formMetrica.controls['operacao2Id'];\r\n\r\n const valorNumerico1 = parseFloat(toIntlNumberString(this.formMetrica.controls['valorNumerico1'].value.toString()));\r\n const valorNumerico2 = this.formMetrica.controls['valorNumerico2'].value\r\n ? parseFloat(toIntlNumberString(this.formMetrica.controls['valorNumerico2'].value.toString()))\r\n : null;\r\n\r\n operacao2Id.setErrors((!operacao2Id.value && this.formMetrica.controls['valorNumerico2'].value) ? { required: true } : null);\r\n this.formMetrica.controls['valorNumerico2'].setErrors((operacao2Id.value && !this.formMetrica.controls['valorNumerico2'].value) ? { required: true } : null);\r\n\r\n this.formMetrica.markAllAsTouched();\r\n\r\n if (!this.formMetrica.valid) {\r\n return;\r\n }\r\n\r\n const nota = parseFloat(toIntlNumberString(this.formMetrica.controls['nota'].value.toString()));\r\n\r\n const modelMetrica = {\r\n operacao1Id: parseInt(this.formMetrica.controls['operacao1Id'].value, null),\r\n operacao1: this.enumTipoComparacao.find(t => t.codigo === parseInt(this.formMetrica.controls['operacao1Id'].value, null)),\r\n operacao2Id: parseInt(this.formMetrica.controls['operacao2Id'].value, null),\r\n operacao2: this.enumTipoComparacao.find(t => t.codigo === parseInt(this.formMetrica.controls['operacao2Id'].value, null)),\r\n valorNumerico1,\r\n valorNumerico2,\r\n nota,\r\n } as ICriterioMetricaModel;\r\n\r\n this.dialogRef.close(modelMetrica);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n private ValidateRequiredOperacao2() {\r\n return (formGroup: FormGroup) => {\r\n const operacao2Id = formGroup.controls['operacao2Id'];\r\n const valorNumerico2 = formGroup.controls['valorNumerico2'];\r\n\r\n if (operacao2Id.value && !valorNumerico2.value) {\r\n operacao2Id.setErrors(null);\r\n valorNumerico2.setErrors({ required: true });\r\n } else if (!operacao2Id.value && valorNumerico2.value) {\r\n operacao2Id.setErrors({ required: true });\r\n valorNumerico2.setErrors(null);\r\n } else {\r\n operacao2Id.setErrors(null);\r\n valorNumerico2.setErrors(null);\r\n }\r\n };\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Adicionar Métrica

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { AfterViewInit, Component, Inject, Input } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport Inputmask from 'inputmask';\r\nimport { toIntlNumberString } from 'src/app/core/helpers/number.helper';\r\nimport { ICriterioMetricaModel } from 'src/app/models/criterio-metrica.model';\r\nimport { IPerguntaOpcaoModel } from 'src/app/models/pergunta-opcao.model';\r\n\r\n@Component({\r\n selector: 'app-modal-metrica-opcoes',\r\n templateUrl: './modal-metrica-opcoes.component.html',\r\n styleUrls: ['./modal-metrica-opcoes.component.scss']\r\n})\r\nexport class ModalMetricaOpcoesComponent implements AfterViewInit {\r\n public listaOpcoes = [] as IPerguntaOpcaoModel[];\r\n public element = {} as ICriterioMetricaModel;\r\n\r\n constructor(private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.element = data.element;\r\n this.listaOpcoes = data.listaOpcoes;\r\n\r\n this.formMetrica = new FormGroup({\r\n opcaoId: new FormControl(this.element?.perguntaOpcaoId, Validators.required),\r\n nota: new FormControl(this.element?.nota, Validators.required),\r\n });\r\n }\r\n\r\n public formMetrica: FormGroup;\r\n\r\n ngAfterViewInit() {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n\r\n public concluir() {\r\n this.formMetrica.markAllAsTouched();\r\n\r\n if (!this.formMetrica.valid) {\r\n return;\r\n }\r\n\r\n const modelMetrica = {\r\n perguntaOpcaoId: this.formMetrica.controls['opcaoId'].value,\r\n perguntaOpcao: this.listaOpcoes.find(t => t.id.toString() === this.formMetrica.controls['opcaoId'].value),\r\n nota: parseFloat(toIntlNumberString(this.formMetrica.controls['nota'].value.toString())),\r\n } as ICriterioMetricaModel;\r\n\r\n this.dialogRef.close(modelMetrica);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Adicionar Métrica

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { ICriterioModel } from 'src/app/models/criterio.model';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { CriterioService } from 'src/app/services/criterio.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseListComponent } from '../../shared/components/base-list/base-list.component';\r\n\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property){\r\n case 'tipoCriterio':\r\n return item.tipoCriterio.nome.trim().toLowerCase();\r\n case 'tipoEntrada':\r\n return item.tipoEntrada.nome.trim().toLowerCase();\r\n case 'nome': return item.nome.trim().toLowerCase(); \r\n default: \r\n return item[property];\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-criterio-list',\r\n templateUrl: './criterio-list.component.html',\r\n styleUrls: ['./criterio-list.component.scss']\r\n})\r\nexport class CriterioListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ICriterioModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'tipoCriterio', 'tipoEntrada', 'unidade', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public filtro = {} as FiltroModel;\r\n public searchPesquisa: string;\r\n public totalItens: number;\r\n public pageEvent: any;\r\n\r\n @ViewChild('TableOnePaginator', {static: true}) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private criterioService: CriterioService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.setarPermissoes();\r\n this.configurarFiltro();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n this.permissoes.imprimir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Imprimir);\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/criterios/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.criterioService\r\n .obter(this.searchNome, this.searchAtivo, false)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.criterioService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Critério reativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.criterioService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Critério inativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/criterios/${id}`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public excluir(id: number) {\r\n this.criterioService\r\n .excluirCriterio(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Critério excluído com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n const msg = this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/criterio/${id}/visualizar`]);\r\n }\r\n\r\n private configurarFiltro() {\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.pesquisa = this.searchPesquisa;\r\n }\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Critérios
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Critérios\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Nome\r\n {{element.nome}} Tipo de Critério\r\n {{element.tipoCriterio?.nome}} Tipo de Entrada\r\n {{element.tipoEntrada?.descricao}} Unidade\r\n {{element.unidade}} \r\n Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro\r\n encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
AvaliaçãoRisco de Controle - RCAções
{{element?.avaliacao}}{{element?.valorDoRisco}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IControle } from 'src/app/models/controle.model';\r\nimport { ControleService } from 'src/app/services/controle.service';\r\nimport { ModalControleComponent } from './modal-controle/modal-controle.component';\r\nimport Swal from 'sweetalert2';\r\nimport { CdkDrag, CdkDragDrop, moveItemInArray, transferArrayItem } from \"@angular/cdk/drag-drop\";\r\n\r\n@Component({\r\n selector: 'app-criterios-avaliacao-form-controles',\r\n templateUrl: './criterios-avaliacao-form-controles.component.html',\r\n styleUrls: ['./criterios-avaliacao-form-controles.component.scss']\r\n})\r\nexport class CriteriosAvaliacaoFormControlesComponent implements OnInit {\r\n\r\n criteriosAvaliacaoRiscosId: any;\r\n visualizar = false;\r\n dataSource = new MatTableDataSource([]);\r\n selectedModel: any;\r\n\r\n listRisco : any[]=[]\r\n\r\n displayedColumns: string[] = [\r\n \"avaliacao\",\r\n \"valorDoRisco\",\r\n \"actions\",\r\n ];\r\n\r\n searchNome: string;\r\n searchAtivo = true;\r\n semDados = true;\r\n constructor(\r\n public matDialog: MatDialog,\r\n private controleService: ControleService\r\n ) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n salvarDados(e: any) {\r\n console.log(e);\r\n }\r\n\r\n adicionar() { }\r\n\r\n excluirControle(e: any) {\r\n Swal.fire({\r\n title: \"Excluir Controle\",\r\n text: \"Tem certeza que deseja excluir esse controle?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then(async (result) => {\r\n if (result.value) {\r\n this.controleService.excluir(e.id).then(() => {\r\n this.getControleByCriterios()\r\n })\r\n return;\r\n }\r\n return;\r\n });\r\n }\r\n\r\n setCriteriosAvaliacaoRiscosId(criteriosAvaliacaoRiscosId: number) {\r\n this.criteriosAvaliacaoRiscosId = criteriosAvaliacaoRiscosId\r\n this.getControleByCriterios()\r\n }\r\n\r\n getControleByCriterios() {\r\n this.controleService.obter(this.criteriosAvaliacaoRiscosId, true, true).then((res) => {\r\n // this.dataSource = new MatTableDataSource(res.dados);\r\n // this.dataSource._updateChangeSubscription();\r\n this.listRisco = res.dados\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n }\r\n\r\n abrirModalControle(element?: IControle) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = \"modal-component\";\r\n dialogConfig.width = \"650px\";\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n id: element ? element.id : 0,\r\n avaliacao: element?.avaliacao,\r\n valorDoRisco: element?.valorDoRisco,\r\n situacaoControle: element?.situacaoControle,\r\n nivelDaConfianca: element?.nivelDaConfianca,\r\n criteriosAvaliacaoRiscosId: this.criteriosAvaliacaoRiscosId,\r\n ativo: element?.ativo,\r\n listData : this.listRisco\r\n };\r\n const modal = this.matDialog.open(\r\n ModalControleComponent,\r\n dialogConfig\r\n );\r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.getControleByCriterios();\r\n }\r\n });\r\n }\r\n\r\n onDrop(event: CdkDragDrop) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(this.listRisco, event.previousIndex, event.currentIndex);\r\n }\r\n \r\n this.listRisco.forEach((element, idx) => {\r\n element.ordem = (idx + 1).toString();\r\n this.controleService.atualizar(element)\r\n })\r\n \r\n }\r\n}\r\n","import { AfterViewInit, Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IControle } from 'src/app/models/controle.model';\r\nimport { ControleService } from 'src/app/services/controle.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-controle',\r\n templateUrl: './modal-controle.component.html',\r\n styleUrls: ['./modal-controle.component.scss']\r\n})\r\nexport class ModalControleComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n\r\n model = {} as IControle;\r\n anoSelecionado: number;\r\n txtBtnConcluir: string;\r\n campoObrigatorio = false;\r\n atualizando = false;\r\n\r\n listData: any[] = []\r\n\r\n avaliacaoList = [\r\n { id: 1, nome: 'Inexistente' },\r\n { id: 2, nome: 'Fraco' },\r\n { id: 2, nome: 'Mediano' },\r\n { id: 4, nome: 'Satisfatório' },\r\n { id: 5, nome: 'Forte' },\r\n ]\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n private serviceControle: ControleService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.model.id = data?.id;\r\n this.model.avaliacao = data?.avaliacao;\r\n this.model.valorDoRisco = data?.valorDoRisco;\r\n this.model.situacaoControle = data?.situacaoControle;\r\n this.model.nivelDaConfianca = data?.nivelDaConfianca;\r\n this.model.criteriosAvaliacaoRiscosId = data?.criteriosAvaliacaoRiscosId;\r\n this.model.ativo = data?.ativo;\r\n this.listData = data?.listData\r\n\r\n if (!this.model.id || this.model.id == 0) {\r\n this.atualizando = false;\r\n this.txtBtnConcluir = \"Inserir\"\r\n }\r\n else {\r\n this.atualizando = true;\r\n this.txtBtnConcluir = \"Atualizar\"\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n concluir() {\r\n\r\n let dados = this.listData.find(o => o.avaliacao == this.model.avaliacao)\r\n dados = this.listData.find(o => o.valorDoRisco == this.model.valorDoRisco)\r\n\r\n if (dados) {\r\n this.exibirMensagemErro('Nome do Controle ou valor já adicionado! Informe outro nome ou valor para prosseguir.')\r\n return\r\n }\r\n\r\n\r\n if (this.atualizando) {\r\n this.serviceControle.atualizar(this.model).then((res) => { this.dialogRef.close(true); })\r\n } else {\r\n this.model.ordem = this.proximaOrdem(this.listData)\r\n this.serviceControle.inserir(this.model).then((res) => { this.dialogRef.close(true); })\r\n }\r\n }\r\n\r\n setNiveisConfianca() {\r\n if (this.model.avaliacao == 'Inexistente') {\r\n this.model.nivelDaConfianca = ''\r\n return\r\n }\r\n if (this.model.avaliacao == 'Fraco') {\r\n this.model.nivelDaConfianca = '20%'\r\n return\r\n }\r\n if (this.model.avaliacao == 'Mediano') {\r\n this.model.nivelDaConfianca = '40%'\r\n return\r\n }\r\n if (this.model.avaliacao == 'Satisfatório') {\r\n this.model.nivelDaConfianca = '60%'\r\n return\r\n }\r\n if (this.model.avaliacao == 'Forte') {\r\n this.model.nivelDaConfianca = '80%'\r\n return\r\n }\r\n }\r\n\r\n setValorRisco() {\r\n if (this.model.avaliacao == 'Inexistente') {\r\n this.model.valorDoRisco = '1,00'\r\n return\r\n }\r\n if (this.model.avaliacao == 'Fraco') {\r\n this.model.valorDoRisco = '0,8'\r\n return\r\n }\r\n if (this.model.avaliacao == 'Mediano') {\r\n this.model.valorDoRisco = '0,6'\r\n return\r\n }\r\n if (this.model.avaliacao == 'Satisfatório') {\r\n this.model.valorDoRisco = '0,4'\r\n return\r\n }\r\n if (this.model.avaliacao == 'Forte') {\r\n this.model.valorDoRisco = '0,2'\r\n return\r\n }\r\n }\r\n\r\n setValues() {\r\n this.setNiveisConfianca()\r\n this.setValorRisco()\r\n }\r\n\r\n proximaOrdem(array: any[]): number {\r\n if (array.length === 0) {\r\n return 1;\r\n }\r\n\r\n const maxOrdem = array.reduce((max, item) => {\r\n return item.ordem > max ? item.ordem : max;\r\n }, -Infinity);\r\n\r\n return maxOrdem + 1;\r\n }\r\n\r\n getRiscoControle(e: any) {\r\n let retorno = \"\"\r\n if (e.valor_1) {\r\n retorno = `${e.operador} ${e.valor} e ${e.operador_1} ${e.valor_1}`\r\n } else if (e.valor) {\r\n retorno = `${e.operador} ${e.valor}`\r\n }\r\n return retorno\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Adicionar Controle

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ICriteriosAvaliacaoRiscos } from 'src/app/models/criterios-avaliacao-riscos.model';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { CriteriosAvaliacaoRiscoService } from 'src/app/services/criterios-avaliacao-risco.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-criterios-avaliacao-form-dados',\r\n templateUrl: './criterios-avaliacao-form-dados.component.html',\r\n styleUrls: ['./criterios-avaliacao-form-dados.component.scss']\r\n})\r\nexport class CriteriosAvaliacaoFormDadosComponent implements OnInit {\r\n\r\n @Output() updateData: EventEmitter = new EventEmitter();\r\n\r\n criteriosList: any[] = []\r\n public filtro = {} as FiltroModel;\r\n\r\n id: number = 0\r\n form = new FormGroup({\r\n id: new FormControl({ value: '0', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required)\r\n });\r\n\r\n visualizar = false\r\n\r\n constructor(\r\n public route: ActivatedRoute,\r\n private service: CriteriosAvaliacaoRiscoService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.buscar();\r\n }\r\n\r\n getDataById(e: any) {\r\n if (e) {\r\n this.service.obterPorId(e).then((r) => {\r\n this.form.patchValue(r.dados)\r\n this.updateData.emit(r.dados)\r\n })\r\n }\r\n }\r\n\r\n salvarDados(e: any) {\r\n let dados = this.form.getRawValue() as ICriteriosAvaliacaoRiscos\r\n let hasData = this.criteriosList.find(o => o.nome == dados.nome)\r\n\r\n if (hasData && dados?.id == 0) {\r\n dados.id = 0\r\n dados.nome = ''\r\n dados.descricao = ''\r\n this.form.patchValue(dados)\r\n this.exibirMensagemErro(\"Este registro não poderá ser salvo! Informe outro nome!\");\r\n return\r\n }\r\n\r\n if (!dados.descricao || dados.descricao == '') {\r\n this.exibirMensagemErro(\"O campo descrição deve ser informado\");\r\n }\r\n\r\n if (dados?.id == 0) {\r\n this.service.inserir(dados).then((res: any) => {\r\n this.form.patchValue(res.dados)\r\n this.updateData.emit(res.dados)\r\n })\r\n } else {\r\n this.service.atualizar(dados)\r\n }\r\n\r\n // this.getListData()\r\n }\r\n\r\n // getListData() {\r\n // this.service.obter(this.filtro.pesquisa, this.filtro.ativo, false).then((res) => {\r\n // this.criteriosList = res.dados\r\n // })\r\n // }\r\n\r\n exibirMensagemErro(mensagem: string, html: boolean = false) {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"error\",\r\n html: mensagem,\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n }\r\n\r\n async buscar() {\r\n this.service\r\n .obter(this.filtro.pesquisa, this.filtro.ativo, false)\r\n .then((res) => {\r\n this.criteriosList = res.dados\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n });\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ClassificaçãoValor RR
{{element.nome}}{{getRiscoControle(element)}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Fórmula
\r\n \r\n
{{this.formulaRiscoResidual?.campo_1}}\r\n {{this.formulaRiscoResidual?.operador}} {{this.formulaRiscoResidual?.campo_2}}
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { INiveisRiscoResidual } from 'src/app/models/niveis-risco-residual.model';\r\nimport { NiveisRiscoResidualService } from 'src/app/services/niveis-risco-residual.service';\r\nimport Swal from 'sweetalert2';\r\nimport { ModalRiscoResidualComponent } from './modal-risco-residual/modal-risco-residual.component';\r\nimport { FormulaRiscoResidualComponent } from './formula-risco-residual/formula-risco-residual.component';\r\nimport { FormulaRiscoResidualService } from 'src/app/services/formula-risco-residual.service';\r\nimport { CdkDrag, CdkDragDrop, moveItemInArray, transferArrayItem } from \"@angular/cdk/drag-drop\";\r\nimport { NiveisRiscoInerenteService } from 'src/app/services/niveis-risco-inerente.service';\r\nimport { ControleService } from 'src/app/services/controle.service';\r\n\r\n@Component({\r\n selector: 'app-criterios-avaliacao-form-niveis-risco-residual',\r\n templateUrl: './criterios-avaliacao-form-niveis-risco-residual.component.html',\r\n styleUrls: ['./criterios-avaliacao-form-niveis-risco-residual.component.scss']\r\n})\r\nexport class CriteriosAvaliacaoFormNiveisRiscoResidualComponent implements OnInit {\r\n\r\n criteriosAvaliacaoRiscosId: any;\r\n formulaRiscoResidual: any;\r\n riscoInerente: any;\r\n avaliacaoControle: any;\r\n visualizar = false;\r\n dataSource = new MatTableDataSource([]);\r\n selectedModel: any;\r\n\r\n listRisco: any[] = []\r\n\r\n displayedColumnsNiveisRisco: string[] = [\r\n \"nome\",\r\n \"operador_1\",\r\n \"actions\"\r\n ];\r\n\r\n searchNome: string;\r\n searchAtivo = true;\r\n semDados = true;\r\n constructor(\r\n private niveisRiscoService: NiveisRiscoResidualService,\r\n private formulaRiscoService: FormulaRiscoResidualService,\r\n private controleService: ControleService,\r\n private niveisRiscoServiceInerente: NiveisRiscoInerenteService,\r\n public matDialog: MatDialog,\r\n ) { }\r\n\r\n setCriteriosAvaliacaoRiscosId(criteriosAvaliacaoRiscosId: number) {\r\n this.criteriosAvaliacaoRiscosId = criteriosAvaliacaoRiscosId\r\n this.getRiscoResidualByCriterios()\r\n this.getFormulaRiscoResidual()\r\n\r\n this.getNiveisRiscoByCriterios()\r\n this.getControleByCriterios()\r\n }\r\n\r\n\r\n ngOnInit(): void { }\r\n\r\n salvarDados(e: any) { }\r\n\r\n abrirNiveisDeRisco(element?: INiveisRiscoResidual) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = \"modal-component\";\r\n dialogConfig.width = \"1000px\";\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n id: element ? element.id : 0,\r\n nome: element?.nome,\r\n operador: element?.operador,\r\n valor: element?.valor,\r\n operador_1: element?.operador_1,\r\n valor_1: element?.valor_1,\r\n ativo: element?.ativo,\r\n criteriosAvaliacaoRiscosId: this.criteriosAvaliacaoRiscosId,\r\n listData: this.listRisco\r\n };\r\n\r\n const modal = this.matDialog.open(\r\n ModalRiscoResidualComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.getRiscoResidualByCriterios();\r\n this.getFormulaRiscoResidual();\r\n this.getControleByCriterios();\r\n this.getNiveisRiscoByCriterios();\r\n }\r\n });\r\n }\r\n\r\n excluir(e: any) {\r\n Swal.fire({\r\n title: \"Excluir Risco Residual\",\r\n text: \"Tem certeza que deseja excluir esse Risco?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then(async (result) => {\r\n if (result.value) {\r\n this.niveisRiscoService.excluir(e.id).then(() => {\r\n this.getRiscoResidualByCriterios()\r\n })\r\n return;\r\n }\r\n return;\r\n });\r\n }\r\n\r\n getRiscoResidualByCriterios() {\r\n this.niveisRiscoService.obter(this.criteriosAvaliacaoRiscosId, true, true).then((res) => {\r\n // this.dataSource = new MatTableDataSource(res.dados);\r\n // this.dataSource._updateChangeSubscription();\r\n this.listRisco = res.dados\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n }\r\n\r\n getFormulaRiscoResidual() {\r\n this.formulaRiscoService.obter(this.criteriosAvaliacaoRiscosId, true, true).then((res) => {\r\n this.formulaRiscoResidual = res?.dados[0]\r\n })\r\n }\r\n\r\n getRiscoControle(e: any) {\r\n let retorno = \"\"\r\n if (e.valor_1) {\r\n retorno = `${e.operador} ${e.valor} e ${e.operador_1} ${e.valor_1}`\r\n } else if (e.valor) {\r\n retorno = `${e.operador} ${e.valor}`\r\n }\r\n return retorno\r\n }\r\n\r\n abrirFormulaRisco() {\r\n debugger\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = \"modal-component\";\r\n dialogConfig.width = \"1000px\";\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n id: this.formulaRiscoResidual ? this.formulaRiscoResidual.id : 0,\r\n campo_1: this.formulaRiscoResidual?.campo_1,\r\n operador: this.formulaRiscoResidual?.operador,\r\n campo_2: this.formulaRiscoResidual?.campo_2,\r\n criteriosAvaliacaoRiscosId: this.criteriosAvaliacaoRiscosId,\r\n ativo: this.formulaRiscoResidual?.ativo,\r\n riscoInerente: this.riscoInerente,\r\n avaliacaoControle: this.avaliacaoControle\r\n };\r\n\r\n const modal = this.matDialog.open(\r\n FormulaRiscoResidualComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.getFormulaRiscoResidual()\r\n }\r\n });\r\n }\r\n\r\n getControleByCriterios() {\r\n this.controleService.obter(this.criteriosAvaliacaoRiscosId, true, true).then((res) => {\r\n this.avaliacaoControle = res?.dados\r\n })\r\n }\r\n\r\n getNiveisRiscoByCriterios() {\r\n this.niveisRiscoServiceInerente.obter(this.criteriosAvaliacaoRiscosId, true, true).then((res) => {\r\n this.riscoInerente = res?.dados\r\n })\r\n }\r\n\r\n\r\n onDrop(event: CdkDragDrop) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(this.listRisco, event.previousIndex, event.currentIndex);\r\n }\r\n\r\n this.listRisco.forEach((element, idx) => {\r\n element.ordem = (idx + 1).toString();\r\n this.niveisRiscoService.atualizar(element)\r\n })\r\n\r\n }\r\n\r\n exibirMensagemErro(mensagem: string, html: boolean = false) {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"error\",\r\n html: mensagem,\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n }\r\n}\r\n","import { AfterViewInit, Component, Inject, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormGroup } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IFormulaRiscoResidual } from 'src/app/models/formula-risco-residual.model';\r\nimport { FormulaRiscoResidualService } from 'src/app/services/formula-risco-residual.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\n\r\n@Component({\r\n selector: 'app-formula-risco-residual',\r\n templateUrl: './formula-risco-residual.component.html',\r\n styleUrls: ['./formula-risco-residual.component.scss']\r\n})\r\nexport class FormulaRiscoResidualComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n\r\n model = {} as IFormulaRiscoResidual;\r\n anoSelecionado: number;\r\n txtBtnConcluir: string;\r\n campoObrigatorio = false;\r\n atualizando = false;\r\n\r\n riscoInerente = [\r\n { nome: 'Valor do Risco Inerente' },\r\n { nome: 'Risco do Controle' }\r\n ]\r\n\r\n avaliacaoControle = [\r\n { nome: 'Valor do Risco Inerente' },\r\n { nome: 'Risco do Controle' }\r\n ]\r\n\r\n textoModal = 'Editar Fórmula do Risco Residual - RR'\r\n\r\n operadorList: any[] = [\r\n { id: '+', nome: 'Soma (+)' },\r\n { id: '/', nome: 'Divisão (/)' },\r\n { id: '*', nome: 'Multiplicação (*)' },\r\n { id: '-', nome: 'Subtração (-)' }\r\n ];\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n private serviceFormulaRiscoResidual: FormulaRiscoResidualService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.model.id = data.id;\r\n this.model.campo_1 = data?.campo_1;\r\n this.model.campo_2 = data?.campo_2;\r\n this.model.operador = data?.operador;\r\n this.model.ativo = data?.ativo;\r\n this.model.criteriosAvaliacaoRiscosId = data?.criteriosAvaliacaoRiscosId;\r\n\r\n if (!this.model.id || this.model.id == 0) {\r\n this.atualizando = false;\r\n this.txtBtnConcluir = \"Salvar\"\r\n }\r\n else {\r\n this.atualizando = true;\r\n this.txtBtnConcluir = \"Salvar\"\r\n this.textoModal = 'Editar Fórmula do Risco Residual - RR'\r\n }\r\n\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n concluir() {\r\n if (this.atualizando) {\r\n this.serviceFormulaRiscoResidual.atualizar(this.model).then((res) => { this.dialogRef.close(true); })\r\n } else {\r\n this.serviceFormulaRiscoResidual.inserir(this.model).then((res) => { this.dialogRef.close(true); })\r\n }\r\n }\r\n\r\n cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{textoModal}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
","import { AfterViewInit, Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { INiveisRiscoResidual } from 'src/app/models/niveis-risco-residual.model';\r\nimport { NiveisRiscoResidualService } from 'src/app/services/niveis-risco-residual.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-risco-residual',\r\n templateUrl: './modal-risco-residual.component.html',\r\n styleUrls: ['./modal-risco-residual.component.scss']\r\n})\r\nexport class ModalRiscoResidualComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n\r\n model = {} as INiveisRiscoResidual;\r\n anoSelecionado: number;\r\n txtBtnConcluir: string;\r\n campoObrigatorio = false;\r\n atualizando = false;\r\n\r\n listData: any[] = []\r\n\r\n textoModal = 'Adicionar Classificação do Risco Residual'\r\n\r\n operadorList: any[] = [\r\n { id: '>=', nome: 'Maior ou Igual (>=)' },\r\n { id: '<=', nome: 'Menor ou Igual (<=)' },\r\n { id: '>', nome: 'Maior (>)' },\r\n { id: '<', nome: 'Menor (<)' },\r\n { id: '!=', nome: 'Diferente (!=)' },\r\n { id: '=', nome: 'Igual (=)' }\r\n ];\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n private serviceRiscoResidual: NiveisRiscoResidualService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n this.model.id = data.id;\r\n this.model.nome = data?.nome;\r\n this.model.operador = data?.operador;\r\n this.model.valor = data?.valor;\r\n this.model.operador_1 = data?.operador_1;\r\n this.model.valor_1 = data?.valor_1;\r\n this.model.ativo = data?.ativo;\r\n this.model.criteriosAvaliacaoRiscosId = data?.criteriosAvaliacaoRiscosId;\r\n this.listData = data?.listData\r\n\r\n if (!this.model.id || this.model.id == 0) {\r\n this.atualizando = false;\r\n this.txtBtnConcluir = \"Inserir\"\r\n }\r\n else {\r\n this.atualizando = true;\r\n this.txtBtnConcluir = \"Atualizar\"\r\n this.textoModal = 'Editar Classificação do Risco Residual'\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n concluir() {\r\n\r\n let dados = this.listData.find(o => o.nome == this.model.nome)\r\n\r\n if (dados) {\r\n this.exibirMensagemErro('Nome da Classificação de Risco já adicionado! Informe outro nome para prosseguir')\r\n return\r\n }\r\n\r\n if (this.atualizando) {\r\n this.serviceRiscoResidual.atualizar(this.model).then((res) => { this.dialogRef.close(true); })\r\n } else {\r\n this.model.ordem = this.proximaOrdem(this.listData)\r\n this.serviceRiscoResidual.inserir(this.model).then((res) => { this.dialogRef.close(true); })\r\n }\r\n }\r\n\r\n cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n proximaOrdem(array: any[]): number {\r\n if (array.length === 0) {\r\n return 1;\r\n }\r\n\r\n const maxOrdem = array.reduce((max, item) => {\r\n return item.ordem > max ? item.ordem : max;\r\n }, -Infinity);\r\n\r\n return maxOrdem + 1;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{textoModal}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
Risco Residual
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{ element?.nome }}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
AvaliaçãoRisco de ControleAções
{{ element?.nome }}{{getRiscoControle(element)}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Fórmula
\r\n \r\n
{{this.formulaRiscoInerente?.descricao}}
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IEscalas } from 'src/app/models/escalas.model';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { INiveisRiscoInerente } from 'src/app/models/niveis-risco-inerente.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { EscalasService } from 'src/app/services/escalas.service';\r\nimport { NiveisRiscoInerenteService } from 'src/app/services/niveis-risco-inerente.service';\r\nimport { ModalEscalasComponent } from './modal-escalas/modal-escalas.component';\r\nimport Swal from 'sweetalert2';\r\nimport { ModalRiscoInerenteComponent } from './modal-risco-inerente/modal-risco-inerente.component';\r\nimport { ModalFormulaRiscoInerenteComponent } from './modal-formula-risco-inerente/modal-formula-risco-inerente.component';\r\nimport { FormulaRiscoInerenteService } from 'src/app/services/formula-risco-inerente.service';\r\nimport { CdkDrag, CdkDragDrop, moveItemInArray, transferArrayItem } from \"@angular/cdk/drag-drop\";\r\n\r\n@Component({\r\n selector: 'app-criterios-avaliacao-form-risco-inerente',\r\n templateUrl: './criterios-avaliacao-form-risco-inerente.component.html',\r\n styleUrls: ['./criterios-avaliacao-form-risco-inerente.component.scss']\r\n})\r\nexport class CriteriosAvaliacaoFormRiscoInerenteComponent implements OnInit {\r\n\r\n criteriosAvaliacaoRiscosId: any;\r\n formulaRiscoInerente: any;\r\n visualizar = false;\r\n escalasDataSource = new MatTableDataSource([]);\r\n niveisRiscoDataSource = new MatTableDataSource([]);\r\n selectedModel: IEscalas;\r\n\r\n niveisRiscoList: any[] = []\r\n escalaList: any[] = []\r\n\r\n displayedEscalasColumns: string[] = [\r\n \"nome\",\r\n \"actions\",\r\n ];\r\n\r\n displayedColumnsNiveisRisco: string[] = [\r\n \"nome\",\r\n \"operador_1\",\r\n \"actions\"\r\n ];\r\n\r\n searchNome: string;\r\n searchAtivo = true;\r\n semDadosEscalas = true;\r\n semDadosNiveisRisco = true;\r\n permissoes: IPermissaoModel;\r\n filtro = {} as FiltroModel;\r\n totalItens: number;\r\n pageEvent: any;\r\n\r\n constructor(\r\n private escalasService: EscalasService,\r\n public matDialog: MatDialog,\r\n private formulaRiscoService: FormulaRiscoInerenteService,\r\n private niveisRiscoService: NiveisRiscoInerenteService\r\n ) { }\r\n\r\n setCriteriosAvaliacaoRiscosId(criteriosAvaliacaoRiscosId: number) {\r\n this.criteriosAvaliacaoRiscosId = criteriosAvaliacaoRiscosId\r\n this.getEscalasByCriterios();\r\n this.getNiveisRiscoByCriterios();\r\n this.getFormulaRiscoInerente();\r\n }\r\n\r\n ngOnInit(): void { }\r\n\r\n salvarDados(e: any) { }\r\n\r\n editarEscalas(e: any) {\r\n this.abrirModalEscalas(e)\r\n }\r\n\r\n visualizarEscalas(e: any) {\r\n this.abrirModalEscalas(e, true)\r\n }\r\n\r\n editarNivelInerente(e: any) {\r\n this.abrirNiveisDeRisco(e)\r\n }\r\n\r\n excluirRiscoInerente(e: any) {\r\n Swal.fire({\r\n title: \"Excluir Risco Inerente\",\r\n text: \"Tem certeza que deseja excluir esse Risco?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then(async (result) => {\r\n if (result.value) {\r\n this.niveisRiscoService.excluir(e.id).then(() => {\r\n this.getNiveisRiscoByCriterios()\r\n })\r\n return;\r\n }\r\n return;\r\n });\r\n }\r\n\r\n excluirEscalas(e: any) {\r\n Swal.fire({\r\n title: \"Excluir Escalas\",\r\n text: \"Tem certeza que deseja excluir essa escala?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then(async (result) => {\r\n if (result.value) {\r\n this.escalasService.excluir(e.id).then((res) => {\r\n if (!res?.sucesso) {\r\n this.exibirMensagemErro(res?.mensagem.descricao);\r\n }\r\n this.getEscalasByCriterios()\r\n })\r\n return;\r\n }\r\n return;\r\n });\r\n }\r\n\r\n abrirModalEscalas(element?: IEscalas, visualizar: boolean = false) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = \"modal-component\";\r\n dialogConfig.width = \"650px\";\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n id: element ? element.id : 0,\r\n nome: element?.nome,\r\n ativo: element?.ativo,\r\n criteriosAvaliacaoRiscosId: this.criteriosAvaliacaoRiscosId,\r\n visualizar: visualizar,\r\n };\r\n\r\n const modal = this.matDialog.open(\r\n ModalEscalasComponent,\r\n dialogConfig\r\n );\r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.getEscalasByCriterios();\r\n }\r\n });\r\n }\r\n\r\n\r\n abrirNiveisDeRisco(element?: INiveisRiscoInerente) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = \"modal-component\";\r\n dialogConfig.width = \"1000px\";\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n id: element ? element.id : 0,\r\n nome: element?.nome,\r\n operador: element?.operador,\r\n valor: element?.valor,\r\n operador_1: element?.operador_1,\r\n valor_1: element?.valor_1,\r\n ativo: element?.ativo,\r\n criteriosAvaliacaoRiscosId: this.criteriosAvaliacaoRiscosId,\r\n listData: this.niveisRiscoList\r\n };\r\n\r\n const modal = this.matDialog.open(\r\n ModalRiscoInerenteComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.getNiveisRiscoByCriterios();\r\n }\r\n });\r\n }\r\n\r\n\r\n getEscalasByCriterios() {\r\n this.escalasService.obter(this.criteriosAvaliacaoRiscosId, true, true).then((res) => {\r\n // this.escalasDataSource = new MatTableDataSource(res.dados);\r\n // this.escalasDataSource._updateChangeSubscription();\r\n this.escalaList = res.dados\r\n this.semDadosEscalas = this.escalasDataSource.filteredData.length === 0;\r\n })\r\n }\r\n\r\n getNiveisRiscoByCriterios() {\r\n this.niveisRiscoService.obter(this.criteriosAvaliacaoRiscosId, true, true).then((res) => {\r\n // this.niveisRiscoDataSource = new MatTableDataSource(res.dados);\r\n // this.niveisRiscoDataSource._updateChangeSubscription();\r\n this.semDadosNiveisRisco = this.niveisRiscoDataSource.filteredData.length === 0;\r\n this.niveisRiscoList = res.dados\r\n })\r\n }\r\n\r\n getRiscoControle(e: any) {\r\n let retorno = \"\"\r\n if (e.valor_1) {\r\n retorno = `${e.operador} ${e.valor} e ${e.operador_1} ${e.valor_1}`\r\n } else if (e.valor) {\r\n retorno = `${e.operador} ${e.valor}`\r\n }\r\n return retorno\r\n }\r\n\r\n abrirFormulaRisco() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = \"modal-component\";\r\n dialogConfig.width = \"1000px\";\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n id: this.formulaRiscoInerente ? this.formulaRiscoInerente.id : 0,\r\n descricao: this.formulaRiscoInerente?.descricao,\r\n dadosFormula: this.formulaRiscoInerente?.dadosFormula,\r\n criteriosAvaliacaoRiscosId: this.criteriosAvaliacaoRiscosId,\r\n ativo: this.formulaRiscoInerente?.ativo\r\n };\r\n\r\n const modal = this.matDialog.open(\r\n ModalFormulaRiscoInerenteComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.getNiveisRiscoByCriterios();\r\n this.getFormulaRiscoInerente()\r\n }\r\n });\r\n }\r\n\r\n getFormulaRiscoInerente() {\r\n this.formulaRiscoService.obter(this.criteriosAvaliacaoRiscosId, true, true).then((res) => {\r\n this.formulaRiscoInerente = res?.dados[0]\r\n })\r\n }\r\n\r\n onDrop(event: CdkDragDrop) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(this.niveisRiscoList, event.previousIndex, event.currentIndex);\r\n }\r\n\r\n this.niveisRiscoList.forEach((element, idx) => {\r\n element.ordem = (idx + 1).toString();\r\n this.niveisRiscoService.atualizar(element)\r\n })\r\n }\r\n\r\n exibirMensagemErro(mensagem: string, html: boolean = false) {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"error\",\r\n html: mensagem,\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { IMaginitudesEscalaRisco } from 'src/app/models/maginitudes-escala-risco.model';\r\nimport { MagnitudesEscalaRiscoService } from 'src/app/services/magnitudes-escala-risco.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-form-magnitude-escala',\r\n templateUrl: './form-magnitude-escala.component.html',\r\n styleUrls: ['./form-magnitude-escala.component.scss']\r\n})\r\nexport class FormMagnitudeEscalaComponent implements OnInit {\r\n @Input() visualizar: boolean = false\r\n @Output() updateData = new EventEmitter();\r\n\r\n model = {} as IMaginitudesEscalaRisco;\r\n anoSelecionado: number;\r\n txtBtnConcluir: string;\r\n campoObrigatorio = false;\r\n atualizando = false;\r\n existsItem = false;\r\n escalaId: number\r\n\r\n listData: any[] = []\r\n\r\n magnitudeList = [\r\n { id: '1', nome: 'Muito Baixa' },\r\n { id: '2', nome: 'Baixa' },\r\n { id: '3', nome: 'Media' },\r\n { id: '4', nome: 'Alta' },\r\n { id: '5', nome: 'Muito Alta' }\r\n ]\r\n\r\n constructor(private serviceMagnitude: MagnitudesEscalaRiscoService) {\r\n this.model.descricao = ''\r\n }\r\n\r\n setListData(e: any) {\r\n this.listData = e\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n setEscalaId(escalaId: number) {\r\n this.escalaId = escalaId\r\n }\r\n\r\n concluir() {\r\n let dados = this.listData.find(o => o.magnitude == this.model.magnitude)\r\n if (!dados) { dados = this.listData.find(o => o.valor == this.model.valor) }\r\n\r\n if (dados) {\r\n this.existsItem = true;\r\n this.model.descricao = ''\r\n this.model.magnitude = null\r\n this.model.valor = 0\r\n return\r\n }\r\n\r\n if (this.model.id > 0) { this.model.id = undefined }\r\n\r\n if (this.model.magnitude == '0' || !this.model.magnitude) {\r\n Swal.fire({ title: \"Erro\", text: 'Magnitude não informada', icon: \"error\" });\r\n return\r\n }\r\n\r\n if (this.model.valor == 0 || !this.model.valor) {\r\n Swal.fire({ title: \"Erro\", text: 'Valor não informado', icon: \"error\" });\r\n return\r\n }\r\n\r\n this.model.escalasId = this.escalaId\r\n this.model.ordem = this.proximaOrdem(this.listData)\r\n this.serviceMagnitude.inserir(this.model).then((res) => {\r\n this.updateData.emit(this.escalaId)\r\n })\r\n }\r\n\r\n proximaOrdem(array: any[]): number {\r\n if (array.length === 0) {\r\n return 1;\r\n }\r\n\r\n const maxOrdem = array.reduce((max, item) => {\r\n return item.ordem > max ? item.ordem : max;\r\n }, -Infinity);\r\n\r\n return maxOrdem + 1;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Escala de Impacto já adicionada! Informe outro valor para\r\n prosseguir\r\n
\r\n
\r\n \r\n
\r\n
\r\n
","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
ValorMagnitudeAções
{{ element?.valor }}{{element.magnitude}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
","import { CdkDrag, CdkDragDrop, moveItemInArray, transferArrayItem } from \"@angular/cdk/drag-drop\";\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MagnitudesEscalaRiscoService } from 'src/app/services/magnitudes-escala-risco.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-grid-magnitude-escala',\r\n templateUrl: './grid-magnitude-escala.component.html',\r\n styleUrls: ['./grid-magnitude-escala.component.scss']\r\n})\r\nexport class GridMagnitudeEscalaComponent implements OnInit {\r\n\r\n @Input() visualizar: boolean = false;\r\n @Output() updatedData = new EventEmitter();\r\n @Output() viewData = new EventEmitter();\r\n\r\n\r\n escalaId: any;\r\n magnitudeList = [\r\n { id: '1', nome: 'Muito Baixa' },\r\n { id: '2', nome: 'Baixa' },\r\n { id: '3', nome: 'Media' },\r\n { id: '4', nome: 'Alta' },\r\n { id: '5', nome: 'Muito Alta' }\r\n ]\r\n criteriosAvaliacaoRiscosId: any;\r\n dataSource = new MatTableDataSource([]);\r\n selectedModel: any;\r\n displayedColumns: string[] = [\r\n \"avaliacao\",\r\n \"valorDoRisco\",\r\n \"actions\",\r\n ];\r\n\r\n listData: any[] = []\r\n\r\n searchNome: string;\r\n searchAtivo = true;\r\n semDados = true;\r\n constructor(\r\n private service: MagnitudesEscalaRiscoService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n excluir(e: any) {\r\n Swal.fire({\r\n title: \"Excluir\",\r\n text: \"Tem certeza que deseja excluir esse registro?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then(async (result) => {\r\n if (result.value) {\r\n this.service.excluir(e.id).then(() => {\r\n this.getMagnitudeByEscala()\r\n })\r\n return;\r\n }\r\n return;\r\n });\r\n }\r\n\r\n onViewData(e: any) {\r\n this.viewData.emit(e)\r\n }\r\n\r\n setEscalaId(escalaId: number) {\r\n this.escalaId = escalaId\r\n this.getMagnitudeByEscala()\r\n }\r\n\r\n getMagnitudeName(e: any) {\r\n return this.magnitudeList.find(o => o.id == e)?.nome\r\n }\r\n\r\n getMagnitudeByEscala() {\r\n this.service.obter(this.escalaId, true, true).then((res) => {\r\n // this.dataSource = new MatTableDataSource(res.dados);\r\n // this.dataSource._updateChangeSubscription();\r\n // this.semDados = this.dataSource.filteredData.length === 0;\r\n this.semDados = res.dados.length === 0;\r\n this.updatedData.emit(res.dados)\r\n this.listData = res.dados\r\n })\r\n }\r\n\r\n onDrop(event: CdkDragDrop) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(this.listData, event.previousIndex, event.currentIndex);\r\n }\r\n\r\n this.listData.forEach((element, idx) => {\r\n element.ordem = (idx + 1).toString();\r\n this.service.atualizar(element)\r\n })\r\n\r\n }\r\n\r\n}\r\n","import { AfterViewInit, Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IEscalas } from 'src/app/models/escalas.model';\r\nimport { EscalasService } from 'src/app/services/escalas.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { FormMagnitudeEscalaComponent } from './form-magnitude-escala/form-magnitude-escala.component';\r\nimport { GridMagnitudeEscalaComponent } from './grid-magnitude-escala/grid-magnitude-escala.component';\r\n\r\n@Component({\r\n selector: 'app-modal-escalas',\r\n templateUrl: './modal-escalas.component.html',\r\n styleUrls: ['./modal-escalas.component.scss']\r\n})\r\nexport class ModalEscalasComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n\r\n @ViewChild(FormMagnitudeEscalaComponent, { static: false }) magnitudeEscalas!: FormMagnitudeEscalaComponent;\r\n @ViewChild(GridMagnitudeEscalaComponent, { static: false }) gridMagnitudeEscalas!: GridMagnitudeEscalaComponent;\r\n\r\n model = {} as IEscalas;\r\n anoSelecionado: number;\r\n txtBtnConcluir: string;\r\n campoObrigatorio = false;\r\n atualizando = false;\r\n\r\n titulo = 'Escalas'\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n private serviceEscalas: EscalasService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.model.id = data?.id;\r\n this.model.nome = data?.nome;\r\n this.model.criteriosAvaliacaoRiscosId = data?.criteriosAvaliacaoRiscosId;\r\n this.model.ativo = data?.ativo;\r\n this.visualizar = data?.visualizar\r\n\r\n if (!this.model.id || this.model.id == 0) {\r\n this.atualizando = false;\r\n this.txtBtnConcluir = \"Inserir\"\r\n this.titulo = 'Adicionar Escala'\r\n }\r\n else {\r\n this.atualizando = true;\r\n this.txtBtnConcluir = \"Atualizar\"\r\n this.titulo = 'Adicionar Magnitudes da Escala de Risco'\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.gridMagnitudeEscalas.setEscalaId(this.model.id)\r\n this.magnitudeEscalas.setEscalaId(this.model.id)\r\n }\r\n\r\n updateData() {\r\n this.gridMagnitudeEscalas.setEscalaId(this.model.id);\r\n }\r\n\r\n setListData(e: any) {\r\n this.magnitudeEscalas.setListData(e)\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n concluir() {\r\n if (this.atualizando) {\r\n this.serviceEscalas.atualizar(this.model).then((res) => { this.dialogRef.close(true); })\r\n } else {\r\n this.serviceEscalas.inserir(this.model).then((res) => { this.dialogRef.close(true); })\r\n }\r\n }\r\n\r\n viewData(e: any) {\r\n this.magnitudeEscalas.model = {\r\n id : undefined,\r\n valor: e.valor,\r\n magnitude: e.magnitude,\r\n descricao: e.descricao,\r\n escalasId: e.escalasId,\r\n ordem: e.ordem,\r\n ativo: e.ativo\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{titulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Níveis
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
","import { AfterViewInit, Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IFormulaRiscoInerente } from 'src/app/models/formula-risco-inerente.model';\r\nimport { IFormulaRiscoResidual } from 'src/app/models/formula-risco-residual.model';\r\nimport { EscalasService } from 'src/app/services/escalas.service';\r\nimport { FormulaRiscoInerenteService } from 'src/app/services/formula-risco-inerente.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\n\r\n@Component({\r\n selector: 'app-modal-formula-risco-inerente',\r\n templateUrl: './modal-formula-risco-inerente.component.html',\r\n styleUrls: ['./modal-formula-risco-inerente.component.scss']\r\n})\r\nexport class ModalFormulaRiscoInerenteComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n\r\n model = {} as IFormulaRiscoInerente;\r\n anoSelecionado: number;\r\n txtBtnConcluir: string;\r\n campoObrigatorio = false;\r\n atualizando = false;\r\n escalasDataSource: any[] = []\r\n listData: any[] = []\r\n\r\n textoModal = 'Editar Fórmula do Risco Inerente - RI'\r\n\r\n operadorList: any[] = [\r\n { id: '+', nome: 'Soma (+)' },\r\n { id: '/', nome: 'Divisão (/)' },\r\n { id: '*', nome: 'Multiplicação (*)' },\r\n { id: '-', nome: 'Subtração (-)' }\r\n ];\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n private escalasService: EscalasService,\r\n router: Router,\r\n private serviceFormulaRiscoInerente: FormulaRiscoInerenteService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.model.id = data.id;\r\n this.model.descricao = data?.descricao;\r\n this.model.dadosFormula = data?.dadosFormula;\r\n this.model.ativo = data?.ativo;\r\n this.model.criteriosAvaliacaoRiscosId = data?.criteriosAvaliacaoRiscosId;\r\n\r\n if (!this.model.id || this.model.id == 0) {\r\n this.atualizando = false;\r\n this.txtBtnConcluir = \"Salvar\"\r\n }\r\n else {\r\n this.atualizando = true;\r\n this.txtBtnConcluir = \"Salvar\"\r\n this.textoModal = 'Editar Fórmula do Risco Inerente - RI'\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getEscalasByCriterios()\r\n }\r\n\r\n concluir() {\r\n this.model.descricao = this.getDescription(this.listData);\r\n this.model.dadosFormula = JSON.stringify(this.listData)\r\n this.model.ativo = true;\r\n\r\n //\r\n if (this.atualizando) {\r\n this.serviceFormulaRiscoInerente.atualizar(this.model).then((res) => { this.dialogRef.close(true); })\r\n } else {\r\n this.serviceFormulaRiscoInerente.inserir(this.model).then((res) => { this.dialogRef.close(true); })\r\n }\r\n }\r\n\r\n cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n getEscalasByCriterios() {\r\n this.escalasService.obter(this.model.criteriosAvaliacaoRiscosId as any, true, true).then((res) => {\r\n this.escalasDataSource = res?.dados\r\n res?.dados.forEach(() => {\r\n this.listData.push({ campo: '', operador: '' })\r\n })\r\n\r\n let dadosFormula = this.getDadosFormuma(this.listData, JSON.parse(this.model.dadosFormula))\r\n this.listData = dadosFormula\r\n })\r\n }\r\n\r\n getDescription(escalas: { campo: string; operador: string }[]): string {\r\n return escalas\r\n .map((e, i, arr) => i < arr.length - 1 ? `${e.campo} ${e.operador}` : e.campo)\r\n .join(\" \")\r\n .trim();\r\n // return escalas.filter(e => e.operador !== \"\").map(e => `${e.campo} ${e.operador}`.trim()).join(\" \").trim();\r\n }\r\n\r\n getDadosFormuma(escala: any[], dadosFormulaOld: any[]): any[] {\r\n return escala.map((item, index) => {\r\n if (index < dadosFormulaOld.length) {\r\n return { ...dadosFormulaOld[index] };\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{textoModal}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
","import { THIS_EXPR } from '@angular/compiler/src/output/output_ast';\r\nimport { AfterViewInit, Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { INiveisRiscoInerente } from 'src/app/models/niveis-risco-inerente.model';\r\nimport { NiveisRiscoInerenteService } from 'src/app/services/niveis-risco-inerente.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-risco-inerente',\r\n templateUrl: './modal-risco-inerente.component.html',\r\n styleUrls: ['./modal-risco-inerente.component.scss']\r\n})\r\nexport class ModalRiscoInerenteComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n\r\n model = {} as INiveisRiscoInerente;\r\n anoSelecionado: number;\r\n txtBtnConcluir: string;\r\n campoObrigatorio = false;\r\n atualizando = false;\r\n\r\n listData: any[] = []\r\n\r\n textoModal = 'Adicionar Nível de Risco'\r\n\r\n operadorList: any[] = [\r\n { id: '>=', nome: 'Maior ou Igual (>=)' },\r\n { id: '<=', nome: 'Menor ou Igual (<=)' },\r\n { id: '>', nome: 'Maior (>)' },\r\n { id: '<', nome: 'Menor (<)' },\r\n { id: '!=', nome: 'Diferente (!=)' },\r\n { id: '=', nome: 'Igual (=)' }\r\n ];\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n private serviceRiscoInerente: NiveisRiscoInerenteService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n this.model.id = data.id;\r\n this.model.nome = data?.nome;\r\n this.model.operador = data?.operador;\r\n this.model.valor = data?.valor;\r\n this.model.operador_1 = data?.operador_1;\r\n this.model.valor_1 = data?.valor_1;\r\n this.model.ativo = data?.ativo;\r\n this.model.criteriosAvaliacaoRiscosId = data?.criteriosAvaliacaoRiscosId;\r\n this.listData = data?.listData;\r\n\r\n\r\n if (!this.model.id || this.model.id == 0) {\r\n this.atualizando = false;\r\n this.txtBtnConcluir = \"Inserir\"\r\n }\r\n else {\r\n this.atualizando = true;\r\n this.txtBtnConcluir = \"Atualizar\"\r\n this.textoModal = 'Editar Nível de Risco'\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n concluir() {\r\n\r\n let dados = this.listData.find(o => o.nome == this.model.nome)\r\n if (dados) {\r\n this.exibirMensagemErro('O nome do Nível de Risco Inerente informado já associado a outro registro! Informe outro nome para prosseguir.')\r\n return\r\n }\r\n\r\n if (this.atualizando) {\r\n this.serviceRiscoInerente.atualizar(this.model).then((res) => { this.dialogRef.close(true); })\r\n } else {\r\n this.model.ordem = this.proximaOrdem(this.listData)\r\n this.serviceRiscoInerente.inserir(this.model).then((res) => { this.dialogRef.close(true); })\r\n }\r\n }\r\n\r\n cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n\r\n proximaOrdem(array: any[]): number {\r\n if (array.length === 0) {\r\n return 1;\r\n }\r\n\r\n const maxOrdem = array.reduce((max, item) => {\r\n return item.ordem > max ? item.ordem : max;\r\n }, -Infinity);\r\n\r\n return maxOrdem + 1;\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{textoModal}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
Risco Inerente
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
","import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { CriteriosAvaliacaoFormDadosComponent } from './criterios-avaliacao-form-dados/criterios-avaliacao-form-dados.component';\r\nimport { CriteriosAvaliacaoFormControlesComponent } from './criterios-avaliacao-form-controles/criterios-avaliacao-form-controles.component';\r\nimport { CriteriosAvaliacaoFormNiveisRiscoResidualComponent } from './criterios-avaliacao-form-niveis-risco-residual/criterios-avaliacao-form-niveis-risco-residual.component';\r\nimport { CriteriosAvaliacaoFormRiscoInerenteComponent } from './criterios-avaliacao-form-risco-inerente/criterios-avaliacao-form-risco-inerente.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\n\r\n@Component({\r\n selector: 'app-criterios-avaliacao-form',\r\n templateUrl: './criterios-avaliacao-form.component.html',\r\n styleUrls: ['./criterios-avaliacao-form.component.scss']\r\n})\r\nexport class CriteriosAvaliacaoFormComponent extends BaseFormComponent implements OnInit {\r\n\r\n @ViewChild(CriteriosAvaliacaoFormDadosComponent, { static: false }) abaDados!: CriteriosAvaliacaoFormDadosComponent;\r\n @ViewChild(CriteriosAvaliacaoFormControlesComponent, { static: false }) abaDadosControle!: CriteriosAvaliacaoFormControlesComponent;\r\n @ViewChild(CriteriosAvaliacaoFormNiveisRiscoResidualComponent, { static: false }) abaRiscoResidual!: CriteriosAvaliacaoFormNiveisRiscoResidualComponent;\r\n @ViewChild(CriteriosAvaliacaoFormRiscoInerenteComponent, { static: false }) abaRiscoInerente!: CriteriosAvaliacaoFormRiscoInerenteComponent;\r\n\r\n form: any\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setTitulo()\r\n }\r\n\r\n dataUpdated(data: any) {\r\n this.setTitulo(data.nome)\r\n }\r\n\r\n setTitulo(titulo : string = \"\") {\r\n if (this.id) {\r\n this.novoRegistro = false;\r\n }\r\n if (this.visualizar) {\r\n this.titulo = `Visualizar - Critério de Avaliação de Risco - ${titulo}`;\r\n } else if (this.novoRegistro) {\r\n this.titulo = `Novo Critério de Avaliação de Risco`;\r\n } else {\r\n this.titulo = `Editar - Critério de Avaliação de Risco - ${titulo}`;\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n if (this.abaDados) {\r\n this.abaDados.getDataById(this.id)\r\n this.abaDados.visualizar = this.visualizar\r\n this.abaRiscoInerente.visualizar = this.visualizar\r\n this.abaDadosControle.visualizar = this.visualizar\r\n this.abaRiscoResidual.visualizar = this.visualizar\r\n }\r\n }\r\n\r\n mudarAba(ind: any) {\r\n\r\n if (!this.id || this.id == 0) {\r\n this.exibirMensagemErro(\"Necessário salvar o Critério de Avaliação\");\r\n return;\r\n }\r\n\r\n this.aba = ind;\r\n if (this.aba == 1) {\r\n\r\n }\r\n switch (this.aba) {\r\n case 1:\r\n this.abaRiscoInerente.setCriteriosAvaliacaoRiscosId(this.id)\r\n break;\r\n case 2:\r\n this.abaDadosControle.setCriteriosAvaliacaoRiscosId(this.id)\r\n break;\r\n case 3:\r\n this.abaRiscoResidual.setCriteriosAvaliacaoRiscosId(this.id)\r\n break;\r\n }\r\n }\r\n\r\n onBack() {\r\n if (this.abaDados.form.dirty) {\r\n const dialogConfig = new MatDialogConfig();\r\n const modal = this.matDialog.open(ModalCancelarComponent, dialogConfig);\r\n modal.afterClosed().subscribe((resultado) => {\r\n if (resultado == true) {\r\n this.router.navigate([\"/criteriosAvaliacao\"]);\r\n }\r\n });\r\n\r\n } else {\r\n this.router.navigate([\"/criteriosAvaliacao\"]);\r\n }\r\n }\r\n\r\n salvarDados() {\r\n this.abaDados.salvarDados(this.aba);\r\n // switch (this.aba) {\r\n // case 0:\r\n // this.abaDados.salvarDados(this.aba);\r\n // break;\r\n // case 1:\r\n // this.abaRiscoInerente.salvarDados(this.aba);\r\n // break;\r\n // case 2:\r\n // this.abaDadosControle.salvarDados(this.aba);\r\n // break;\r\n // case 3:\r\n // this.abaRiscoResidual.salvarDados(this.aba);\r\n // break;\r\n // }\r\n }\r\n\r\n SalvarFechar() {\r\n this.abaDados.salvarDados(this.aba);\r\n this.router.navigate([\"/criteriosAvaliacao\"]);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Critérios de Avaliação de Riscos\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n \r\n
  2. \r\n
  3. Riscos
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Critérios de Avaliação de Risco\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Nome {{ element.nome }} Descrição {{ element.descricao }} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
\r\n Nenhum registro encontrado.\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ICriteriosAvaliacaoRiscos } from 'src/app/models/criterios-avaliacao-riscos.model';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { CriteriosAvaliacaoRiscoService } from 'src/app/services/criterios-avaliacao-risco.service';\r\nimport { FormulaRiscoResidualService } from 'src/app/services/formula-risco-residual.service';\r\nimport { MagnitudesEscalaRiscoService } from 'src/app/services/magnitudes-escala-risco.service';\r\nimport { NiveisRiscoInerenteService } from 'src/app/services/niveis-risco-inerente.service';\r\nimport { NiveisRiscoResidualService } from 'src/app/services/niveis-risco-residual.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-criterios-avaliacao-list',\r\n templateUrl: './criterios-avaliacao-list.component.html',\r\n styleUrls: ['./criterios-avaliacao-list.component.scss']\r\n})\r\nexport class CriteriosAvaliacaoListComponent implements OnInit {\r\n\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ICriteriosAvaliacaoRiscos;\r\n public displayedColumns: string[] = [\r\n \"selecao\",\r\n \"nome\",\r\n \"descricao\",\r\n \"ativo\",\r\n ];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n public filtro = {} as FiltroModel;\r\n public totalItens: number;\r\n public pageEvent: any;\r\n\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private router: Router,\r\n private criteriosAvaliacaoService: CriteriosAvaliacaoRiscoService,\r\n ) { }\r\n\r\n async ngOnInit() {\r\n this.filtro.ativo = true\r\n this.setarPermissoes();\r\n await this.buscar();\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/criteriosAvaliacao/novo']);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n async buscar() {\r\n this.selectedModel = null;\r\n this.criteriosAvaliacaoService\r\n .obter(this.filtro.pesquisa, this.filtro.ativo, false)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.paginator = this.tableOnePaginator;\r\n this.paginator.length = res.dados.length;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n });\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.CriteriosAvaliacaoRiscos,\r\n EnumAcaoRecurso.Consultar\r\n );\r\n this.permissoes.editar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.CriteriosAvaliacaoRiscos,\r\n EnumAcaoRecurso.Editar\r\n );\r\n this.permissoes.excluir = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.CriteriosAvaliacaoRiscos,\r\n EnumAcaoRecurso.Excluir\r\n );\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.CriteriosAvaliacaoRiscos,\r\n EnumAcaoRecurso.AtivarInativar\r\n );\r\n this.permissoes.incluir = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.CriteriosAvaliacaoRiscos,\r\n EnumAcaoRecurso.Inserir\r\n );\r\n this.permissoes.visualizar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.CriteriosAvaliacaoRiscos,\r\n EnumAcaoRecurso.Visualizar\r\n );\r\n }\r\n\r\n editar(id: any) {\r\n this.router.navigate(['/criteriosAvaliacao/', id]);\r\n }\r\n\r\n reativar(id: any) {\r\n this.criteriosAvaliacaoService.reativar(id).then(() => {\r\n this.buscar()\r\n })\r\n }\r\n\r\n inativar(id: any) {\r\n this.criteriosAvaliacaoService.inativar(id).then(() => {\r\n this.buscar()\r\n })\r\n }\r\n\r\n excluir(id: any) {\r\n this.criteriosAvaliacaoService.excluir(id).then(() => {\r\n this.buscar()\r\n })\r\n }\r\n\r\n visualizar(id: any) {\r\n this.router.navigate([`/criteriosAvaliacao/${id}/visualizar`]);\r\n }\r\n\r\n pageChanged(e: any) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel =\r\n !this.selectedModel || this.selectedModel.id !== item.id\r\n ? item\r\n : null;\r\n }\r\n\r\n public exibirMensagemErro(mensagem: string) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: mensagem,\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Custo e recurso\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ICustoRecursoModel } from 'src/app/models/custo-recurso.model';\r\nimport { CustoRecursoService } from 'src/app/services/custo-recurso.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-custo-recurso-form',\r\n templateUrl: './custo-recurso-form.component.html',\r\n styleUrls: ['./custo-recurso-form.component.scss']\r\n})\r\nexport class CustoRecursoFormComponent extends BaseFormComponent implements OnInit {\r\n public model: ICustoRecursoModel = {} as ICustoRecursoModel;\r\n public auditoresDataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public salvar: boolean;\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n valorMedio: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n });\r\n public onAuditoria!: boolean;\r\n\r\n @Input() auditoriaModel!: ICustoRecursoModel;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private custoRecursoService: CustoRecursoService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Nova Custos e Recursos';\r\n }\r\n\r\n this.onAuditoria = this.router.url.includes('auditoria')\r\n }\r\n\r\n config: AngularEditorConfig = {\r\n editable: !this.visualizar,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n async ngOnInit() {\r\n try {\r\n if(this.auditoriaModel?.id && this.onAuditoria) {\r\n this.model = this.auditoriaModel;\r\n } else if (!this.novoRegistro) {\r\n const res = await this.custoRecursoService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n if (this.visualizar) {\r\n this.titulo = 'Visualização de Custos e Recursos - ' + this.model.nome;\r\n } else {\r\n this.titulo = 'Editar Custos e Recursos - ' + this.model.nome;\r\n }\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n this.router.navigate(['/custo-recurso']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n this.router.navigate(['/custo-recurso']);\r\n }\r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean = false) {\r\n this.salvar = true\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido!');\r\n return;\r\n }\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.custoRecursoService.atualizar(this.model);\r\n } else {\r\n res = await this.custoRecursoService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro salvo com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (salvarEFechar) {\r\n this.router.navigate(['/custo-recurso']);\r\n }else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/custo-recurso/${res.dados.id}`]);\r\n await this.ngOnInit();\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(validacoes);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/custo-recurso']);\r\n }\r\n\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { ICustoRecursoModel } from 'src/app/models/custo-recurso.model';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { CustoRecursoService } from 'src/app/services/custo-recurso.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-custo-recurso-list',\r\n templateUrl: './custo-recurso-list.component.html',\r\n styleUrls: ['./custo-recurso-list.component.scss']\r\n})\r\nexport class CustoRecursoListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ICustoRecursoModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private custoRecursoService: CustoRecursoService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n\r\n public novo() {\r\n this.router.navigate(['/custo-recurso/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.custoRecursoService\r\n .obter(this.searchNome, this.searchAtivo, false)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.custoRecursoService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Custo e recurso reativada com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.custoRecursoService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Custo e recurso inativada com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/custo-recurso/${id}`]);\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/custo-recurso/${id}/visualizar`]);\r\n }\r\n\r\n public excluir(id: number) {\r\n this.custoRecursoService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro excluído com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Custos e Recursos
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Custos e Recursos\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Custos e Recursos {{element.nome}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Sem dados a exibir
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-erro',\r\n templateUrl: './erro.component.html',\r\n styleUrls: ['./erro.component.scss']\r\n})\r\nexport class ErroComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

erro works!

\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. {{ titulo }}
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n a\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n a\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n a\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport Inputmask from 'inputmask';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { toIntlNumberString } from 'src/app/core/helpers/number.helper';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IFaixaClassificacaoModel } from 'src/app/models/faixa-classificacao';\r\nimport { FaixaClassificacaoService } from 'src/app/services/faixa-classificacao.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-faixa-classificacao-form',\r\n templateUrl: './faixa-classificacao-form.component.html',\r\n styleUrls: ['./faixa-classificacao-form.component.scss']\r\n})\r\nexport class FaixaClassificacaoFormComponent extends BaseFormComponent implements OnInit {\r\n public model: IFaixaClassificacaoModel = {} as IFaixaClassificacaoModel;\r\n public salvarEFechar: boolean = false;\r\n\r\n public form = new FormGroup({\r\n pisoBaixo: new FormControl(null, Validators.required),\r\n tetoBaixo: new FormControl(null, Validators.required),\r\n pisoMedio: new FormControl(null, Validators.required),\r\n tetoMedio: new FormControl(null, Validators.required),\r\n pisoAlto: new FormControl(null, Validators.required),\r\n tetoAlto: new FormControl(null, Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private faixaService: FaixaClassificacaoService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.titulo = 'Editar Faixa de Classificação';\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n\r\n try {\r\n const res = await this.faixaService.obter();\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n return;\r\n }\r\n\r\n this.form.controls['pisoBaixo'].setValue(this.formatarNumero(this.model.pisoBaixo));\r\n this.form.controls['tetoBaixo'].setValue(this.formatarNumero(this.model.tetoBaixo));\r\n this.form.controls['pisoMedio'].setValue(this.formatarNumero(this.model.pisoMedio));\r\n this.form.controls['tetoMedio'].setValue(this.formatarNumero(this.model.tetoMedio));\r\n this.form.controls['pisoAlto'].setValue(this.formatarNumero(this.model.pisoAlto));\r\n this.form.controls['tetoAlto'].setValue(this.formatarNumero(this.model.tetoAlto));\r\n\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n this.router.navigate(['/']);\r\n } \r\n }\r\n\r\n private formatarNumero(n: number) {\r\n return n.toFixed(4).toString().replace('.', ',');\r\n }\r\n\r\n public async onSubmitClose(){\r\n this.salvarEFechar = true;\r\n this.onSubmit();\r\n }\r\n\r\n public async onSubmit() {\r\n\r\n this.validarFormulario();\r\n\r\n if (this.form.invalid) {\r\n \r\n this.exibirMensagemAlerta(\"Formulário invalido\");\r\n\r\n return;\r\n }\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n this.model.pisoBaixo = parseFloat(toIntlNumberString(this.form.controls['pisoBaixo'].value));\r\n this.model.tetoBaixo = parseFloat(toIntlNumberString(this.form.controls['tetoBaixo'].value));\r\n this.model.pisoMedio = parseFloat(toIntlNumberString(this.form.controls['pisoMedio'].value));\r\n this.model.tetoMedio = parseFloat(toIntlNumberString(this.form.controls['tetoMedio'].value));\r\n this.model.pisoAlto = parseFloat(toIntlNumberString(this.form.controls['pisoAlto'].value));\r\n this.model.tetoAlto = parseFloat(toIntlNumberString(this.form.controls['tetoAlto'].value));\r\n\r\n res = await this.faixaService.atualizar(this.model);\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (this.salvarEFechar == true) {\r\n this.router.navigate(['/']);\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(validacoes);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n this.salvarEFechar = false;\r\n }\r\n\r\n public calcular(field) {\r\n if (!this.form.controls['pisoBaixo'].value) {\r\n this.form.controls['pisoBaixo'].setValue('0,0000');\r\n }\r\n if (!this.form.controls['tetoBaixo'].value) {\r\n this.form.controls['tetoBaixo'].setValue('0,0000');\r\n }\r\n if (!this.form.controls['pisoMedio'].value) {\r\n this.form.controls['pisoMedio'].setValue('0,0000');\r\n }\r\n if (!this.form.controls['tetoMedio'].value) {\r\n this.form.controls['tetoMedio'].setValue('0,0000');\r\n }\r\n if (!this.form.controls['pisoAlto'].value) {\r\n this.form.controls['pisoAlto'].setValue('0,0000');\r\n }\r\n if (!this.form.controls['tetoAlto'].value) {\r\n this.form.controls['tetoAlto'].setValue('0,0000');\r\n }\r\n\r\n this.model.pisoBaixo = parseFloat(toIntlNumberString(this.form.controls['pisoBaixo'].value) || '0,0000');\r\n this.model.tetoBaixo = parseFloat(toIntlNumberString(this.form.controls['tetoBaixo'].value) || '0,0000');\r\n this.model.pisoMedio = parseFloat(toIntlNumberString(this.form.controls['pisoMedio'].value) || '0,0000');\r\n this.model.tetoMedio = parseFloat(toIntlNumberString(this.form.controls['tetoMedio'].value) || '0,0000');\r\n this.model.pisoAlto = parseFloat(toIntlNumberString(this.form.controls['pisoAlto'].value) || '0,0000');\r\n this.model.tetoAlto = parseFloat(toIntlNumberString(this.form.controls['tetoAlto'].value) || '0,0000');\r\n\r\n this.validarFormulario();\r\n\r\n }\r\n\r\n public validarFormulario() {\r\n\r\n if (this.model.pisoMedio >= this.model.tetoMedio) {\r\n this.form.controls['pisoMedio'].setErrors({ invalid: true });\r\n } else {\r\n this.form.controls['pisoMedio'].setErrors(null);\r\n }\r\n\r\n if (this.model.tetoBaixo >= this.model.pisoMedio) {\r\n this.form.controls['tetoBaixo'].setErrors({ invalid: true });\r\n } else {\r\n this.form.controls['tetoBaixo'].setErrors(null);\r\n }\r\n\r\n if (this.model.pisoBaixo >= this.model.tetoBaixo) {\r\n this.form.controls['pisoBaixo'].setErrors({ invalid: true });\r\n } else {\r\n this.form.controls['pisoBaixo'].setErrors(null);\r\n }\r\n\r\n if (this.model.tetoMedio >= this.model.pisoAlto) {\r\n this.form.controls['tetoMedio'].setErrors({ invalid: true });\r\n } else {\r\n this.form.controls['tetoMedio'].setErrors(null);\r\n }\r\n\r\n if (this.model.pisoAlto >= this.model.tetoAlto) {\r\n this.form.controls['pisoAlto'].setErrors({ invalid: true });\r\n } else {\r\n this.form.controls['pisoAlto'].setErrors(null);\r\n }\r\n\r\n if (this.model.tetoAlto > 10) {\r\n this.form.controls['tetoAlto'].setErrors({ invalid: true });\r\n } else {\r\n this.form.controls['tetoAlto'].setErrors(null);\r\n }\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/']);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Fases de Atividades\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\"\r\n maxlength=\"50\" \r\n appKeyboardlock\r\n autocomplete=\"new-password\"\r\n [ngClass]=\"{ 'is-invalid': f.submitted && form.controls['quantidadeDias'].invalid }\" />\r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IFasesAtividadeModel } from 'src/app/models/fases-atividade-model';\r\nimport { FaseAtividadeService } from 'src/app/services/fase-atividade.service';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\n\r\n@Component({\r\n selector: 'app-fase-atividade-form',\r\n templateUrl: './fase-atividade-form.component.html',\r\n styleUrls: ['./fase-atividade-form.component.scss']\r\n})\r\nexport class FaseAtividadeFormComponent extends BaseFormComponent implements OnInit {\r\n public model:IFasesAtividadeModel = {} as IFasesAtividadeModel;\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n quantidadeDias: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private faseAtividadeService: FaseAtividadeService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Fase de Atividade';\r\n }\r\n }\r\n\r\n\r\n async ngOnInit() {\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.faseAtividadeService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Fase de atividade - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Fase de atividade - ' + this.model.nome;\r\n }\r\n\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n this.router.navigate(['/fase-atividade']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n this.router.navigate(['/fase-atividade']);\r\n } \r\n }\r\n\r\n public async salvarDados(salvarEFechar: boolean)\r\n {\r\n this.submit = true;\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.faseAtividadeService.atualizar(this.model);\r\n } else {\r\n res = await this.faseAtividadeService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'success',\r\n text: res.mensagem.descricao\r\n });\r\n\r\n if(salvarEFechar == true)\r\n this.router.navigate(['/fase-atividade']);\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n }\r\n catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public async onSubmit() {\r\n this.salvarDados(false);\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n \r\n }\r\n\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigate(['/fase-atividade']);\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate(['/fase-atividade']);\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IFasesAtividadeModel } from 'src/app/models/fases-atividade-model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { FaseAtividadeService } from 'src/app/services/fase-atividade.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-fase-atividade-list',\r\n templateUrl: './fase-atividade-list.component.html',\r\n styleUrls: ['./fase-atividade-list.component.scss']\r\n})\r\nexport class FaseAtividadeListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public displayedColumns: string[] = ['selecao', 'nome', 'ativo'];\r\n public selectedModel: IFasesAtividadeModel;\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private faseAtividadeService: FaseAtividadeService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n )\r\n {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n \r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.faseAtividadeService\r\n .obter(this.searchNome, this.searchAtivo, true)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemAlerta(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.faseAtividadeService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Fase de atividade reativada com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.faseAtividadeService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Fase de atividade inativada com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/fase-atividade/${id}`]);\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/fase-atividade/novo']);\r\n }\r\n\r\n public excluir(id: number) {\r\n this.faseAtividadeService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Fase de atividade excluída com sucesso',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/fase-atividade/${id}/visualizar`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Fases de Atividades
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Fases de Atividades\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Fase\r\n {{element.nome}}\r\n \r\n Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro\r\n encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ titulo }}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tDocumento de Trabalho\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{{ element.codigo }} -\r\n\t\t\t\t\t\t\t\t\t\t\t{{ element.descricao }}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tOrdem\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ element.ordem }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tPerfil/Cargo\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.nomePerfil\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tNenhum membro cadastrado\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Cancelar\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t\r\n\r\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { IFluxoAprovacaoModel } from 'src/app/models/fluxo-aprovacao.model';\r\nimport { INivelAprovacaoModel } from 'src/app/models/nivel-aprovacao.model';\r\nimport { FluxoAprovacaoService } from 'src/app/services/fluxo-aprovacao.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { AcessoCidadaoService } from 'src/app/services/acesso-cidadao.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { IPerfilAcessoCidadaoModel } from 'src/app/models/perfil-acessocidadao.model';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\n\r\n@Component({\r\n selector: 'app-fluxo-aprovacao-form',\r\n templateUrl: './fluxo-aprovacao-form.component.html',\r\n styleUrls: ['./fluxo-aprovacao-form.component.scss']\r\n})\r\nexport class FluxoAprovacaoFormComponent extends BaseFormComponent implements OnInit {\r\n public model: IFluxoAprovacaoModel = {} as IFluxoAprovacaoModel;\r\n public dataSource = new MatTableDataSource([]);\r\n public novoNivel = {} as INivelAprovacaoModel;\r\n public tabelaPerfilCargo: IPerfilAcessoCidadaoModel[];\r\n public tabelaPerfilCargoFiltro: IPerfilAcessoCidadaoModel[];\r\n public origens = [{ codigo: 1, descricao: 'Planejada' }, { codigo: 2, descricao: 'Especial' }]\r\n public tiposTrabalho = [{ codigo: 1, descricao: 'PEAC' }, { codigo: 2, descricao: 'PAAC' }, { codigo: 3, descricao: 'OPA' }, { codigo: 4, descricao: 'OSA' }, { codigo: 5, descricao: 'Matriz de Constatações' }, { codigo: 6, descricao: 'Relatório de Auditoria' }, { codigo: 7, descricao: 'Planejamento' }, { codigo: 8, descricao: 'PAAC - Especial' }]\r\n public semDados = true;\r\n public ocultarOrigem: boolean;\r\n\r\n public displayedColumns: string[] = [\r\n 'selecao',\r\n 'nome',\r\n 'membros',\r\n ];\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n tipoTrabalho: new FormControl({ value: [] as IEnumModel[], disabled: true }),\r\n origem: new FormControl({ value: [] as IEnumModel[], disabled: true }),\r\n perfilCargo: new FormControl({ value: [''], disabled: true }),\r\n });\r\n\r\n private formAlterado:boolean = false;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private fluxoService: FluxoAprovacaoService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private acessoCidadaoService: AcessoCidadaoService,\r\n public matDialog: MatDialog,\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Fluxo de Aprovação';\r\n this.form.controls['tipoTrabalho'].enable();\r\n this.form.controls['origem'].enable();\r\n this.form.controls['perfilCargo'].enable();\r\n } else {\r\n this.titulo = 'Editar Fluxo de Aprovação #' + this.id;\r\n this.form.controls['tipoTrabalho'].enable();\r\n this.form.controls['origem'].enable();\r\n this.form.controls['perfilCargo'].enable();\r\n }\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Fluxo de Aprovação #' + this.id;\r\n this.form.controls['tipoTrabalho'].disable();\r\n this.form.controls['origem'].disable();\r\n this.form.controls['perfilCargo'].disable();\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n this.origemHidden();\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.fluxoService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n this.form.controls['id'].setValue(res.dados.id);\r\n this.form.controls['tipoTrabalho'].setValue(res.dados.tipoDocumento.codigo);\r\n this.form.controls['origem'].setValue(res.dados.origem != undefined ? res.dados.origem.codigo : 0);\r\n this.model.origemId = res.dados.origemId != undefined ? res.dados.origemId : 0;\r\n this.model.origem = res.dados.origem != undefined ? res.dados.origem : null;\r\n this.model.tipoDocumentoId = res.dados.tipoDocumentoId;\r\n this.model.tipoDocumento = res.dados.tipoDocumento;\r\n this.model.nivelAprovacao = this.model.nivelAprovacao.sort((a, b) => (a.ordem > b.ordem) ? 1 : -1);\r\n this.dataSource = new MatTableDataSource(res.dados.nivelAprovacao);\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n } else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/fluxos-aprovacao']);\r\n return;\r\n }\r\n\r\n }\r\n await this.acessoCidadaoService.ObterPerfisAcessoCidadao()\r\n .then((resPerfil) => this.tabelaPerfilCargo = resPerfil.dados);\r\n \r\n this.filtrarTabelaPerfilCargo();\r\n\r\n this.form.valueChanges.subscribe(values => {\r\n this.formAlterado = true;\r\n });\r\n\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/fluxos-aprovacao']);\r\n } \r\n }\r\n\r\n public async salvarDados(fechar: boolean) {\r\n if (this.form.invalid) {\r\n this.toastr.warning('Formulário inválido!', 'Atenção');\r\n return;\r\n }\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n this.model.origem = null;\r\n this.model.origemId = this.form.controls['origem'].value;\r\n res = await this.fluxoService.atualizar(this.model);\r\n } else {\r\n this.model.id = null;\r\n this.model.nome = '';\r\n this.model.dataAlteracao = null;\r\n this.model.nivelAprovacao = this.dataSource.data;\r\n this.model.ativo = true;\r\n this.model.origemId = this.form.controls['origem'].value != undefined && this.form.controls['origem'].value.length != 0 ? this.form.controls['origem'].value : 0;\r\n this.model.origem = null;\r\n this.model.tipoDocumentoId = this.form.controls['tipoTrabalho'].value;\r\n this.model.tipoDocumento = null;\r\n res = await this.fluxoService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n if(fechar){\r\n this.router.navigate(['/fluxos-aprovacao']);\r\n }else{\r\n this.router.navigate([`/fluxos-aprovacao/${res.dados.id}`]);\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n\r\n this.toastr.warning(validacoes, res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n private filtrarTabelaPerfilCargo() {\r\n this.tabelaPerfilCargoFiltro = this.tabelaPerfilCargo.filter(t => this.dataSource.data.findIndex(d => d.codigoPerfil === t.guid) < 0);\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n if (!this.novoRegistro && this.formAlterado) {\r\n const dialogConfig = new MatDialogConfig();\r\n this.matDialog.open(ModalCancelarComponent, dialogConfig).afterClosed().subscribe({\r\n next: (resposta) => {\r\n if (resposta) {\r\n this.router.navigate(['/fluxos-aprovacao']);\r\n }\r\n }\r\n })\r\n\r\n return;\r\n }\r\n \r\n this.router.navigate(['/fluxos-aprovacao']);\r\n }\r\n\r\n public excluirNivel(ind: number) {\r\n this.dataSource.data.splice(ind, 1);\r\n\r\n for (let i = ind; i < this.dataSource.data.length; i++) {\r\n this.dataSource.data[i].ordem = i + 1;\r\n }\r\n\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n\r\n this.filtrarTabelaPerfilCargo();\r\n }\r\n\r\n public incluirNivel() {\r\n this.novoNivel.ordem = this.dataSource.data.length + 1;\r\n const perfilSelecionado = this.tabelaPerfilCargo.find(t => t.guid === this.novoNivel.codigoPerfil);\r\n this.novoNivel.codigoPerfil = perfilSelecionado.guid;\r\n this.novoNivel.nomePerfil = perfilSelecionado.nome;\r\n this.novoNivel.fluxoAprovacaoId = this.id;\r\n this.dataSource.data.push(cloneDeep(this.novoNivel));\r\n this.dataSource._updateChangeSubscription();\r\n this.novoNivel = {} as INivelAprovacaoModel;\r\n this.semDados = false;\r\n\r\n this.filtrarTabelaPerfilCargo();\r\n }\r\n\r\n public drop(event: CdkDragDrop) {\r\n moveItemInArray(this.dataSource.data, event.previousIndex, event.currentIndex);\r\n for (let i = 0; i < this.dataSource.data.length; i++) {\r\n this.dataSource.data[i].ordem = i + 1;\r\n }\r\n\r\n this.dataSource._updateChangeSubscription();\r\n }\r\n\r\n public origemHidden(): boolean {\r\n if (this.model.nome == 'OPA' || this.model.nome == 'OSA') {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public exibirOrigem(): boolean {\r\n if (this.visualizar) {\r\n this.form.controls['origem'].setValue(this.model.origemId);\r\n }\r\n if (this.form.controls['tipoTrabalho'].value == 3 || this.form.controls['tipoTrabalho'].value == 4) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IFluxoAprovacaoModel } from 'src/app/models/fluxo-aprovacao.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { FluxoAprovacaoService } from 'src/app/services/fluxo-aprovacao.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\n\r\n@Component({\r\n selector: 'app-fluxo-aprovacao-list',\r\n templateUrl: './fluxo-aprovacao-list.component.html',\r\n styleUrls: ['./fluxo-aprovacao-list.component.scss']\r\n})\r\nexport class FluxoAprovacaoListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IFluxoAprovacaoModel;\r\n public displayedColumns: string[] = ['selecao', 'id', 'nome'];\r\n public searchNome: string;\r\n public semDados = true;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private fluxoAprovacaoService: FluxoAprovacaoService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Configuracoes, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Configuracoes, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Configuracoes, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Configuracoes, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Configuracoes, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Configuracoes, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.fluxoAprovacaoService\r\n .obter(this.searchNome)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n }\r\n\r\n public novo() {\r\n this.router.navigate([`/fluxos-aprovacao/novo`]);\r\n }\r\n\r\n public excluir(id: number) {\r\n this.fluxoAprovacaoService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Registro excluído com sucesso!');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/fluxos-aprovacao/${id}/visualizar`]);\r\n }\r\n\r\n public reativar(id: number) {\r\n this.fluxoAprovacaoService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Registro reativado com sucesso!')\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n \r\n public inativar(id: number) {\r\n this.fluxoAprovacaoService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Registro inativado com sucesso!');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n \r\n public editar(id: number) {\r\n this.router.navigate([`/fluxos-aprovacao/${id}`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public botaoReativarHidden() : boolean {\r\n return !this.permissoes.inativarReativar;\r\n }\r\n\r\n public botaoInativarHidden() : boolean {\r\n return !this.permissoes.inativarReativar;\r\n }\r\n}\r\n","\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tFluxos de Aprovação\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t Novo\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t Editar\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tReativar\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tInativar\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tExcluir\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tVisualizar\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tId\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.id }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tDocumento de Trabalho\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nome }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t Situação \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t Ativo\r\n\t\t\t\t\t\t\t\t\t Inativo\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tSem dados a exibir\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Indicadores\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Nome {{ element.criterio.nome }}Peso {{element.peso}} \r\n
\r\n \r\n
\r\n
\r\n
Nenhum critério cadastrado
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IIndicadorCriterioModel } from 'src/app/models/indicador-criterio.model';\r\nimport { IIndicadorModel } from 'src/app/models/indicador.model';\r\nimport { CriterioService } from 'src/app/services/criterio.service';\r\nimport { IndicadorService } from 'src/app/services/indicador.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-indicador-form',\r\n templateUrl: './indicador-form.component.html',\r\n styleUrls: ['./indicador-form.component.scss']\r\n})\r\nexport class IndicadorFormComponent extends BaseFormComponent implements OnInit {\r\n public model: IIndicadorModel = {} as IIndicadorModel;\r\n public modelIndicadorCriterio: IIndicadorCriterioModel = {} as IIndicadorCriterioModel;\r\n public indicadorCriteriosDataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private indicadorService: IndicadorService,\r\n private criterioService: CriterioService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Indicador';\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.indicadorService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Indicador - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Indicador - ' + this.model.nome;\r\n }\r\n\r\n this.model.dataInicio = new Date(this.model.dataInicio);\r\n this.model.dataFim = new Date(this.model.dataFim);\r\n this.indicadorCriteriosDataSource = new MatTableDataSource(this.model.indicadorCriterio);\r\n this.indicadorCriteriosDataSource.sort = this.sort;\r\n this.indicadorCriteriosDataSource.sortingDataAccessor = (item, property) =>{\r\n switch(property){\r\n case 'nome': return item.criterio.nome;\r\n default: return item[property];\r\n }\r\n };\r\n this.indicadorCriteriosDataSource._updateChangeSubscription();\r\n this.semDados = this.indicadorCriteriosDataSource.filteredData.length === 0;\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n this.router.navigate(['/indicadores']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n this.router.navigate(['/indicadores']);\r\n } \r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean = false) {\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta(\"Formulário invalido\");\r\n return;\r\n }\r\n this.submit = true;\r\n \r\n\r\n this.atualizarModel(this.form.value);\r\n this.model.indicadorCriterio = this.indicadorCriteriosDataSource.data;\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.indicadorService.atualizar(this.model);\r\n } else {\r\n res = await this.indicadorService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (salvarEFechar) {\r\n this.router.navigate(['/indicadores']);\r\n } else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/indicadores/${res.dados.id}`]);\r\n await this.ngOnInit();\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(validacoes, true);\r\n }\r\n \r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n } \r\n }\r\n\r\n public incluirNovoIndicadorCriterio() {\r\n if (this.indicadorCriteriosDataSource.data.find(i => i.criterioId === this.modelIndicadorCriterio.criterioId)) {\r\n this.exibirMensagemAlerta(\"Não é possivel salvar pois existe critérios duplicados\");\r\n }\r\n else {\r\n this.indicadorCriteriosDataSource.data.push(cloneDeep(this.modelIndicadorCriterio));\r\n this.indicadorCriteriosDataSource._updateChangeSubscription();\r\n this.modelIndicadorCriterio = {} as IIndicadorCriterioModel;\r\n this.semDados = false;\r\n }\r\n }\r\n\r\n public excluirIndicadorCriterio(ind: number) {\r\n this.indicadorCriteriosDataSource.data.splice(ind, 1);\r\n this.indicadorCriteriosDataSource._updateChangeSubscription();\r\n this.semDados = this.indicadorCriteriosDataSource.filteredData.length === 0;\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/indicadores']);\r\n }\r\n\r\n public async exibirModalCriterio() {\r\n try {\r\n const res = await this.criterioService.obter('', true);\r\n if (res.sucesso) {\r\n const modal = this.exibirModal('Selecionar Critério', res.dados.filter(_ => !this.indicadorCriteriosDataSource.data.find(i => i.criterioId === _.id)).map(c => ({ ...c, descricaoTipoEntrada: c.tipoEntrada.descricao })), false, [\r\n {\r\n columnDef: 'selecao',\r\n header: ''\r\n },\r\n {\r\n columnDef: 'descricaoTipoEntrada',\r\n header: 'Tipo de Entrada'\r\n },\r\n {\r\n columnDef: 'nome',\r\n header: 'Nome'\r\n }]);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.modelIndicadorCriterio.criterio = data;\r\n this.modelIndicadorCriterio.criterioId = data.id;\r\n }\r\n }\r\n );\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IIndicadorModel } from 'src/app/models/indicador.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { IndicadorService } from 'src/app/services/indicador.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-indicador-list',\r\n templateUrl: './indicador-list.component.html',\r\n styleUrls: ['./indicador-list.component.scss']\r\n})\r\nexport class IndicadorListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([] as IIndicadorModel[]);\r\n public selectedModel: IIndicadorModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'quantidadeCriterio', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private indicadorService: IndicadorService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/indicadores/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.indicadorService\r\n .obter(this.searchNome, this.searchAtivo, false)\r\n .then((res) => {\r\n for (const item of res.dados) {\r\n delete (item.indicadorCriterio);\r\n }\r\n this.dataSource = new MatTableDataSource(res.dados as IIndicadorModel[]);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.indicadorService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Indicador reativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n}\r\n\r\n public inativar(id: number){\r\n this.indicadorService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Indicador inativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n}\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/indicadores/${id}`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n } \r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/indicadores/${id}/visualizar`]);\r\n }\r\n \r\n public excluir(id: number) {\r\n this.indicadorService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Indicador excluído com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Indicadores
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Indicadores\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Nome {{element.nome}} Quantidade de Critérios {{element.quantidadeCriterio}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { PendenciaService } from \"src/app/services/pendencia.service\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { AuthService } from \"src/app/services/auth.service\";\r\n\r\n@Component({\r\n\tselector: \"app-inicial\",\r\n\ttemplateUrl: \"./inicial.component.html\",\r\n\tstyleUrls: [\"./inicial.component.scss\"],\r\n})\r\nexport class InicialComponent implements OnInit {\r\n\tpublic count: number;\r\n\r\n\tconstructor(\r\n\t\tpublic authService: AuthService,\r\n\t\tpublic pendenciaService: PendenciaService\r\n\t) {}\r\n\r\n\tngOnInit(): void {\r\n this.obter()\r\n\t}\r\n\r\n\tpublic obter() {\r\n\t\tthis.pendenciaService.obterPendencias().then((res) => {\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tthis.count = res.dados.count;\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t}\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Bem vindo {{authService.usuario?.nome}}!

\r\n Utilize o menu ao lado para acessar as opções disponíveis.\r\n
\r\n
\r\n
\r\n
= 1\">\r\n
\r\n
\r\n
1\">Existem {{count}} pendências a serem resolvidas. Clique aqui
\r\n
Existe {{count}} pendência a ser resolvida. Clique aqui
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { LogService } from 'src/app/services/log.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ILogModel } from 'src/app/models/log.model';\r\n\r\n@Component({\r\n selector: 'app-log-form',\r\n templateUrl: './log-form.component.html',\r\n styleUrls: ['./log-form.component.scss']\r\n})\r\nexport class LogFormComponent extends BaseFormComponent implements OnInit {\r\n public model: ILogModel = {} as ILogModel;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n router: Router,\r\n toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n private logService: LogService,\r\n public authService: AuthService,\r\n public matDialog: MatDialog,\r\n \r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.titulo = 'Detalhar Log do Sistema #' + this.id;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscar();\r\n }\r\n\r\n public buscar() {\r\n this.logService\r\n .obterPorId(this.id)\r\n .then((res) => {\r\n if (res.sucesso){\r\n this.model = res.dados;\r\n this.model.dataRegistro = new Date(this.model.dataRegistro);\r\n } else {\r\n this.router.navigate(['/log']);\r\n }\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate(['/log']);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Logs do Sistema\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { LogService } from 'src/app/services/log.service';\r\nimport { IFiltroLog } from 'src/app/models/filtros/filtro-log.model';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { Router } from '@angular/router';\r\nimport FileSaver from 'file-saver';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'funcionalidade':\r\n return item.funcionalidade.descricao;\r\n case 'tipoLog':\r\n return item.tipoLog.descricao;\r\n default:\r\n return item[property];\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-log-list',\r\n templateUrl: './log-list.component.html',\r\n styleUrls: ['./log-list.component.scss']\r\n})\r\nexport class LogListComponent extends BaseListComponent implements OnInit, AfterViewInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public dataOriginal = [];\r\n public selectedModel: any;\r\n public pageEvent: any;\r\n public semDados = true;\r\n public searchNome = '';\r\n public totalItens: number;\r\n public displayedColumns: string[] = [\r\n 'selecao',\r\n 'id',\r\n 'dataRegistro',\r\n 'funcionalidade',\r\n 'tipoLog',\r\n 'nomeUsuario',\r\n 'ip'\r\n ];\r\n private filtro: IFiltroLog = {} as IFiltroLog;\r\n public filtroModel: IFiltroLog = {} as IFiltroLog;\r\n public funcionalidades = [] as IEnumModel[];\r\n public tiposLog = [] as IEnumModel[];\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild('tabela') public tabela: MatSort;\r\n\r\n constructor(private router: Router,\r\n private toastr: ToastrService,\r\n private logService: LogService,\r\n public authService: AuthService,) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.LogsDoSistema, EnumAcaoRecurso.Consultar);\r\n this.permissoes.exportar = this.authService.possuiPermissao(EnumRecursoPerfil.LogsDoSistema, EnumAcaoRecurso.Exportar);\r\n this.permissoes.detalhar = this.authService.possuiPermissao(EnumRecursoPerfil.LogsDoSistema, EnumAcaoRecurso.Detalhar);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.configFiltro();\r\n this.obterFuncionalidades();\r\n this.obterTiposLog();\r\n this.buscar();\r\n }\r\n\r\n public obterFuncionalidades() {\r\n\r\n this.logService\r\n .obterFuncionalidades()\r\n .then((res) => {\r\n this.funcionalidades = res.dados;\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n }\r\n\r\n public obterTiposLog() {\r\n\r\n this.logService\r\n .obterTiposLog()\r\n .then((res) => {\r\n this.tiposLog = res.dados;\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n this.logService\r\n .obter(this.filtro)\r\n .then((res) => {\r\n this.dataOriginal = cloneDeep(res.dados);\r\n\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource.sort = this.tabela;\r\n this.totalItens = res.dados.totalItens;\r\n\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n }\r\n\r\n buscarComFiltro() {\r\n this.filtro.dataInicial = this.filtroModel.dataInicial;\r\n this.filtro.dataFinal = this.filtroModel.dataFinal;\r\n this.filtro.funcionalidade = this.filtroModel.funcionalidade;\r\n this.filtro.tipoLog = this.filtroModel.tipoLog;\r\n this.filtro.nomeUsuario = this.filtroModel.nomeUsuario;\r\n this.buscar();\r\n }\r\n\r\n configFiltro()\r\n {\r\n this.filtro.pagina = this.paginator.pageIndex + 1;\r\n this.filtro.tamanhoPagina = this.paginator.pageSize;\r\n this.filtro.ordenacaoColuna = this.tabela.active;\r\n this.filtro.ordenacaoSentido = this.tabela.direction;\r\n }\r\n\r\n sortData(sort) {\r\n this.filtro.ordenacaoColuna = sort.active;\r\n this.filtro.ordenacaoSentido = sort.direction;\r\n\r\n this.buscar();\r\n }\r\n\r\n pageChanged(e)\r\n {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.tamanhoPagina = e.pageSize;\r\n\r\n this.buscar();\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n\r\n public detalhar() {\r\n if (this.selectedModel !== null){\r\n this.router.navigate(['/log/' + this.selectedModel.id]);\r\n }\r\n }\r\n\r\n public exportar() {\r\n\r\n this.logService\r\n .exportar(this.filtro)\r\n .then((res) => {\r\n const pdf = new Blob([res], {type: 'application/pdf;charset=utf-8'});\r\n FileSaver.saveAs(pdf, 'Exportação Logs do Sistema.pdf');\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Logs do Sistema
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Logs do Sistema\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n ID {{element.id}} Data {{element.dataRegistro | date:'dd/MM/yyyy HH:mm:ss' }} Funcionalidade {{element.funcionalidade.descricao}} Ação Realizada {{element.tipoLog.descricao}} Usuário {{element.nomeUsuario}} IP {{element.ip}}
\r\n
Sem dados a exibir
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Matriz Planejamento\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Questão {{ element.questao.nome }}Legislação Aplicável/Critério \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
Nenhuma questão cadastrada
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IMatrizPlanejamentoModel } from 'src/app/models/matriz-planejamento.model';\r\nimport { IMatrizPlanejamentoQuestaoModel } from 'src/app/models/matriz-planejamento-questao.model';\r\nimport { ISubtipoAuditoriaMatrizPlanejamentoModel } from 'src/app/models/subtipo-auditoria-matriz-planejamento.model';\r\nimport { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\nimport { MatrizPlanejamentoService } from 'src/app/services/matriz-planejamento.service';\r\nimport { QuestaoService } from 'src/app/services/questao.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-matriz-planejamento-form',\r\n templateUrl: './matriz-planejamento-form.component.html',\r\n styleUrls: ['./matriz-planejamento-form.component.scss']\r\n})\r\nexport class MatrizPlanejamentoFormComponent extends BaseFormComponent implements OnInit {\r\n public model: IMatrizPlanejamentoModel = {} as IMatrizPlanejamentoModel;\r\n public modelSubtipoAuditoria: ISubtipoAuditoriaModel = {} as ISubtipoAuditoriaModel;\r\n public modelMatrizPlanejamentoQuestao: IMatrizPlanejamentoQuestaoModel = {} as IMatrizPlanejamentoQuestaoModel;\r\n public questaoDataSource = new MatTableDataSource([]);\r\n public listaMatrizPlanejamento: ISubtipoAuditoriaMatrizPlanejamentoModel = {} as ISubtipoAuditoriaMatrizPlanejamentoModel;\r\n\r\n public rotaPrefixoSubtipoAuditoria = undefined;\r\n public semDados = true;\r\n public adicionarQuestão: boolean;\r\n public isAuditoria!: boolean;\r\n\r\n @Input() auditoriaModel!: IMatrizPlanejamentoModel;\r\n\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private matrizPlanejamentoService: MatrizPlanejamentoService,\r\n private questaoService: QuestaoService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if(this.prefixo == 'novo'){\r\n this.titulo = 'Nova Matriz Planejamento';\r\n } \r\n\r\n this.isAuditoria = this.router.url.includes(\"auditoria\");\r\n\r\n }\r\n\r\n config: AngularEditorConfig = {\r\n editable: !this.visualizar,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n async ngOnInit() {\r\n try {\r\n\r\n if(this.auditoriaModel?.id && this.isAuditoria){\r\n this.model = this.auditoriaModel;\r\n this.setQuestions();\r\n } else if (!this.novoRegistro && !this.auditoriaModel?.id && !this.isAuditoria) {\r\n const res = await this.matrizPlanejamentoService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n switch (this.prefixo) {\r\n case ('edicao'):\r\n this.titulo = 'Editar Matriz Planejamento - ' + this.model.nome;\r\n break;\r\n case ('visualizar'):\r\n this.titulo = 'Visualização Matriz Planejamento #' + this.model.nome;\r\n break;\r\n }\r\n // questão\r\n this.setQuestions();\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n this.router.navigate(['/matriz-planejamento']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n this.router.navigate(['/matriz-planejamento']);\r\n } \r\n this.state();\r\n this.form.patchValue(this.model);\r\n }\r\n\r\n public setQuestions(): void { \r\n this.questaoDataSource = new MatTableDataSource(\r\n this.model.matrizPlanejamentoQuestao\r\n );\r\n this.questaoDataSource._updateChangeSubscription();\r\n this.semDados = this.questaoDataSource.filteredData.length === 0;\r\n }\r\n\r\n public state() {\r\n // Subtipo Auditoria\r\n if (window.history.state.modelSubtipoAuditoria) {\r\n this.modelSubtipoAuditoria = window.history.state.modelSubtipoAuditoria;\r\n }\r\n\r\n // matriz planejamento\r\n if (window.history.state.modelMatrizPlanejamento) {\r\n this.model = window.history.state.modelMatrizPlanejamento;\r\n }\r\n\r\n // questão\r\n if (window.history.state.listaQuestao) {\r\n this.questaoDataSource = new MatTableDataSource(\r\n window.history.state.listaQuestao\r\n );\r\n this.questaoDataSource._updateChangeSubscription();\r\n this.semDados = this.questaoDataSource.filteredData.length === 0;\r\n }\r\n\r\n // Matriz Planejamento\r\n if (window.history.state.listaMatrizPlanejamento) {\r\n this.listaMatrizPlanejamento = window.history.state.listaMatrizPlanejamento;\r\n }\r\n\r\n // Rota\r\n if (window.history.state.rotaPrefixoSubtipoAuditoria) {\r\n this.rotaPrefixoSubtipoAuditoria = window.history.state.rotaPrefixoSubtipoAuditoria;\r\n }\r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean = false) {\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário invalido');\r\n return;\r\n }\r\n\r\n this.atualizarModel(this.form.value);\r\n this.model.matrizPlanejamentoQuestao = this.questaoDataSource.data;\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n this.model.id = this.id\r\n this.model.ativo = true\r\n res = await this.matrizPlanejamentoService.atualizar(this.model);\r\n } else {\r\n res = await this.matrizPlanejamentoService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro salvo com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (this.rotaPrefixoSubtipoAuditoria) {\r\n this.router.navigate([this.rotaPrefixoSubtipoAuditoria], {\r\n state: {\r\n modelSubtipoAuditoria: this.modelSubtipoAuditoria,\r\n listaMatrizPlanejamento: this.listaMatrizPlanejamento\r\n }\r\n });\r\n }else{\r\n if (salvarEFechar == true) {\r\n this.router.navigate(['/matriz-planejamento']);\r\n }\r\n else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/matriz-planejamento/${res.dados.id}/edicao`]);\r\n await this.ngOnInit();\r\n }\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(validacoes);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n } finally {\r\n this.adicionarQuestão = true\r\n }\r\n }\r\n\r\n public incluirQuestao() {\r\n if (this.questaoDataSource.data.findIndex(a => a.questaoId === this.modelMatrizPlanejamentoQuestao.questaoId) >= 0) {\r\n this.exibirMensagemAlerta('Questão já cadastrada nessa questão');\r\n return;\r\n }\r\n\r\n this.questaoDataSource.data.push(cloneDeep(this.modelMatrizPlanejamentoQuestao));\r\n this.questaoDataSource._updateChangeSubscription();\r\n this.modelMatrizPlanejamentoQuestao = {} as IMatrizPlanejamentoQuestaoModel;\r\n this.semDados = false;\r\n }\r\n\r\n public excluirQuestao(ind: number) {\r\n this.questaoDataSource.data.splice(ind, 1);\r\n this.questaoDataSource._updateChangeSubscription();\r\n this.semDados = this.questaoDataSource.filteredData.length === 0;\r\n }\r\n\r\n public visualizarQuestao(ind: number) {\r\n this.adicionarQuestão = true\r\n this.router.navigate([`/questao/${ind}/visualizar`], {\r\n state: {\r\n modelMatrizPlanejamento: this.form.value,\r\n listaQuestao: this.questaoDataSource.data,\r\n listaMatrizPlanejamento: this.listaMatrizPlanejamento,\r\n rotaPrefixoSubtipoAuditoria: this.rotaPrefixoSubtipoAuditoria,\r\n rotaPrefixoMatrizPlanejamento: `/matriz-planejamento/${this.id !== undefined ? this.id + '/' : ''}${this.prefixo}`\r\n },\r\n });\r\n }\r\n\r\n public async exibirModalQuestao() {\r\n try {\r\n const res = await this.questaoService.obter('', true);\r\n if (res.sucesso) {\r\n const dadosFiltrados = res.dados.filter(questao => questao.ativo);\r\n const modal = this.exibirModal('Selecionar Questão', dadosFiltrados);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.modelMatrizPlanejamentoQuestao.questaoId = data.id;\r\n this.modelMatrizPlanejamentoQuestao.questao = data;\r\n }\r\n }\r\n );\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public async cadastroRapidoQuestao() {\r\n this.adicionarQuestão = true;\r\n this.router.navigate([`/questao/novo`], {\r\n state: {\r\n modelMatrizPlanejamento: this.form.value,\r\n modelSubtipoAuditoria: this.modelSubtipoAuditoria,\r\n listaQuestao: this.questaoDataSource.data,\r\n listaMatrizPlanejamento: this.listaMatrizPlanejamento,\r\n rotaPrefixoSubtipoAuditoria: this.rotaPrefixoSubtipoAuditoria,\r\n rotaPrefixoMatrizPlanejamento: `/matriz-planejamento/${this.id !== undefined ? this.id + '/' : ''}${this.prefixo}`\r\n },\r\n });\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n if (window.history.state.rotaPrefixoSubtipoAuditoria) {\r\n this.router.navigate([window.history.state.rotaPrefixoSubtipoAuditoria], {\r\n state: {\r\n modelSubtipoAuditoria: this.modelSubtipoAuditoria,\r\n listaMatrizPlanejamento: this.listaMatrizPlanejamento\r\n }\r\n });\r\n } else {\r\n this.router.navigate(['/matriz-planejamento']);\r\n }\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IMatrizPlanejamentoModel } from 'src/app/models/matriz-planejamento.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { MatrizPlanejamentoService } from 'src/app/services/matriz-planejamento.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-matriz-planejamento-list',\r\n templateUrl: './matriz-planejamento-list.component.html',\r\n styleUrls: ['./matriz-planejamento-list.component.scss']\r\n})\r\nexport class MatrizPlanejamentoListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IMatrizPlanejamentoModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private matrizPlanejamentoService: MatrizPlanejamentoService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n \r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n this.permissoes.imprimir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Imprimir);\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/matriz-planejamento/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.matrizPlanejamentoService\r\n .obter(this.searchNome, this.searchAtivo, false)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.matrizPlanejamentoService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro reativado com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.matrizPlanejamentoService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro inativado com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/matriz-planejamento/${id}/edicao`]);\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/matriz-planejamento/${id}/visualizar`]);\r\n }\r\n\r\n public imprimir(id: number) {\r\n this.router.navigate([`/matriz-planejamento/relatorio/${id}`]);\r\n }\r\n\r\n public excluir(id: number) {\r\n this.matrizPlanejamentoService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro excluído com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Matriz Planejamento
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Matriz Planejamento\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Questão {{element.nome}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Sem dados a exibir
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

MATRIZ DE PLANEJAMENTO

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
QUESTÕES DE AUDITORIACLASSIFICAÇÃO DA QUESTÃOINFORMAÇÕES REQUERIDAS / FONTES DE INFORMAÇÃOLEGISLAÇÃO APLICÁVELPOSSÍVEIS CONSTATAÇÕESPROCEDIMENTOSDETALHAMENTO DOS PROCEDIMENTOSTÉCNICAS
\r\n

{{ auxQuestao.questao.nome }}

\r\n

\r\n
\r\n

\r\n
\r\n

\r\n
\r\n

\r\n
\r\n

\r\n {{auxConstatacao.constatacao.nome}}\r\n

\r\n
\r\n

\r\n {{auxProcedimentoAuditoria.procedimentoAuditoria.nome}}\r\n

\r\n
\r\n

\r\n \r\n

\r\n
\r\n

\r\n \r\n
\r\n \r\n

\r\n
\r\n

{{ auxQuestao.questao.nome }}

\r\n

\r\n
\r\n

\r\n
\r\n

\r\n
\r\n

\r\n
\r\n

\r\n {{auxConstatacao.constatacao.nome}}\r\n

\r\n
\r\n

\r\n {{auxProcedimentoAuditoria.procedimentoAuditoria.nome}}\r\n

\r\n
\r\n

\r\n \r\n

\r\n
\r\n

\r\n \r\n
\r\n \r\n

\r\n
\r\n

{{ auxQuestao.questao.nome }}

\r\n

\r\n
\r\n

\r\n
\r\n

\r\n
\r\n

\r\n
\r\n

\r\n {{auxConstatacao.constatacao.nome}}\r\n

\r\n
\r\n

\r\n {{auxProcedimentoAuditoria.procedimentoAuditoria.nome}}\r\n

\r\n
\r\n

\r\n \r\n

\r\n
\r\n

\r\n \r\n
\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IMatrizPlanejamentoModel } from 'src/app/models/matriz-planejamento.model';\r\nimport { MatrizPlanejamentoService } from 'src/app/services/matriz-planejamento.service';\r\n\r\n@Component({\r\n selector: 'app-matriz-planejamento-relatorio',\r\n templateUrl: './matriz-planejamento-relatorio.component.html',\r\n styleUrls: ['./matriz-planejamento-relatorio.component.scss'],\r\n})\r\nexport class MatrizPlanejamentoRelatorioComponent implements OnInit {\r\n public model: IMatrizPlanejamentoModel = {} as IMatrizPlanejamentoModel;\r\n idParam: number;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private localeService: BsLocaleService,\r\n private matrizPlanejamentoService: MatrizPlanejamentoService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.localeService.use('pt-br');\r\n\r\n const id = this.route.snapshot.paramMap.get('id');\r\n\r\n if (id) {\r\n this.idParam = parseInt(id, 10);\r\n }\r\n\r\n this.obterDados();\r\n }\r\n\r\n public async obterDados() {\r\n try {\r\n const id = this.route.snapshot.paramMap.get('id');\r\n const idParam = parseInt(id, 10);\r\n const res = await this.matrizPlanejamentoService.obterPorId(idParam);\r\n this.model = res.dados;\r\n\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/matriz-planejamento']);\r\n }\r\n }\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate(['/matriz-planejamento']);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-modal-cancelar',\r\n templateUrl: './modal-cancelar.component.html',\r\n})\r\nexport class ModalCancelarModeloQuestionario implements OnInit {\r\n ngOnInit(): void {}\r\n\r\n constructor(private dialogRef: MatDialogRef) {}\r\n\r\n Sim() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n Nao() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n

Cancelar Atividade

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
","
\r\n
\r\n
\r\n

Inserir Pergunta

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Nome\r\n \r\n {{element.nome}} Tipo entrada\r\n \r\n {{element.tipoEntrada.descricao}} Obrigatório \r\n \r\n \r\n
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ","import { ToastrService } from 'ngx-toastr';\r\nimport { MatDialog,MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport Swal from 'sweetalert2';\r\nimport { CoordenacaoService } from 'src/app/services/coordenacao.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IModeloQuestionarioItemModel } from 'src/app/models/modelo-questionario.model';\r\nimport { IPerguntaModel } from 'src/app/models/pergunta.model';\r\nimport { PerguntaService } from 'src/app/services/pergunta.service';\r\n\r\n@Component({\r\n selector: 'app-modal-modelo-questionario-pergunta',\r\n templateUrl: './modal-pergunta.component.html',\r\n styleUrls: ['./modal-pergunta.component.scss'],\r\n})\r\n\r\nexport class ModalModeloQuestionarioPerguntaComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n \r\n public model: IModeloQuestionarioItemModel;\r\n public dataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'tipo', 'obrigatorio'];\r\n public selecionado: IPerguntaModel;\r\n public totalItens: number;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n private perguntaService: PerguntaService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n \r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscarPerguntas();\r\n }\r\n \r\n \r\n ngAfterViewInit(): void {\r\n \r\n }\r\n\r\n\r\n public selecionar(item: IPerguntaModel) {\r\n this.selecionado = !this.selecionado || this.selecionado.id !== item.id ? item : null;\r\n }\r\n\r\n public async concluir() {\r\n this.dialogRef.close(this.selecionado);\r\n }\r\n\r\n public buscarPerguntas(){\r\n \r\n this.perguntaService\r\n .obter(\"\", true)\r\n .then((res) => {\r\n \r\n if(res.sucesso){\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.data.length == 0;\r\n this.totalItens = res.dados.length;\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n });\r\n \r\n }\r\n\r\n public filtrar(event: Event){\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n}\r\n\r\n","import { ToastrService } from 'ngx-toastr';\r\nimport { MatDialog,MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { IModeloQuestionarioItemModel } from 'src/app/models/modelo-questionario.model';\r\n\r\n@Component({\r\n selector: 'app-modal-modelo-questionario-secao',\r\n templateUrl: './modal-secao.component.html',\r\n styleUrls: ['./modal-secao.component.scss'],\r\n})\r\n\r\nexport class ModalModeloQuestionarioSecaoComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n \r\n public model = {} as IModeloQuestionarioItemModel;\r\n public campoObrigatorio = false;\r\n public nomeTitulo = \"Inserir Seção\";\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.model.id = data.id ?? 0;\r\n this.model.idModeloQuestionario = data.idModeloQuestionario;\r\n this.model.nome = data.nome;\r\n this.model.tipoId = 1;\r\n this.model.tipoDescription = \"Seção\";\r\n this.model.ativo = true;\r\n this.model.nomeAnterior = data.nome;\r\n this.model.status = 1;\r\n\r\n if(data.id != 0 || data.nome != \"\"){\r\n this.nomeTitulo = \"Editar Seção\";\r\n }\r\n \r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n \r\n \r\n ngAfterViewInit(): void {\r\n \r\n }\r\n\r\n\r\n public async concluir() {\r\n \r\n this.dialogRef.close(this.model);\r\n\r\n }\r\n\r\n\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

{{nomeTitulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Modelo de Questionário\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

\r\n \r\n Perguntas\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n Pergunta\r\n Seção\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
#NomeTipoObrigatórioStatusAções
\r\n
\r\n \r\n \r\n {{ element?.ordemExibicao }}\r\n
\r\n
\r\n {{ element?.nome\r\n }}\r\n {{ element?.tipoDescription }} {{getObrigatorio(element)}} \r\n \r\n Ativo\r\n Inativo\r\n \r\n
\r\n
\r\n \r\n \r\n

\r\n Aguardando o aceite\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{ subItem?.ordemExibicao }}\r\n
\r\n
{{ subItem?.nome }}{{ subItem?.tipoDescription }} {{getObrigatorio(subItem)}} \r\n Ativo\r\n Inativo\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n Nenhum item cadastrado\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { Component, ViewChild, OnInit } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { CdkDragDrop, moveItemInArray, transferArrayItem } from \"@angular/cdk/drag-drop\";\r\nimport { MatSort, Sort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { IModeloQuestionarioItemModel, IModeloQuestionarioModel } from \"src/app/models/modelo-questionario.model\";\r\nimport { ModeloQuestionarioService } from \"src/app/services/modelo-questionario.service\";\r\nimport { IPermissaoModel } from \"src/app/models/permissao.model\";\r\nimport { EnumRecursoPerfil } from \"src/app/models/enum/recurso-perfil.enum\";\r\nimport { EnumAcaoRecurso } from \"src/app/models/enum/acao-recurso.enum\";\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { TabelaDominioService } from \"src/app/services/tabela-dominio.service\";\r\nimport { IEnumModel } from \"src/app/models/enum.model\";\r\nimport { PerguntaService } from \"src/app/services/pergunta.service\";\r\nimport { ModalModeloQuestionarioPerguntaComponent } from \"./modal-pergunta/modal-pergunta.component\";\r\nimport { ModalModeloQuestionarioSecaoComponent } from \"./modal-secao/modal-secao.component\";\r\nimport { MatDialogConfig } from \"@angular/material/dialog\";\r\nimport { ModalCancelarModeloQuestionario } from \"./modal-cancelar/modal-cancelar.component\";\r\nimport Swal from \"sweetalert2\";\r\n\r\n@Component({\r\n selector: 'app-modelo-questionario-form',\r\n templateUrl: './modelo-questionario-form.component.html',\r\n styleUrls: ['./modelo-questionario-form.component.scss']\r\n})\r\n\r\nexport class ModeloQuestionarioFormComponent extends BaseFormComponent implements OnInit {\r\n\r\n public model = {} as IModeloQuestionarioModel;\r\n public tiposDocumentos = [] as IEnumModel[];\r\n columnsToDisplay = ['ordem', 'nome', 'tipoDescription', 'obrigatorio', 'actions'];\r\n subColumnsToDisplay = ['ordem', 'nome', 'tipoDescription', 'obrigatorio', 'actions'];\r\n public permissoes: IPermissaoModel;\r\n\r\n constructor(\r\n private modeloQuestionarioService: ModeloQuestionarioService,\r\n toastr: ToastrService,\r\n route: ActivatedRoute,\r\n router: Router,\r\n private authService: AuthService,\r\n localeService: BsLocaleService,\r\n private perguntaService: PerguntaService,\r\n private tabelaDominioService: TabelaDominioService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n tipoDocumento: new FormControl(null, Validators.required)\r\n })\r\n\r\n async ngOnInit() {\r\n this.setarPermissoes();\r\n\r\n await this.tabelaDominioService\r\n .obterTiposDocumentoTrabalho()\r\n .then((res) => this.tiposDocumentos = res.dados.filter(x => x.codigo != 0))\r\n .catch((err) => this.exibirMensagemErro(err));\r\n\r\n await this.buscar();\r\n }\r\n\r\n public ordenaCapitulos() {\r\n\r\n //Ordena capitulos pai\r\n this.model.itens.sort((capituloA, capitulob) => {\r\n const ordemA = capituloA.ordemExibicao.split('.').map(num => parseFloat(num));\r\n const ordemB = capitulob.ordemExibicao.split('.').map(num => parseFloat(num));\r\n\r\n // Compara cada parte da ordem\r\n for (let i = 0; i < Math.max(ordemA.length, ordemB.length); i++) {\r\n const partA = ordemA[i] || 0;\r\n const partB = ordemB[i] || 0;\r\n\r\n if (partA < partB) return -1;\r\n if (partA > partB) return 1;\r\n }\r\n return 0;\r\n });\r\n\r\n //ordenacapito filhos\r\n\r\n this.model.itens.forEach(subCapitulos => {\r\n if (subCapitulos.subItens.length) {\r\n subCapitulos.subItens.sort((itensA, itensB) => {\r\n const ordemA = itensA.ordemExibicao.split('.').map(num => parseFloat(num));\r\n const ordemB = itensB.ordemExibicao.split('.').map(num => parseFloat(num));\r\n // Compara cada parte da ordem\r\n for (let i = 0; i < Math.max(ordemA.length, ordemB.length); i++) {\r\n const partA = ordemA[i] || 0;\r\n const partB = ordemB[i] || 0;\r\n\r\n if (partA < partB) return -1;\r\n if (partA > partB) return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n });\r\n }\r\n\r\n async buscar() {\r\n if (!this.novoRegistro) {\r\n this.modeloQuestionarioService\r\n .obterPorId(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n console.log(this.model);\r\n\r\n this.ordenarOnDrop();\r\n this.form.controls['nome'].setValue(res.dados.nome);\r\n this.form.controls['id'].setValue(res.dados.id);\r\n this.form.controls['tipoDocumento'].setValue(res.dados.tipoDocumentoId);\r\n this.titulo = \"Editar modelo questionário - \" + this.model.nome;\r\n this.reordenar();\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => this.exibirMensagemErro(err));\r\n } else {\r\n this.titulo = \"Novo modelo questionário\";\r\n }\r\n }\r\n\r\n public async salvarDados(salvarEFechar: boolean) {\r\n if (this.novoRegistro) {\r\n if (!this.permissoes.incluir) {\r\n this.exibirMensagemErro(\"Você não possui permissão para Incluir.\");\r\n this.router.navigate(['/modelo-questionario']);\r\n return;\r\n }\r\n } else {\r\n if (!this.permissoes.editar) {\r\n this.exibirMensagemErro(\"Você não possui permissão para Editar.\");\r\n return;\r\n }\r\n }\r\n\r\n if (this.form.invalid) {\r\n this.exibirMensagemErro('Formulário invalido!');\r\n return;\r\n }\r\n\r\n this.model.nome = this.form.controls['nome'].value;\r\n this.model.id = this.id ?? 0;\r\n this.model.tipoDocumentoId = this.form.controls['tipoDocumento'].value;\r\n if (this.novoRegistro) {\r\n this.modeloQuestionarioService\r\n .inserir(this.model)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n if (salvarEFechar) {\r\n this.router.navigate(['/modelo-questionario']);\r\n } else {\r\n this.router.navigate([`/modelo-questionario/${res.dados.id}`]);\r\n this.buscar();\r\n }\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => this.exibirMensagemErro(err));\r\n } else {\r\n this.modeloQuestionarioService\r\n .atualizar(this.model)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n if (salvarEFechar) {\r\n this.router.navigate(['/modelo-questionario']);\r\n } else {\r\n this.buscar();\r\n }\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => this.exibirMensagemErro(err));\r\n }\r\n\r\n }\r\n\r\n public onDrop(event: CdkDragDrop) {\r\n if (event.previousContainer === event.container) {\r\n if (event.isPointerOverContainer) {\r\n moveItemInArray(this.model.itens, event.previousIndex, event.currentIndex);\r\n }\r\n } else {\r\n transferArrayItem(event.previousContainer.data,\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex);\r\n }\r\n this.ordenarOnDrop();\r\n\r\n }\r\n\r\n public ordenarOnDrop() {\r\n this.model.itens.forEach((item, idx) => {\r\n item.ordem = (idx + 1);\r\n item.ordemExibicao = item.ordem.toString();\r\n if (item.subItens) {\r\n item.subItens.forEach((subItem, subIdx) => {\r\n const itemPai = this.model.itens.find(_ => _.id == subItem.idItemPai);\r\n subItem.ordem = subIdx + 1;\r\n subItem.ordemExibicao = `${item.ordemExibicao}.${subItem.ordem.toString()}`;\r\n });\r\n }\r\n });\r\n }\r\n\r\n public onDropItens(event: CdkDragDrop, element: any) {\r\n if (event.previousContainer === event.container) {\r\n if (event.isPointerOverContainer) {\r\n moveItemInArray(element.subItens, event.previousIndex, event.currentIndex);\r\n }\r\n } else {\r\n transferArrayItem(event.previousContainer.data,\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex);\r\n }\r\n this.ordenarOnDrop();\r\n }\r\n\r\n\r\n public reordenar() {\r\n this.model.itens.forEach((item, idx) => {\r\n item.ordem = (idx + 1);\r\n item.ordemExibicao = item.ordem.toString();\r\n if (item.subItens) {\r\n item.subItens.forEach((subItem, subIdx) => {\r\n const itemPai = this.model.itens.find(_ => _.id == subItem.idItemPai);\r\n subItem.ordem = subIdx + 1;\r\n subItem.ordemExibicao = `${item.ordemExibicao}.${subItem.ordem.toString()}`\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n public async exibirModalPergunta(idItemPai: number, idx: number) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n\r\n const modal = this.matDialog.open(ModalModeloQuestionarioPerguntaComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n let novoItem = {} as IModeloQuestionarioItemModel;\r\n novoItem.idModeloQuestionario = this.id;\r\n novoItem.ativo = true;\r\n novoItem.nome = data.nome;\r\n novoItem.tipoId = 2;\r\n novoItem.tipoDescription = data.tipoEntrada.descricao;\r\n novoItem.obrigatorio = data.obrigatorio;\r\n novoItem.perguntaId = data.id;\r\n novoItem.status = 1;\r\n\r\n if (idItemPai == -1 && idx == -1) {\r\n if (!this.model.itens)\r\n this.model.itens = [] as IModeloQuestionarioItemModel[];\r\n\r\n this.model.itens.push(novoItem);\r\n } else {\r\n const itemPai = this.model.itens[idx];\r\n\r\n if (!itemPai.subItens)\r\n itemPai.subItens = [] as IModeloQuestionarioItemModel[];\r\n\r\n itemPai.subItens.push(novoItem);\r\n }\r\n this.reordenar();\r\n }\r\n })\r\n }\r\n\r\n\r\n public exibirModalSecao(element: any) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n id: element ? element.id : 0,\r\n idModeloQuestionario: this.id,\r\n nome: element ? element.nome : \"\"\r\n };\r\n\r\n const modal = this.matDialog.open(ModalModeloQuestionarioSecaoComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n\r\n let novaSecao = data as IModeloQuestionarioItemModel;\r\n\r\n if (!this.model.itens || this.model.itens.length == 0) {\r\n this.model.itens = [] as IModeloQuestionarioItemModel[];\r\n this.model.itens.push(novaSecao);\r\n this.reordenar();\r\n return;\r\n }\r\n\r\n if (this.model.itens.find((element) => element.nome.toUpperCase() == novaSecao.nome.toUpperCase())) {\r\n this.exibirMensagemErro(\"Já existe seção com este nome.\");\r\n return;\r\n }\r\n\r\n var isNew = true;\r\n\r\n this.model.itens.forEach((element, idx) => {\r\n if (novaSecao.nomeAnterior == element.nome\r\n && novaSecao.nomeAnterior != \"\") {\r\n element.nome = novaSecao.nome;\r\n isNew = false;\r\n }\r\n });\r\n\r\n if (isNew) {\r\n this.model.itens.push(novaSecao);\r\n }\r\n\r\n this.reordenar();\r\n }\r\n })\r\n }\r\n\r\n public excluirItem(element: IModeloQuestionarioItemModel) {\r\n\r\n var idxOf = this.model.itens.indexOf(element, 0);\r\n this.model.itens.splice(idxOf, 1);\r\n\r\n this.reordenar();\r\n }\r\n\r\n public excluirSubItem(nomePai: string, element: IModeloQuestionarioItemModel) {\r\n\r\n\r\n let elementPai = this.model.itens.find((element) => element.nome.toUpperCase() == nomePai.toUpperCase());\r\n const idxIndicePai = this.model.itens.indexOf(elementPai, 0);\r\n const itemPai = this.model.itens[idxIndicePai];\r\n var idxOf = itemPai.subItens.indexOf(element, 0);\r\n itemPai.subItens.splice(idxOf, 1);\r\n\r\n this.reordenar();\r\n }\r\n\r\n public onBack() {\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n\r\n const modal = this.matDialog.open(ModalCancelarModeloQuestionario, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if (data == true) {\r\n this.router.navigate(['/modelo-questionario']);\r\n }\r\n })\r\n }\r\n\r\n public fechar() {\r\n this.router.navigate(['/modelo-questionario']);\r\n }\r\n\r\n public semDados(): boolean {\r\n return !this.model || !this.model.itens || this.model.itens.length == 0;\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.ModeloQuestionario, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.ModeloQuestionario, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.ModeloQuestionario, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.ModeloQuestionario, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.ModeloQuestionario, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.ModeloQuestionario, EnumAcaoRecurso.Visualizar);\r\n\r\n\r\n if (this.novoRegistro) {\r\n if (!this.permissoes.incluir) {\r\n this.exibirMensagemErro(\"Você não possui permissão para Incluir.\");\r\n this.router.navigate(['/modelo-questionario']);\r\n return;\r\n }\r\n } else {\r\n if (!this.permissoes.visualizar) {\r\n this.exibirMensagemErro(\"Você não possui permissão para Visualizar.\");\r\n this.router.navigate(['/modelo-questionario']);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n public getObrigatorio(item: any) {\r\n if (item.obrigatorio) {\r\n return \"Sim\";\r\n } else {\r\n return \"Não\";\r\n }\r\n }\r\n\r\n public avaliar(id: number, idModeloQuestionario: number, status: boolean) {\r\n var name: string = \"\";\r\n if (status) {\r\n name = 'Aprovar'\r\n } else {\r\n name = 'Reprovar'\r\n }\r\n Swal.fire({\r\n title: name,\r\n text: 'Tem certeza que deseja ' + name + '?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(res => {\r\n if (res.value) {\r\n this.modeloQuestionarioService.aprovarReprovarItem(id, idModeloQuestionario, status).then(res => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.buscar();\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch(err => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n })\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Modelo Questionário
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Modelo Questionário\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Nome {{element.nome}} Tipo documento {{element.tipoDocumentoDescription}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum Registro Encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ","import { BaseListComponent } from \"src/app/shared/components/base-list/base-list.component\";\r\nimport { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort, Sort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { IModeloQuestionarioModel } from \"src/app/models/modelo-questionario.model\";\r\nimport { ModeloQuestionarioService } from \"src/app/services/modelo-questionario.service\";\r\nimport { IPermissaoModel } from \"src/app/models/permissao.model\";\r\nimport { EnumRecursoPerfil } from \"src/app/models/enum/recurso-perfil.enum\";\r\nimport { EnumAcaoRecurso } from \"src/app/models/enum/acao-recurso.enum\";\r\nimport { FiltroModel } from \"src/app/models/filtro.model\";\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-modelo-questionario-list',\r\n templateUrl: './modelo-questionario-list.component.html',\r\n styleUrls: ['./modelo-questionario-list.component.scss']\r\n })\r\n export class ModeloQuestionarioListComponent extends BaseListComponent {\r\n \r\n public filtro = {} as FiltroModel;\r\n public dataSource = new MatTableDataSource([]);\r\n public totalItens: number;\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public selectedModel: IModeloQuestionarioModel;\r\n public pageEvent: any;\r\n \r\n\r\n constructor(\r\n private modeloQuestionarioService: ModeloQuestionarioService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n }\r\n\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n public displayedColumns: string[] = ['selecao', 'nome', 'tipoDocumentoDescription', 'ativo'];\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.sort = this.sort; \r\n this.configurarFiltro(); // Movido para ngAfterViewInit\r\n this.buscar(); \r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n public novo() {\r\n if(!this.permissoes.incluir){\r\n this.exibirMensagemErro(\"Você não possui permissão para Incluir.\")\r\n return\r\n }\r\n\r\n this.router.navigate(['/modelo-questionario/novo']);\r\n }\r\n\r\n public editar(id: number){\r\n if(!this.permissoes.editar){\r\n this.exibirMensagemErro(\"Você não possui permissão para Editar.\")\r\n return\r\n }\r\n\r\n this.router.navigate([`/modelo-questionario/${id}`]);\r\n }\r\n\r\n public inativar(id: number){\r\n if(!this.permissoes.inativarReativar){\r\n this.exibirMensagemErro(\"Você não possui permissão para Inativar-Reativar.\")\r\n return\r\n }\r\n\r\n this.modeloQuestionarioService\r\n .inativar(id) \r\n .then((res) => {\r\n if(res.sucesso){\r\n this.selectedModel = null;\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.resetarFiltro();\r\n this.buscar();\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err)=> this.exibirMensagemErro(err));\r\n }\r\n\r\n public reativar(id: number){\r\n if(!this.permissoes.inativarReativar){\r\n this.exibirMensagemErro(\"Você não possui permissão para Inativar-Reativar.\")\r\n return\r\n }\r\n\r\n this.modeloQuestionarioService\r\n .reativar(id) \r\n .then((res) => {\r\n if(res.sucesso){\r\n this.selectedModel = null;\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.resetarFiltro();\r\n this.buscar();\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err)=> this.exibirMensagemErro(err));\r\n }\r\n\r\n public excluir(id: number){\r\n if(!this.permissoes.excluir){\r\n this.exibirMensagemErro(\"Você não possui permissão para Excluir.\")\r\n return\r\n }\r\n\r\n this.modeloQuestionarioService\r\n .excluir(id) \r\n .then((res) => {\r\n if(res.sucesso){\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.buscar()\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err)=> this.exibirMensagemErro(err));\r\n }\r\n\r\n public visualizar(id: number){\r\n if(!this.permissoes.visualizar){\r\n this.exibirMensagemErro(\"Você não possui permissão para visualizar.\")\r\n return\r\n }\r\n\r\n this.router.navigate([`/modelo-questionario/${id}/visualizar`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n \r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.ModeloQuestionario, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.ModeloQuestionario, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.ModeloQuestionario, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.ModeloQuestionario, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.ModeloQuestionario, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.ModeloQuestionario, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n public async buscar(){\r\n if(!this.permissoes.consultar){\r\n this.exibirMensagemErro(\"Você não possui permissão para consultar.\")\r\n return\r\n }\r\n\r\n this.configurarFiltro();\r\n this.modeloQuestionarioService\r\n .obter(this.filtro)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length == 0;\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => this.exibirMensagemErro(err));\r\n }\r\n\r\n private configurarFiltro() {\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.pesquisa = this.searchNome;\r\n this.filtro.direcao = this.sort.direction;\r\n this.filtro.colunaOrder = this.sort.active;\r\n }\r\n\r\n private resetarFiltro(){\r\n this.filtro.pagina = 1;\r\n this.tableOnePaginator.pageIndex = 0;\r\n this.filtro.ativo = true;\r\n }\r\n\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n \r\n this.buscar();\r\n }\r\n }","
\r\n \r\n
\r\n

{{titulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{keyword}}\r\n \r\n \r\n \r\n \r\n {{keyword}}\r\n \r\n \r\n \r\n \r\n {{keyword}}\r\n \r\n \r\n \r\n \r\n {{keyword}}\r\n \r\n \r\n \r\n \r\n {{keyword}}\r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n\r\n \r\n Cancelar\r\n \r\n
\r\n \r\n \r\n \r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ICapituloRelatorioModel } from 'src/app/models/capitulo-relatorio.model';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { CapituloRelatorioService } from 'src/app/services/capitulo-relatorio.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { MatChipInputEvent } from '@angular/material/chips';\r\n\r\n@Component({\r\n selector: 'app-modal-capitulo',\r\n templateUrl: './modal-capitulo.component.html',\r\n styleUrls: ['./modal-capitulo.component.scss'],\r\n})\r\nexport class ModalCapituloComponent implements OnInit {\r\n public model: ICapituloRelatorioModel = {} as ICapituloRelatorioModel;\r\n public enumTipo = [] as IEnumModel[];\r\n public novoRegistro = true;\r\n public id: number;\r\n public keywords = ['Período', 'Indicador', 'UGs', 'Coordenações', 'Capacidade de trabalho', 'Auditores da Coordenação', 'Distribuição Contempladas', 'Ranking de Distribuição', 'Dados', 'Carga dos Critérios', 'Ranking de Distribuição'] as string[];\r\n public keywordsPaa = ['Período do PEAC', 'Indicadores do PAAC corrente', 'UGs do PAAC corrente', 'Coordenações do PAAC corrente', 'Capacidade de trabalho do PAAC corrente',\r\n 'Auditores da Coordenação do PAAC corrente', 'Distribuição Contempladas do PEAC', 'Ranking de Distribuição do PAAC corrente', 'Indicadores e Critérios do PAAC corrente',\r\n 'Painel de Distribuição do PAAC corrente', 'Auditorias inativas no Painel de Distribuição com respectiva justificativa', 'Auditorias por Tipo e Coordenação e UGs',\r\n 'Alocação da Equipe', 'Calendário do PAAC corrente', 'Capacidade total PAAC', 'Capacidade total PEAC'] as string[];\r\n public keywordsOpa = ['Tipo de auditoria', 'Origem', 'Unidade auditada', 'Objeto', 'Período', 'Coordenador', 'Auditores do OPA', 'Subtipo de Auditoria do OPA', 'Nota de rodapé'] as string[];\r\n public keywordsPlanejamento = ['Auditores do Planejamento', 'Subtipo de Auditoria do Planejamento', 'UGs do Planejamento', 'Informações Básicas'] as string[];\r\n public keywordsOsa = ['Auditores do OSA', 'Subtipo de Auditoria do OSA'] as string[];\r\n public titulo;\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n tipoId: new FormControl(null, Validators.required),\r\n conteudo: new FormControl('', Validators.required),\r\n tags: new FormControl(null)\r\n });\r\n\r\n constructor(\r\n public route: ActivatedRoute,\r\n public toastr: ToastrService,\r\n public router: Router,\r\n public localeService: BsLocaleService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private capituloRelatorioService: CapituloRelatorioService,\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n if (data.editar && data.element) {\r\n this.model = data.element;\r\n this.form.patchValue(this.model);\r\n }\r\n\r\n if (data.subCapitulo) {\r\n this.titulo = 'Subcapítulo';\r\n }\r\n else {\r\n this.titulo = 'Capítulo';\r\n }\r\n }\r\n\r\n config: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n // ['bold']\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n async ngOnInit() {\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.capituloRelatorioService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n } else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/capitulos-relatorio']);\r\n return;\r\n }\r\n }\r\n\r\n await this.tabelaDominioService.obterTipoCapituloRelatorio().then((res) => this.enumTipo = res.dados),\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/capitulos-relatorio']);\r\n }\r\n }\r\n\r\n public concluir() {\r\n if(this.form.invalid)\r\n return;\r\n\r\n this.atualizarModel(this.form.value);\r\n this.model.tipo = this.enumTipo.find(_ => _?.codigo === parseInt(this.model.tipoId.toString(), null));\r\n this.dialogRef.close(this.model);\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public cancelar() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = { interno: true };\r\n this.matDialog.open(ModalCancelarComponent, dialogConfig).afterClosed();\r\n }\r\n\r\n addKeywordFromInput(event: MatChipInputEvent) {\r\n if (event.value) {\r\n if (this.keywords.includes(event.value)) {\r\n this.toastr.error('Tag já adicionada ao capítulo.', 'Atenção');\r\n } else {\r\n this.keywords.push(event.value);\r\n }\r\n }\r\n }\r\n\r\n addTag(keyword: string) {\r\n this.atualizarModel(this.form.value);\r\n this.model.conteudo += `{{${keyword}}}`;\r\n this.form.patchValue(this.model);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Modelos de Relatório\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n \r\n
\r\n \r\n

Processando...

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

\r\n \r\n Capítulos de Relatório\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n Adicionar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
#NomeTipoAções
\r\n
\r\n \r\n \r\n {{ element?.ordem }}\r\n
\r\n
{{ element?.nome }}{{ element?.tipo?.descricao }}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n Aguardando o aceite\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{ subCapitulo?.ordem }}\r\n
\r\n
\r\n {{ subCapitulo?.nome }}\r\n \r\n {{ subCapitulo?.tipo?.descricao }}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n Aguardando o aceite\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n Nenhum registro encontrado.\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n Cancelar\r\n \r\n\r\n \r\n Sair\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n\r\n","import { CdkDrag, CdkDragDrop, moveItemInArray, transferArrayItem } from \"@angular/cdk/drag-drop\";\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ICapituloRelatorioModel } from 'src/app/models/capitulo-relatorio.model';\r\nimport { IModeloRelatorioModel } from 'src/app/models/modelo-relatorio.model';\r\nimport { ModeloRelatorioService } from 'src/app/services/modelo-relatorio.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\nimport { ModalCapituloComponent } from './modal-capitulo/modal-capitulo.component';\r\nimport { IFluxoAprovacaoModel } from 'src/app/models/fluxo-aprovacao.model';\r\nimport { FluxoAprovacaoService } from 'src/app/services/fluxo-aprovacao.service';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { CapituloRelatorioService } from 'src/app/services/capitulo-relatorio.service';\r\n@Component({\r\n selector: 'app-modelo-relatorio-form',\r\n templateUrl: './modelo-relatorio-form.component.html',\r\n styleUrls: ['./modelo-relatorio-form.component.scss']\r\n})\r\nexport class ModeloRelatorioFormComponent extends BaseFormComponent implements OnInit {\r\n public model: IModeloRelatorioModel = {} as IModeloRelatorioModel;\r\n public capitulosDataSource = new MatTableDataSource([]);\r\n public capitulosRelatorio = [] as ICapituloRelatorioModel[];\r\n public tiposTrabalhos = [\r\n {codigo: 1, nome:'PEAC', descricao: 'PEAC'},\r\n {codigo: 2, nome:'PAAC', descricao: 'PAAC'},\r\n {codigo: 8, nome:'PAAC - Especial', descricao: 'PAAC - Especial'},\r\n {codigo: 3, nome:'OPA', descricao: 'OPA'},\r\n {codigo: 7, nome:'Planejamento', descricao: 'Planejamento'},\r\n {codigo: 4, nome:'OSA', descricao: 'OSA'},\r\n ] ;\r\n public semDados = true;\r\n\r\n public selectedModel: IModeloRelatorioModel;\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public displayedColumns: string[] = [\r\n 'ordem', 'nome', 'tipo', 'actions'\r\n ];\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n tipoTrabalhoId: new FormControl(null, Validators.required)\r\n });\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n spinner: NgxSpinnerService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private modeloRelatorioService: ModeloRelatorioService,\r\n private capituloRelatorioService: CapituloRelatorioService,\r\n private fluxoAprovacaoService: FluxoAprovacaoService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Modelo de Relatório';\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n this.buscar();\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public ordenaCapitulos(){\r\n\r\n //Ordena capitulos pai\r\n this.model.capitulos.sort((capituloA, capitulob) => {\r\n const ordemA = capituloA.ordem.split('.').map(num => parseFloat(num));\r\n const ordemB = capitulob.ordem.split('.').map(num => parseFloat(num));\r\n\r\n // Compara cada parte da ordem\r\n for (let i = 0; i < Math.max(ordemA.length, ordemB.length); i++) {\r\n const partA = ordemA[i] || 0;\r\n const partB = ordemB[i] || 0;\r\n\r\n if (partA < partB) return -1;\r\n if (partA > partB) return 1;\r\n }\r\n return 0;\r\n });\r\n\r\n //ordenacapito filhos\r\n\r\n this.model.capitulos.forEach(subCapitulos =>{\r\n if(subCapitulos.subCapitulos.length){\r\n subCapitulos.subCapitulos.sort((capituloA, capitulob)=>{\r\n const ordemA = capituloA.ordem.split('.').map(num => parseFloat(num));\r\n const ordemB = capitulob.ordem.split('.').map(num => parseFloat(num));\r\n // Compara cada parte da ordem\r\n for (let i = 0; i < Math.max(ordemA.length, ordemB.length); i++) {\r\n const partA = ordemA[i] || 0;\r\n const partB = ordemB[i] || 0;\r\n\r\n if (partA < partB) return -1;\r\n if (partA > partB) return 1;\r\n }\r\n return 0;\r\n });\r\n }\r\n });\r\n }\r\n public async buscar() {\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.modeloRelatorioService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n this.ordenaCapitulos();\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Modelo de Relatório - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Modelo de Relatório - ' + this.model.nome;\r\n }\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n this.router.navigate(['/modelos-relatorio']);\r\n return;\r\n }\r\n }\r\n this.form.patchValue(this.model);\r\n this.semDados = this.model.capitulos.length == 0;\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n this.router.navigate(['/modelos-relatorio']);\r\n } finally {\r\n }\r\n }\r\n\r\n public async salvarDados(salvarEFechar: boolean)\r\n {\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta(\"Formulário invalido\");\r\n return;\r\n }\r\n this.submit = true;\r\n\r\n this.model.capitulos.forEach(c => {\r\n if(c.subCapitulos){\r\n c.subCapitulos.forEach(sc => {\r\n sc.capituloRelatorioPai = null;\r\n });\r\n }\r\n });\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n this.model.capitulos.forEach((element, idx) => {\r\n element.ordem = (idx+1).toString();\r\n if(element.subCapitulos){\r\n element.subCapitulos.forEach((subCapitulo, subIdx) => {\r\n subCapitulo.ordem = `${element.ordem}.${(subIdx).toString()}`;\r\n });\r\n }\r\n });\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.modeloRelatorioService.atualizar(this.model);\r\n } else {\r\n res = await this.modeloRelatorioService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n\r\n if(salvarEFechar == true){\r\n this.router.navigate(['/modelos-relatorio']);\r\n }else{\r\n if(this.novoRegistro){\r\n this.router.navigate([`/modelos-relatorio/${res.dados.id}`]);\r\n this.buscar();\r\n }\r\n }\r\n\r\n } else {\r\n this.submit = false;\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.submit = false;\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n } finally {\r\n }\r\n }\r\n\r\n public async onSubmit() {\r\n this.salvarDados(false);\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public excluirCapitulo(element: ICapituloRelatorioModel) {\r\n\r\n if (element.capituloRelatorioPaiId) {\r\n this.model.capitulos.forEach(capitulo => {\r\n if(capitulo.id == element.capituloRelatorioPaiId){\r\n capitulo.subCapitulos.splice(capitulo.subCapitulos.findIndex(x => x.ordem == element.ordem), 1);\r\n return;\r\n }\r\n });\r\n\r\n }\r\n else {\r\n\r\n if(element.capituloRelatorioPai){\r\n\r\n this.model.capitulos.forEach(capitulo => {\r\n if(capitulo.ordem == element.capituloRelatorioPai.ordem){\r\n capitulo.subCapitulos.splice(capitulo.subCapitulos.findIndex(x => x.ordem == element.ordem), 1);\r\n return;\r\n }\r\n });\r\n\r\n }else{\r\n this.model.capitulos.splice(this.model.capitulos.findIndex(_ => _.ordem === element.ordem), 1);\r\n }\r\n }\r\n\r\n this.semDados = this.model.capitulos.length === 0;\r\n this.reordenar();\r\n }\r\n\r\n public async exibirModalCapitulo(editar?: boolean, element?: ICapituloRelatorioModel, indice?: number, subCapitulo?: boolean, indexValue?: number) {\r\n try {\r\n if(this.form.invalid){\r\n this.exibirMensagemAlerta(\"Salve os dados anteriores\");\r\n return;\r\n }\r\n\r\n const tipoDocumento = this.form.controls[\"tipoTrabalhoId\"].value;\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '1200px';\r\n dialogConfig.height = '600px';\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n element,\r\n indice,\r\n subCapitulo,\r\n editar,\r\n tipoDocumento\r\n };\r\n const modal = this.matDialog.open(ModalCapituloComponent, dialogConfig);\r\n\r\n modal.afterClosed().subscribe(async (data: ICapituloRelatorioModel) => {\r\n if (data) {\r\n try {\r\n if(!this.model){\r\n this.model = {} as IModeloRelatorioModel;\r\n }\r\n if(!this.model.capitulos){\r\n this.model.capitulos = [] as ICapituloRelatorioModel[];\r\n }\r\n\r\n if (data.id) {\r\n if (element && subCapitulo || data.capituloRelatorioPaiId) {\r\n const capituloPai = this.model.capitulos.find(_ => _.id === element.capituloRelatorioPaiId);\r\n capituloPai.subCapitulos[indice] = data ;\r\n }\r\n return;\r\n }\r\n\r\n if (element && subCapitulo) {\r\n\r\n if (!element.subCapitulos) { element.subCapitulos = [] as ICapituloRelatorioModel[]; }\r\n\r\n const capituloPai = this.model.capitulos.find(_ => _.id === element.capituloRelatorioPaiId);\r\n const indexUpdate = capituloPai?.subCapitulos?.findIndex(_ => _.ordem === element.ordem);\r\n if (indexUpdate >= 0) {\r\n capituloPai.subCapitulos.splice(indexUpdate, 1);\r\n data.capituloRelatorioPaiId = capituloPai.id;\r\n data.modeloRelatorioId = capituloPai.modeloRelatorioId;\r\n capituloPai.subCapitulos.push(data);\r\n }\r\n else {\r\n data.ordem = `${element.ordem}.${(element.subCapitulos.length).toString()}`;\r\n data.capituloRelatorioPaiId = element.id;\r\n data.modeloRelatorioId = element.modeloRelatorioId;\r\n data.capituloRelatorioPai = element;\r\n element.subCapitulos.push(data);\r\n }\r\n }\r\n else if (element) {\r\n this.model.capitulos.splice(indice, 1);\r\n data.ordem = (this.model.capitulos.length + 1).toString();\r\n data.modeloRelatorioId = element.modeloRelatorioId;\r\n this.model.capitulos.push(data);\r\n }\r\n else {\r\n data.ordem = (this.model.capitulos.length + 1).toString();\r\n this.model.capitulos.push(data);\r\n }\r\n\r\n } catch (error) {\r\n this.exibirMensagemErro(\"Ocorreu um erro inesperado. Entre em contato com o administrador.\");\r\n } finally {\r\n }\r\n }\r\n });\r\n\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n } finally {\r\n }\r\n }\r\n\r\n onDrop(event: CdkDragDrop) {\r\n\r\n debugger\r\n\r\n let dados = event.item.data\r\n if(event.previousContainer === event.container){\r\n moveItemInArray(this.model.capitulos, event.previousIndex, event.currentIndex);\r\n }else {\r\n transferArrayItem(event.previousContainer.data,\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex);\r\n }\r\n this.model.capitulos.forEach((element, idx) => {\r\n element.ordem = (idx+1).toString();\r\n if(element.subCapitulos){\r\n element.subCapitulos.forEach((subCapitulo, subIdx) => {\r\n subCapitulo.ordem = `${element.ordem}.${(subIdx).toString()}`;\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n onDropItens(event: CdkDragDrop,_elememt:any) {\r\n debugger\r\n if(event.previousContainer === event.container){\r\n moveItemInArray(_elememt.subCapitulos, event.previousIndex, event.currentIndex);\r\n }else {\r\n transferArrayItem(event.previousContainer.data,\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex);\r\n }\r\n this.model.capitulos.forEach((element, idx) => {\r\n element.ordem = (idx + 1).toString();\r\n if(element.subCapitulos){\r\n element.subCapitulos.forEach((subCapitulo, subIdx) => {\r\n subCapitulo.ordem = `${element.ordem}.${(subIdx).toString()}`;\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n public retornaCapitulosArray(): ICapituloRelatorioModel[]{\r\n let itens= [] as ICapituloRelatorioModel[];\r\n\r\n this.model.capitulos.forEach(capitulo => {\r\n itens.push(capitulo);\r\n if(capitulo.subCapitulos){\r\n capitulo.subCapitulos.forEach(subCapitulo => {\r\n subCapitulo.subCapitulos = null;\r\n itens.push(subCapitulo);\r\n });\r\n }\r\n });\r\n\r\n return itens;\r\n }\r\n\r\n public reordenar() {\r\n\r\n this.model.capitulos.forEach((element, idx) => {\r\n element.ordem = (idx + 1).toString();\r\n if(element.subCapitulos){\r\n element.subCapitulos.forEach((subCapitulo, subIdx) => {\r\n subCapitulo.ordem = `${element.ordem}.${(subIdx).toString()}`;\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n public avaliarCapitulo(id: number, status: boolean) {\r\n var name: string = \"\";\r\n if (status) {\r\n name = 'Aprovar'\r\n } else {\r\n name = 'Reprovar'\r\n }\r\n Swal.fire({\r\n title: name,\r\n text: 'Tem certeza que deseja ' + name + '?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(res => {\r\n if (res.value) {\r\n this.capituloRelatorioService.aprovarReprovarCapitulo(id, status).then(res => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.buscar();\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch(err => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n })\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/modelos-relatorio']);\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort, Sort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IModeloRelatorioModel } from 'src/app/models/modelo-relatorio.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { ModeloRelatorioService } from 'src/app/services/modelo-relatorio.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'descricao':\r\n return item.tipoTrabalho.descricao.trim().toLowerCase(); \r\n case 'nome': return item.nome.trim().toLowerCase(); \r\n default:\r\n return item[property];\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-modelo-relatorio-list',\r\n templateUrl: './modelo-relatorio-list.component.html',\r\n styleUrls: ['./modelo-relatorio-list.component.scss']\r\n})\r\nexport class ModeloRelatorioListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IModeloRelatorioModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'descricao', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private modeloRelatorioService: ModeloRelatorioService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private spinner: NgxSpinnerService,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n \r\n\r\n public novo() {\r\n this.router.navigate(['/modelos-relatorio/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n this.spinner.show();\r\n\r\n this.modeloRelatorioService\r\n .obter(this.searchNome, this.searchAtivo, true)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n .finally(() => this.spinner.hide());\r\n }\r\n\r\n public reativar(id: number) {\r\n this.spinner.show();\r\n this.modeloRelatorioService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Modelo de Relatório reativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.spinner.hide();\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.spinner.show();\r\n this.modeloRelatorioService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Modelo de Relatório inativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.spinner.hide();\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/modelos-relatorio/${id}`]);\r\n }\r\n\r\n public excluir(id: number) {\r\n this.spinner.show();\r\n this.modeloRelatorioService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Modelo de Relatório excluído com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.spinner.hide();\r\n this.buscar();\r\n });\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/modelos-relatorio/${id}/visualizar`]);\r\n }\r\n}","\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Modelos de Relatório\r\n

\r\n
\r\n\r\n
\r\n \r\n

Processando...

\r\n \r\n
\r\n \r\n \r\n \r\n Novo\r\n \r\n \r\n Editar\r\n \r\n \r\n \r\n Reativar\r\n \r\n \r\n \r\n Inativar\r\n \r\n \r\n \r\n \r\n Excluir\r\n \r\n \r\n \r\n Visualizar\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Exibir todos\r\n Exibir somente ativos\r\n Exibir somente inativos\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Nome\r\n \r\n {{ element.nome }}\r\n \r\n\r\n \r\n \r\n Tipo de Trabalho\r\n \r\n \r\n {{ element.tipoTrabalho?.descricao }}\r\n \r\n \r\n\r\n \r\n \r\n Situação\r\n \r\n \r\n Ativo\r\n Inativo\r\n \r\n \r\n\r\n \r\n \r\n
\r\n Nenhum registro encontrado.\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Natureza da Responsabilidade\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { INaturezaResponsabilidadeModel } from 'src/app/models/natureza-responsabilidade';\r\nimport { NaturezaResponsabilidadeService } from 'src/app/services/natureza-responsabilidade.service';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\n\r\n@Component({\r\n selector: 'app-natureza-responsabilidade-form',\r\n templateUrl: './natureza-responsabilidade-form.component.html',\r\n styleUrls: ['./natureza-responsabilidade-form.component.scss'],\r\n})\r\nexport class NaturezaResponsabilidadeFormComponent extends BaseFormComponent implements OnInit {\r\n public model: INaturezaResponsabilidadeModel = {} as INaturezaResponsabilidadeModel;\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private naturezaResponsabilidadeService: NaturezaResponsabilidadeService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.naturezaResponsabilidadeService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Natureza da Responsabilidade';\r\n } else {\r\n this.titulo = 'Editar Natureza da Responsabilidade - ' + this.model.nome;\r\n }\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Natureza da Responsabilidade - ' + this.model.nome;\r\n }\r\n\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n this.router.navigate(['/natureza-responsabilidade']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n this.router.navigate(['/natureza-responsabilidade']);\r\n }\r\n }\r\n\r\n public async salvarDados(salvarEFechar: boolean)\r\n {\r\n this.submit = true;\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.naturezaResponsabilidadeService.atualizar(this.model);\r\n } else {\r\n res = await this.naturezaResponsabilidadeService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'success',\r\n text: res.mensagem.descricao\r\n });\r\n\r\n if(salvarEFechar == true){\r\n this.router.navigate(['/natureza-responsabilidade']);\r\n }else{\r\n this.router.navigate([`/natureza-responsabilidade/${res.dados.id}`]);\r\n this.ngOnInit();\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n \r\n }\r\n }\r\n catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public async onSubmit() {\r\n this.salvarDados(false);\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigate(['/natureza-responsabilidade']);\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate(['/natureza-responsabilidade']);\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { INaturezaResponsabilidadeModel } from 'src/app/models/natureza-responsabilidade';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { NaturezaResponsabilidadeService } from 'src/app/services/natureza-responsabilidade.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-natureza-responsabilidade-list',\r\n templateUrl: './natureza-responsabilidade-list.component.html',\r\n styleUrls: ['./natureza-responsabilidade-list.component.scss'],\r\n})\r\n\r\nexport class NaturezaResponsabilidadeListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: INaturezaResponsabilidadeModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private naturezaResponsabilidadeService: NaturezaResponsabilidadeService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/natureza-responsabilidade/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.naturezaResponsabilidadeService\r\n .obter(this.searchNome, this.searchAtivo, true)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemAlerta(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.naturezaResponsabilidadeService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Natureza da responsabilidade reativada com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.naturezaResponsabilidadeService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Natureza da responsabilidade inativada com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/natureza-responsabilidade/${id}`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public excluir(id: number) {\r\n this.naturezaResponsabilidadeService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Natureza da responsabilidade excluída com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta('Objeto não pode ser excluído');\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/natureza-responsabilidade/${id}/visualizar`]);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Natureza da Responsabilidade
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Natureza da Responsabilidade\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Nome\r\n {{element.nome}}\r\n \r\n Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro\r\n encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n OPA - Ordem de Planejamento de Auditoria\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
Campo\r\n obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
Campo\r\n obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
Campo\r\n obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
Campo\r\n obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Subtipo(s) \r\n {{element.subtipoAuditoria.nome}} \r\n
\r\n \r\n
\r\n
\r\n
Nenhum Subtipo\r\n selecionado
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Equipe de Auditores \r\n \r\n {{element.nomeAuditor}} \r\n \r\n {{element.nomeAuditor}} \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
Nenhum Auditor\r\n selecionado
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { OpaService } from 'src/app/services/opa.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { IOpaModel } from 'src/app/models/opa.model';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ITipoAuditoriaModel } from 'src/app/models/tipo-auditoria.model';\r\nimport { TipoAuditoriaService } from 'src/app/services/tipo-auditoria.service';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport { CoordenacaoService } from 'src/app/services/coordenacao.service';\r\nimport { IAuditorCoordenacaoModel } from 'src/app/models/auditor-coordenacao.model';\r\nimport { SubtipoAuditoriaService } from 'src/app/services/subtipo-auditoria.service';\r\nimport { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\nimport { DateHelper } from 'src/app/core/helpers/date.helper';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IOpaSubtipoAuditoriaModel } from 'src/app/models/opa-subtipo-auditoria.model';\r\nimport { ModalAlocarEquipeOpaComponent } from '../modal/modal-alocar-equipe/modal-alocar-equipe-opa.component';\r\nimport { IOpaEquipeModel } from 'src/app/models/opa-equipe.model';\r\nimport { IOpaEquipeAuditorModel } from 'src/app/models/opa-equipe-auditor.model';\r\nimport { PaaService } from 'src/app/services/paa.service';\r\nimport { ModalConfirmarInativacaoComponent } from 'src/app/shared/components/modal-confirmar-inativacao/modal-confirmar-inativacao.component';\r\nimport { IOpaHistoricoModel } from 'src/app/models/opa-historico.model';\r\nimport Swal from 'sweetalert2';\r\nimport { IRelatoriaCapituloModel } from 'src/app/models/relatoria-capitulo.model';\r\nimport { ITipoEnfaseModel } from 'src/app/models/tipo-enfase.model';\r\nimport { TipoEnfaseService } from 'src/app/services/tipo-enfase.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\n\r\n@Component({\r\n selector: 'app-opa-form',\r\n templateUrl: './opa-form.component.html',\r\n styleUrls: ['./opa-form.component.scss']\r\n})\r\nexport class OpaFormComponent extends BaseFormComponent implements OnInit {\r\n public model: IOpaModel = {} as IOpaModel;\r\n public tiposAuditoria = [] as ITipoAuditoriaModel[];\r\n public tiposEnfase = [] as ITipoEnfaseModel[];\r\n public coordenadoresAuditoria = [] as IAuditorCoordenacaoModel[];\r\n public subtipoDataSource = new MatTableDataSource([]);\r\n public auditoresDataSource = new MatTableDataSource([]);\r\n public subtipoSemDados = true;\r\n public auditoresSemDados = true;\r\n public historicoTipoAuditoria: IOpaHistoricoModel = {} as IOpaHistoricoModel;\r\n public historicoUnidadeGestora: IOpaHistoricoModel = {} as IOpaHistoricoModel;\r\n public tipoAuditorioSelecionado: ITipoAuditoriaModel = {} as ITipoAuditoriaModel;\r\n public permiteEdicao: boolean = false;\r\n public emPlanejamento = false;\r\n public aba: number = 0;\r\n public versao = false;\r\n public novaOpa = false\r\n public diasUteisAuditoria: any;\r\n\r\n public relatoriaDados: IRelatoriaCapituloModel[] = null;\r\n\r\n public visualizarRelatoria = false;\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n numeroOpa: new FormControl({ value: '', disabled: true }),\r\n origemAuditoria: new FormControl({ value: '', disabled: true }),\r\n dataElaboracao: new FormControl({ value: '', disabled: true }),\r\n tipoAuditoriaId: new FormControl('', Validators.required),\r\n unidadeGestoraNome: new FormControl({ value: '' }),\r\n unidadeGestoraId: new FormControl('', Validators.required),\r\n dataInicioPrevista: new FormControl(''),\r\n dataFimPrevista: new FormControl(''),\r\n objeto: new FormControl('', Validators.required),\r\n dataInicioRealizacao: new FormControl('', Validators.required),\r\n dataApresentacaoPlanejamento: new FormControl('', Validators.required),\r\n dataFimRealizacao: new FormControl(''),\r\n auditorCoordenacaoId: new FormControl('', Validators.required),\r\n notaRodape: new FormControl(''),\r\n tipoEnfaseId: new FormControl(''),\r\n qtdeDiasUteis: new FormControl('')\r\n });\r\n\r\n constructor(route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n matDialog: MatDialog,\r\n private opaService: OpaService,\r\n private tipoAuditoriaService: TipoAuditoriaService,\r\n private coordenacaoService: CoordenacaoService,\r\n private ugService: UnidadeGestoraService,\r\n private subtipoAuditoriaService: SubtipoAuditoriaService,\r\n private paaService: PaaService,\r\n private dateHelper: DateHelper,\r\n public authService: AuthService,\r\n public tipoEnfaseService: TipoEnfaseService,\r\n private activatedRoute: ActivatedRoute,\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Nova OPA';\r\n this.novaOpa = true;\r\n } \r\n if (this.router.url.includes(\"nova-versao\")) {\r\n this.versao = true;\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n this.obterTiposAuditoria();\r\n this.obterTiposEnfase();\r\n this.obterCoordenadoresAuditoria();\r\n if (this.novoRegistro) {\r\n this.gerarNova();\r\n } else {\r\n this.obterOpa();\r\n }\r\n const numeroAba = this.activatedRoute.snapshot.queryParamMap.get('aba');\r\n if (numeroAba) { this.mudarAba(Number(numeroAba)); }\r\n this.router.url.includes('aba=6') ? this.mudarAba(6) : null;\r\n this.router.url.includes('aba=7') ? this.mudarAba(7) : null;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.form.controls['dataInicioRealizacao'].valueChanges.subscribe(value => {\r\n this.calcularDataFim();\r\n });\r\n }\r\n\r\n public gerarNova() {\r\n this.opaService\r\n .gerarNova()\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n this.permiteEdicao = true;\r\n this.atualizarModel();\r\n this.atualizarForm(true);\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public obterOpa() {\r\n this.opaService\r\n .obterPorId(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n this.form.controls['qtdeDiasUteis'].setValue(this.model.qtdeDiasUteis)\r\n this.form.controls['dataFimRealizacao'].setValue(this.model.dataFimRealizacao)\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar OPA - ' + (this.model.numero ? this.model.numero : '');\r\n } else {\r\n this.titulo = 'Editar OPA - ' + (this.model.numero ? this.model.numero : '');\r\n \r\n if (this.model.paa) {\r\n this.form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n numeroOpa: new FormControl({ value: '', disabled: true }),\r\n origemAuditoria: new FormControl({ value: '', disabled: true }),\r\n dataElaboracao: new FormControl({ value: '', disabled: true }),\r\n tipoAuditoriaId: new FormControl('', Validators.required),\r\n unidadeGestoraNome: new FormControl({ value: '' }),\r\n unidadeGestoraId: new FormControl('', Validators.required),\r\n dataInicioPrevista: new FormControl('', Validators.required),\r\n dataFimPrevista: new FormControl('', Validators.required),\r\n objeto: new FormControl('', Validators.required),\r\n dataInicioRealizacao: new FormControl(''),\r\n dataFimRealizacao: new FormControl(''),\r\n auditorCoordenacaoId: new FormControl('', Validators.required),\r\n notaRodape: new FormControl(''),\r\n tipoEnfaseId: new FormControl(''),\r\n qtdeDiasUteis: new FormControl({ value: '', disabled: true})\r\n });\r\n }\r\n }\r\n\r\n this.tipoAuditorioSelecionado = this.model.tipoAuditoria;\r\n if (this.router.url.includes(\"nova-versao\")) \r\n this.permiteEdicao = true;\r\n else this.permiteEdicao = !this.visualizar && this.model.ativo && this.model.situacao.codigo === 1;\r\n \r\n this.emPlanejamento = this.model.situacao.codigo === 4;\r\n this.atualizarModel();\r\n this.atualizarSubtipos();\r\n this.atualizarAuditores();\r\n this.atualizarForm(false);\r\n this.atualizarHistoricoTipoAuditoria();\r\n this.atualizarHistoricoUnidadeGestora();\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public obterTiposAuditoria() {\r\n this.tipoAuditoriaService\r\n .obterAtivos()\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.tiposAuditoria = res.dados;\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public obterTiposEnfase(){\r\n const filtroEnfase = {} as FiltroModel;\r\n filtroEnfase.itensPorPagina = 99;\r\n filtroEnfase.ativo = true;\r\n this.tipoEnfaseService.obter(filtroEnfase)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.tiposEnfase = res.dados.resultado\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) =>\r\n {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public obterCoordenadoresAuditoria() {\r\n this.coordenacaoService\r\n .obterCoordenadoresAtivos()\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.coordenadoresAuditoria = res.dados;\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public obterCoordenadorTipoAuditoria(tipoAuditoriaId: number) {\r\n this.tipoAuditoriaService\r\n .obterCoordenadorTipoAuditoria(tipoAuditoriaId)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.atualizarFormCoordenadorTipoAuditoria(res.dados.id);\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean = false) {\r\n this.submit = true;\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido!');\r\n return;\r\n }\r\n\r\n if (this.model.subtiposAuditoria.length === 0) {\r\n this.exibirMensagemAlerta('Informe algum Subtipo de Auditoria');\r\n return;\r\n }\r\n\r\n if (!this.model.opaEquipe || this.model.opaEquipe.auditores.length === 0) {\r\n this.exibirMensagemAlerta('Informe a Equipe de Auditores');\r\n return;\r\n }\r\n this.atualizarModelForm(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n this.atualizarHistoricoOpa();\r\n res = await this.opaService.atualizar(this.model);\r\n } else {\r\n res = await this.opaService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.historicoTipoAuditoria = {} as IOpaHistoricoModel;\r\n this.historicoUnidadeGestora = {} as IOpaHistoricoModel;\r\n if (salvarEFechar == true) {\r\n this.router.navigate(['/opa/']);\r\n }else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/opa/${res.dados.id}`]);\r\n await this.ngOnInit();\r\n }else window.location.reload()\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n if (validacoes.trim().length > 0) {\r\n this.exibirMensagemAlerta(validacoes, true);\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public onSair() {\r\n window.history.back();\r\n }\r\n\r\n public async onSelectTipoAuditoria(evt) {\r\n if (!this.novoRegistro) {\r\n const modal = this.recuperarConfiguracaoModalHistorico('Tem certeza que alterar o Tipo de Auditoria?'); \r\n\r\n modal.afterClosed().subscribe((justificativa) => {\r\n if (justificativa) {\r\n this.model.tipoAuditoriaId = this.form.get('tipoAuditoriaId').value;\r\n this.model.tipoAuditoria = null;\r\n this.model.auditorCoordenacao = null;\r\n this.atualizarTipoAuditoriaSelecionado(evt);\r\n this.obterCoordenadorTipoAuditoria(this.model.tipoAuditoriaId);\r\n\r\n this.historicoTipoAuditoria.tipoAuditoriaId = this.model.tipoAuditoriaId;\r\n this.atualizarDadosHistorico(this.historicoTipoAuditoria, justificativa);\r\n this.diasUteisAuditoria = this.tiposAuditoria.find(item => item.id == this.model.tipoAuditoriaId);\r\n this.form.controls['qtdeDiasUteis'].setValue(this.diasUteisAuditoria.quantidadeDias )\r\n \r\n } else {\r\n evt.target.value = this.model.tipoAuditoriaId;\r\n this.diasUteisAuditoria = this.tiposAuditoria.find(item => item.id == evt.target.value);\r\n this.form.controls['qtdeDiasUteis'].setValue(this.diasUteisAuditoria.quantidadeDias )\r\n }\r\n });\r\n } else {\r\n this.model.tipoAuditoriaId = this.form.get('tipoAuditoriaId').value;\r\n this.diasUteisAuditoria = this.tiposAuditoria.find(item => item.id == this.model.tipoAuditoriaId);\r\n this.form.controls['qtdeDiasUteis'].setValue(this.diasUteisAuditoria.quantidadeDias )\r\n\r\n this.atualizarTipoAuditoriaSelecionado(evt);\r\n await this.obterCoordenadorTipoAuditoria(this.model.tipoAuditoriaId);\r\n }\r\n }\r\n\r\n public async exibirModalUnidadeGestora() {\r\n try {\r\n\r\n const res = await this.ugService.obterAtivos();\r\n if (res.sucesso) {\r\n const modal = this.exibirModal('Selecionar Unidade Gestora', res.dados);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n if (!this.novoRegistro) {\r\n const modal = this.recuperarConfiguracaoModalHistorico('Tem certeza que alterar a Unidade Gestora?');\r\n\r\n modal.afterClosed().subscribe((justificativa) => {\r\n if (justificativa) {\r\n this.model.unidadeGestoraId = data.id;\r\n this.model.unidadeGestora = null;\r\n this.atualizarFormUnidadeGestora(data);\r\n\r\n this.historicoUnidadeGestora.unidadeGestoraId = this.model.unidadeGestoraId;\r\n this.atualizarDadosHistorico(this.historicoUnidadeGestora, justificativa);\r\n }\r\n });\r\n } else {\r\n this.model.unidadeGestoraId = data.id;\r\n this.atualizarFormUnidadeGestora(data);\r\n }\r\n }\r\n });\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public async exibirModalSubtipo() {\r\n try {\r\n\r\n const res = await this.subtipoAuditoriaService.obterAtivos();\r\n if (res.sucesso) {\r\n const modal = this.exibirModalMultiselect('Adicionar Subtipo', res.dados, 'Adicionar');\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n if (Array.isArray(data)) {\r\n let subtiposAuditoriaSelecionados = [] as ISubtipoAuditoriaModel[];\r\n subtiposAuditoriaSelecionados = data.map(d => (d as ISubtipoAuditoriaModel));\r\n subtiposAuditoriaSelecionados.forEach(x => this.model.subtiposAuditoria.push({ subtipoAuditoriaId: x.id, subtipoAuditoria: x, opaId: this.id } as IOpaSubtipoAuditoriaModel));\r\n }\r\n this.atualizarSubtipos();\r\n }\r\n });\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public excluirSubtipo(indice: number) {\r\n Swal.fire({\r\n title: \"Excluir Registro\",\r\n text: \"Tem certeza que deseja excluir esse Registro?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then((res) => {\r\n if (res.value) {\r\n this.subtipoDataSource.data.splice(indice, 1);\r\n this.subtipoDataSource._updateChangeSubscription();\r\n this.subtipoSemDados = this.subtipoDataSource.filteredData.length === 0;\r\n }\r\n })\r\n\r\n }\r\n\r\n public async exibirModalAlocarEquipe() {\r\n try {\r\n const auditoresTipoAuditoria = this.model.tipoAuditoriaId === 0 || this.model.tipoAuditoriaId == undefined ? [] as IAuditorCoordenacaoModel[] : (\r\n await this.tipoAuditoriaService.obterAuditoresCoordenacaoTipoAuditoria(this.model.tipoAuditoriaId)\r\n ).dados;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.maxHeight = '80vh';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = { equipe: this.model.opaEquipe, auditores: this.coordenadoresAuditoria, tipoAuditoria: this.tipoAuditorioSelecionado, auditoresTipoAuditoria };\r\n const modal = this.matDialog.open(\r\n ModalAlocarEquipeOpaComponent,\r\n dialogConfig\r\n );\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n this.model.opaEquipe = data;\r\n if (this.model.opaEquipe.auditores.length > 0) {\r\n this.paaService\r\n .obterDispensasPeriodo(this.dateHelper.toString(this.model.dataInicioRealizacao), this.dateHelper.toString(this.model.dataFimRealizacao))\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.model.opaEquipe.auditores.forEach(auditor => {\r\n auditor.indisponivelPeriodo = res.dados.filter(a => a.auditor.auditorId === auditor.auditorId).length > 0;\r\n });\r\n }\r\n })\r\n .finally(() => {\r\n this.atualizarAuditores();\r\n });\r\n }\r\n }\r\n });\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public excluirAuditor(indice: number) {\r\n Swal.fire({\r\n title: \"Excluir Registro\",\r\n text: \"Tem certeza que deseja excluir esse Registro?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then((res) => {\r\n if (res.value) {\r\n this.auditoresDataSource.data.splice(indice, 1);\r\n this.auditoresDataSource._updateChangeSubscription();\r\n this.auditoresSemDados = this.auditoresDataSource.filteredData.length === 0;\r\n }\r\n })\r\n\r\n }\r\n\r\n public enviarAprovacao() {\r\n\r\n this.opaService.enviarAprovacao(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.obterOpa();\r\n this.router.navigate(['/opa']);\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public aprovar() {\r\n this.opaService.aprovar(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.obterOpa();\r\n return;\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n\r\n public async gerarNovaVersao() {\r\n this.submit = true;\r\n\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido!');\r\n return;\r\n }\r\n\r\n if (!this.model.opaEquipe || this.model.opaEquipe.auditores.length === 0) {\r\n this.exibirMensagemAlerta('Informe a Equipe de Auditores');\r\n return;\r\n }\r\n\r\n this.atualizarModelForm(this.form.value);\r\n\r\n try {\r\n const res: IBaseModel = await this.opaService.gerarNovaVersao(this.model);;\r\n\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.router.navigate(['/opa']);\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n if (validacoes.trim().length > 0) {\r\n this.exibirMensagemAlerta(validacoes, true);\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n private atualizarModel() {\r\n if (!this.model.subtiposAuditoria) {\r\n this.model.subtiposAuditoria = [] as IOpaSubtipoAuditoriaModel[];\r\n }\r\n if (!this.model.opaEquipe) {\r\n this.model.opaEquipe = { auditores: [] as IOpaEquipeAuditorModel[] } as IOpaEquipeModel;\r\n }\r\n }\r\n\r\n private atualizarModelForm(values: any) {\r\n Object.assign(this.model, values);\r\n\r\n this.model.dataInicioPrevista = this.dateHelper.toDatePtBr(this.model.dataInicioPrevista);\r\n this.model.dataFimPrevista = this.dateHelper.toDatePtBr(this.model.dataFimPrevista);\r\n this.model.dataInicioRealizacao = this.dateHelper.toDatePtBr(this.model.dataInicioRealizacao);\r\n this.model.dataFimRealizacao = this.dateHelper.toDatePtBr(this.model.dataFimRealizacao);\r\n this.model.dataApresentacaoPlanejamento = this.dateHelper.toDatePtBr(this.model.dataApresentacaoPlanejamento);\r\n }\r\n\r\n private atualizarForm(novo: boolean) {\r\n this.form.patchValue({\r\n id: novo ? '' : this.model.id,\r\n unidadeGestoraNome: novo ? '' : this.model.unidadeGestora.nome,\r\n unidadeGestoraId: novo ? '' : this.model.unidadeGestora.id,\r\n numeroOpa: this.model.numero,\r\n origemAuditoria: this.model.origem.descricao,\r\n tipoAuditoriaId: novo ? '' : this.model.tipoAuditoriaId,\r\n dataElaboracao: this.dateHelper.toStringPtBr(this.model.dataElaboracao),\r\n dataInicioPrevista: this.dateHelper.toStringPtBr(this.model.dataInicioPrevista),\r\n dataFimPrevista: this.dateHelper.toStringPtBr(this.model.dataFimPrevista),\r\n dataInicioRealizacao: this.dateHelper.toStringPtBr(this.model.dataInicioRealizacao),\r\n dataFimRealizacao: this.dateHelper.toStringPtBr(this.model.dataFimRealizacao),\r\n dataApresentacaoPlanejamento: this.dateHelper.toStringPtBr(this.model.dataApresentacaoPlanejamento),\r\n objeto: novo ? '' : this.model.objeto,\r\n auditorCoordenacaoId: novo ? '' : this.model.auditorCoordenacaoId,\r\n notaRodape: novo ? '' : this.model.notaRodape,\r\n tipoEnfaseId: novo ? '' : this.model.tipoEnfaseId,\r\n diasUteisAuditoria: novo ? '' : this.model.diasUteisAuditoria\r\n });\r\n }\r\n\r\n private atualizarSubtipos() {\r\n this.subtipoDataSource = new MatTableDataSource(this.model.subtiposAuditoria);\r\n this.subtipoDataSource._updateChangeSubscription();\r\n this.subtipoSemDados = this.subtipoDataSource.filteredData.length === 0;\r\n }\r\n\r\n private atualizarAuditores() {\r\n this.auditoresDataSource = new MatTableDataSource(this.model.opaEquipe.auditores);\r\n this.auditoresDataSource._updateChangeSubscription();\r\n this.auditoresSemDados = this.auditoresDataSource.filteredData.length === 0;\r\n }\r\n\r\n private atualizarFormUnidadeGestora(unidadeGestora) {\r\n this.form.patchValue({\r\n unidadeGestoraNome: unidadeGestora.nome,\r\n unidadeGestoraId: unidadeGestora.id\r\n });\r\n }\r\n\r\n private atualizarFormCoordenadorTipoAuditoria(auditorId: number) {\r\n this.form.patchValue({\r\n auditorCoordenacaoId: auditorId\r\n });\r\n }\r\n\r\n private recuperarConfiguracaoModalHistorico(titulo: string): MatDialogRef {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = { titulo: titulo };\r\n\r\n return this.matDialog.open(\r\n ModalConfirmarInativacaoComponent,\r\n dialogConfig\r\n );\r\n }\r\n\r\n private atualizarDadosHistorico(historico: IOpaHistoricoModel, justificativa: string) {\r\n historico.opaId = this.id;\r\n historico.justificativa = justificativa;\r\n }\r\n\r\n private atualizarHistoricoOpa() {\r\n if (!this.model.historicoAlteracoes) {\r\n this.model.historicoAlteracoes = [] as IOpaHistoricoModel[];\r\n }\r\n\r\n if (this.historicoTipoAuditoria.opaId) {\r\n this.model.historicoAlteracoes.push(this.historicoTipoAuditoria)\r\n }\r\n\r\n if (this.historicoUnidadeGestora.opaId) {\r\n this.model.historicoAlteracoes.push(this.historicoUnidadeGestora)\r\n }\r\n }\r\n\r\n private atualizarTipoAuditoriaSelecionado(evt) {\r\n this.tipoAuditorioSelecionado.id = this.model.tipoAuditoriaId;\r\n this.tipoAuditorioSelecionado.nome = evt.target.options[evt.target.selectedIndex].text;\r\n }\r\n\r\n \r\n\r\n private atualizarHistoricoTipoAuditoria() {\r\n let historicos = this.model.historicoAlteracoes.filter(historico => historico.tipoAuditoriaId);\r\n if (historicos.length > 0) {\r\n let tooltip = 'Histórico de alteração\\n\\n';\r\n historicos.forEach(historico => {\r\n tooltip += `${historico.nomeUsuario} - ${this.dateHelper.toStringPtBr(historico.data)}, Tipo Auditoria: ${historico.tipoAuditoria.nome}, Justificativa: ${historico.justificativa}\\n\\n`;\r\n });\r\n this.model.historicoTipoAuditoria = tooltip;\r\n }\r\n }\r\n\r\n private atualizarHistoricoUnidadeGestora() {\r\n let historicos = this.model.historicoAlteracoes.filter(historico => historico.unidadeGestoraId);\r\n if (historicos.length > 0) {\r\n let tooltip = 'Histórico de alteração\\n\\n';\r\n historicos.forEach(historico => {\r\n tooltip += `${historico.nomeUsuario} - ${this.dateHelper.toStringPtBr(historico.data)}, Unidade Gestora: ${historico.unidadeGestora.sigla}, Justificativa: ${historico.justificativa}\\n\\n`;\r\n });\r\n this.model.historicoUnidadeGestora = tooltip;\r\n }\r\n }\r\n\r\n public mudarAba(aba: number) {\r\n this.aba = aba;\r\n }\r\n\r\n onDataInicioChange(novaData: Date): void {\r\n if (novaData) {\r\n if(this.form.get('qtdeDiasUteis')?.value == '' ){\r\n this.form.get('dataInicioRealizacao')?.setValue('');\r\n this.validaCamposNecessarios();\r\n return;\r\n }\r\n else{\r\n this.form.get('dataInicioRealizacao')?.setValue(novaData, { emitEvent: false });\r\n this.calcularDataFim(new Date (novaData));\r\n }\r\n }\r\n }\r\n\r\n validaCamposNecessarios(){\r\n const qtdeDias = this.form.get('qtdeDiasUteis')?.value;\r\n if(qtdeDias == '' || qtdeDias < 0){\r\n this.exibirMensagemAlerta('Para calcular a data de início e fim, selecione primeiro o campo Tipo de Auditoria.');\r\n }\r\n }\r\n \r\n calcularDataFim(dataInicioRealizacao?: Date): void {\r\n const qtdeDias = this.form.get('qtdeDiasUteis')?.value;\r\n\r\n if(qtdeDias){\r\n let diasUteisAdicionados = 0;\r\n let dataFimRealizacao = dataInicioRealizacao;\r\n while (diasUteisAdicionados< qtdeDias){\r\n dataFimRealizacao.setDate(dataFimRealizacao.getDate() + 1);\r\n\r\n if (dataFimRealizacao.getDay() !== 6 && dataFimRealizacao.getDay() !== 0)\r\n diasUteisAdicionados++;\r\n\r\n }\r\n const dataFormatada = this.formatarData(dataFimRealizacao);\r\n \r\n this.form.get('dataFimRealizacao')?.setValue(dataFormatada, { emitEvent: false });\r\n }\r\n \r\n }\r\n private formatarData(data: Date): string {\r\n const dia = String(data.getDate()).padStart(2, '0'); \r\n const mes = String(data.getMonth() + 1).padStart(2, '0'); \r\n const ano = data.getFullYear();\r\n \r\n return `${dia}/${mes}/${ano}`;\r\n }\r\n \r\n\r\n}\r\n"," import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\n import { MatTableDataSource } from '@angular/material/table';\r\n import { MatPaginator } from '@angular/material/paginator';\r\n import { MatSort } from '@angular/material/sort';\r\n import { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\n import { AuthService } from 'src/app/services/auth.service';\r\n import { OpaService } from 'src/app/services/opa.service';\r\n import { Router } from '@angular/router';\r\n import { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\n import { ModalConfirmarInativacaoComponent } from 'src/app/shared/components/modal-confirmar-inativacao/modal-confirmar-inativacao.component';\r\n import { IFiltroOpa } from 'src/app/models/filtros/filtro-opa.model';\r\n import { IEnumModel } from 'src/app/models/enum.model';\r\n import { TipoAuditoriaService } from 'src/app/services/tipo-auditoria.service';\r\n import { ITipoAuditoriaModel } from 'src/app/models/tipo-auditoria.model';\r\n import { SubtipoAuditoriaService } from 'src/app/services/subtipo-auditoria.service';\r\n import { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\n import { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\n import { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\n import { CoordenacaoService } from 'src/app/services/coordenacao.service';\r\n import { IAuditorCoordenacaoModel } from 'src/app/models/auditor-coordenacao.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\n\r\n const sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'numeroOpa':\r\n return item.numero;\r\n case 'unidadeGestora':\r\n return item.unidadeGestora.sigla;\r\n case 'origem':\r\n return item.origem.descricao;\r\n case 'dataInicio':\r\n return item.dataInicioRealizacao || item.dataInicioPrevista;\r\n case 'dataFim':\r\n return item.dataFimRealizacao || item.dataFimPrevista;\r\n case 'coordenacao':\r\n return item.tipoAuditoria.coordenacao.sigla;\r\n case 'ativo':\r\n return item.ativo;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n @Component({\r\n selector: 'app-opa-list',\r\n templateUrl: './opa-list.component.html',\r\n styleUrls: ['./opa-list.component.scss']\r\n })\r\n export class OpaListComponent extends BaseListComponent implements OnInit, AfterViewInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: any;\r\n public pageEvent: any;\r\n public semDados = true;\r\n public totalItens: number;\r\n\r\n public displayedColumns: string[] = [\r\n 'selecao',\r\n 'numero',\r\n 'unidadeGestora',\r\n 'origem',\r\n 'dataInicio',\r\n 'dataFim',\r\n 'coordenacao',\r\n 'status',\r\n 'ativo'\r\n ];\r\n\r\n private filtro: IFiltroOpa = {} as IFiltroOpa;\r\n public filtroModel: IFiltroOpa = {} as IFiltroOpa;\r\n public situacaoSelecionada: number;\r\n\r\n public origens = [] as IEnumModel[];\r\n public tiposAuditoria = [] as ITipoAuditoriaModel[];\r\n public subtiposAuditoria = [] as ISubtipoAuditoriaModel[];\r\n public statusOpa = [] as IEnumModel[];\r\n public unidadesGestoras = [] as IUnidadeGestoraModel[];\r\n public situacoes = [{codigo: 1, descricao: 'Todos'}, {codigo: 2, descricao: 'Ativos'}, {codigo: 3, descricao: 'Inativos'}] as IEnumModel[];\r\n public coordenadores = [] as IAuditorCoordenacaoModel[];\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(private opaService: OpaService,\r\n private tipoAuditoriaService: TipoAuditoriaService,\r\n private subtipoAuditoriaService: SubtipoAuditoriaService,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n private coordenacaoService: CoordenacaoService,\r\n public authService: AuthService,\r\n private router: Router,\r\n public matDialog: MatDialog) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor\r\n }\r\n \r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOPA, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOPA, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOPA, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOPA, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOPA, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOPA, EnumAcaoRecurso.Visualizar);\r\n this.permissoes.imprimir = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOPA, EnumAcaoRecurso.Imprimir);\r\n \r\n }\r\n\r\n ngAfterViewInit() {\r\n this.configFiltro();\r\n this.obterOrigens();\r\n this.obterStatus();\r\n this.obterTiposAuditoria();\r\n this.obterSubtiposAuditoria();\r\n this.obterUnidadesGestoras();\r\n this.obterCoordenadores();\r\n this.buscar();\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor\r\n }\r\n\r\n private obterOrigens() {\r\n\r\n this.opaService\r\n .obterOrigens()\r\n .then((res) => {\r\n this.origens = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n private obterStatus() {\r\n\r\n this.opaService\r\n .obterStatus()\r\n .then((res) => {\r\n this.statusOpa = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n private obterTiposAuditoria() {\r\n\r\n this.tipoAuditoriaService\r\n .obterAtivos()\r\n .then((res) => {\r\n this.tiposAuditoria = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n private obterSubtiposAuditoria() {\r\n\r\n this.subtipoAuditoriaService\r\n .obterAtivos()\r\n .then((res) => {\r\n this.subtiposAuditoria = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n private obterUnidadesGestoras() {\r\n\r\n this.unidadeGestoraService\r\n .obterAtivos()\r\n .then((res) => {\r\n this.unidadesGestoras = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public obterCoordenadores(){\r\n this.coordenacaoService\r\n .obterCoordenadoresAtivos()\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.coordenadores = res.dados;\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.opaService\r\n .obter(this.filtro)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor ;\r\n this.totalItens = res.dados.totalItens\r\n\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n buscarComFiltro() {\r\n this.filtro.dataInicial = this.filtroModel.dataInicial;\r\n this.filtro.dataFinal = this.filtroModel.dataFinal;\r\n this.filtro.ativo = this.situacaoSelecionada > 1 ? this.situacaoSelecionada === 2 : null;\r\n this.filtro.auditor = this.filtroModel.auditor;\r\n this.filtro.coordenador = this.filtroModel.coordenador;\r\n this.filtro.numeroObjeto = this.filtroModel.numeroObjeto;\r\n this.filtro.origem = this.filtroModel.origem;\r\n this.filtro.status = this.filtroModel.status;\r\n this.filtro.subtipoAuditoria = this.filtroModel.subtipoAuditoria;\r\n this.filtro.tipoAuditoria = this.filtroModel.tipoAuditoria;\r\n this.filtro.unidadeGestora = this.filtroModel.unidadeGestora;\r\n this.configFiltro();\r\n this.buscar();\r\n }\r\n\r\n configFiltro()\r\n {\r\n this.filtro.pagina = this.paginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.paginator.pageSize;\r\n this.filtro.colunaOrder = this.sort.active;\r\n this.filtro.direcao = this.sort.direction;\r\n }\r\n\r\n pageChanged(e)\r\n {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n\r\n this.buscar();\r\n }\r\n\r\n public selecionar(item: any) { \r\n item.selecionado = !item.selecionado;\r\n if (item.selecionado) {\r\n this.selectedModel = item;\r\n } else {\r\n\r\n if (this.selectedModel === item) {\r\n this.selectedModel = null;\r\n }\r\n }\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/opa/novo']);\r\n }\r\n\r\n public editar(id: number){\r\n this.router.navigate([`/opa/${id}`]);\r\n }\r\n\r\n public novaVersao(id: number){\r\n this.router.navigate([`/opa/${id}/nova-versao`]);\r\n }\r\n\r\n public visualizar(id: number){\r\n this.router.navigate([`/opa/${id}/visualizar`]);\r\n }\r\n\r\n public reativar(id: number) {\r\n this.opaService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('OPA reativada com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = { titulo: 'Tem certeza que deseja inativar essa OPA?' };\r\n const modal = this.matDialog.open(\r\n ModalConfirmarInativacaoComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n this.opaService\r\n .inativar(id, data)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('OPA inativada com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n });\r\n }\r\n\r\n public imprimir(id: number){\r\n this.router.navigate([`/opa/${id}/relatorio`]);\r\n }\r\n\r\n public botaoImpressaoColetivaHidden(): boolean {\r\n return !this.permissoes.imprimir || this.modelsSelected().length <= 1;\r\n }\r\n\r\n public botaoGerarNovaVersaoHidden(): boolean {\r\n return this.modelsSelected().length > 1;\r\n }\r\n\r\n public modelsSelected(): Array{\r\n let retorno = this.dataSource.data.filter(x => x.selecionado === true);\r\n return retorno;\r\n }\r\n public relatorioConsolidado() {\r\n const ids = this.modelsSelected().map(opa => opa.id).toString();\r\n this.router.navigate([`/opa/${ids}/relatorio-consolidado`]);\r\n }\r\n \r\n }\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. OPA - Ordem de Planejamento de Auditoria
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n OPA - Ordem de Planejamento de Auditoria\r\n

\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{origem.descricao}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{tipo.nome}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n {{subtipo.nome}}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{unidade.sigla}}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{auditor.nomeAuditor}}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{auditor.nomeAuditor}}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n {{status.descricao}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{situacao.descricao}}\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Nº da OPA {{element?.numero}} UG a ser auditado {{element?.unidadeGestora?.sigla}} Origem {{element?.origem?.descricao}} \tData Início {{ (element?.dataInicioRealizacao ? element?.dataInicioRealizacao : element?.dataInicioPrevista) | date:'dd/MM/yyyy' }} Data Fim {{ (element?.dataFimRealizacao ? element?.dataFimRealizacao : element?.dataFimPrevista) | date:'dd/MM/yyyy' }} Coordenação {{element?.tipoAuditoria?.coordenacao?.sigla}} Status\r\n {{element?.situacao?.descricao}}\r\n {{element?.situacao?.descricao}}\r\n {{element?.situacao?.descricao}}\r\n Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Sem dados a exibir
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n

Alocar Equipe

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n Auditores da {{coordenacaoNome}} \r\n {{element.nomeAuditor}} \r\n \r\n \r\n
\r\n
Nenhum\r\n Auditor para o Tipo de Auditoria
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n Auditores de outras Coordenações \r\n {{element.nomeAuditor}}
\r\n
Nenhum Auditor de outras Coordenações
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { MatTableDataSource } from '@angular/material/table';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, OnInit, Inject, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort, MatSortable } from '@angular/material/sort';\r\nimport { DateHelper } from 'src/app/core/helpers/date.helper';\r\nimport { IOpaEquipeModel } from 'src/app/models/opa-equipe.model';\r\nimport { IAuditorCoordenacaoModel } from 'src/app/models/auditor-coordenacao.model';\r\nimport { ITipoAuditoriaModel } from 'src/app/models/tipo-auditoria.model';\r\nimport { IOpaEquipeAuditorModel } from 'src/app/models/opa-equipe-auditor.model';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-alocar-equipe-opa',\r\n templateUrl: './modal-alocar-equipe-opa.component.html',\r\n styleUrls: ['./modal-alocar-equipe-opa.component.scss'],\r\n})\r\nexport class ModalAlocarEquipeOpaComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild('tabela1') public tabela1: MatSort;\r\n @ViewChild('tabela2') public tabela2: MatSort;\r\n\r\n public model = {} as IOpaEquipeModel;\r\n public auditores = [] as IAuditorCoordenacaoModel[];\r\n public tipoAuditoria = {} as ITipoAuditoriaModel;\r\n public auditoresTipoAuditoria = [] as IAuditorCoordenacaoModel[];\r\n public coordenacaoNome: string;\r\n public auditoresTipoAuditoriaDataSource = new MatTableDataSource([]);\r\n public auditoresTipoAuditoriaSemDados = true;\r\n public submit = false;\r\n public novoAuditor: string;\r\n\r\n public auditoresOutrasCoordenacoesDataSource = new MatTableDataSource([]);\r\n public auditoresOutrasCoordenacoesSemDados = true;\r\n\r\n public auditoresConflito: IAuditorCoordenacaoModel[];\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n private dateHelper: DateHelper,\r\n @Inject(MAT_DIALOG_DATA) data\r\n ) {\r\n this.model = data.equipe;\r\n this.auditores = data.auditores;\r\n this.tipoAuditoria = data.tipoAuditoria;\r\n this.auditoresTipoAuditoria = data.auditoresTipoAuditoria;\r\n\r\n this.coordenacaoNome = this.tipoAuditoria?.coordenacao?.nome;\r\n\r\n // remover os auditores da coordenação do tipo da auditoria da listagem completa de auditores \r\n this.auditoresTipoAuditoria.forEach(auditorTipoAuditoria => {\r\n this.auditores = this.auditores.filter(auditor => {\r\n return auditor.auditorId !== auditorTipoAuditoria.auditorId;\r\n });\r\n });\r\n\r\n this.marcarComoSelecionado(this.auditoresTipoAuditoria, this.model.auditores);\r\n this.marcarComoSelecionado(this.auditores, this.model.auditores);\r\n \r\n this.auditoresTipoAuditoriaDataSource = new MatTableDataSource(this.auditoresTipoAuditoria);\r\n this.auditoresTipoAuditoriaSemDados = this.auditoresTipoAuditoriaDataSource.data.length === 0;\r\n this.auditoresTipoAuditoriaDataSource._updateChangeSubscription();\r\n\r\n \r\n this.auditoresOutrasCoordenacoesDataSource = new MatTableDataSource(this.auditores);\r\n this.auditoresOutrasCoordenacoesSemDados = this.auditoresOutrasCoordenacoesDataSource.data.length === 0;\r\n this.auditoresOutrasCoordenacoesDataSource._updateChangeSubscription();\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n this.tabela1.sort({ id: 'nome', start: 'asc' } as MatSortable);\r\n this.auditoresTipoAuditoriaDataSource.sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'nome':\r\n return item?.nomeAuditor;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n this.auditoresTipoAuditoriaDataSource.sort = this.tabela1;\r\n\r\n this.tabela2.sort({ id: 'nome', start: 'asc' } as MatSortable);\r\n this.auditoresOutrasCoordenacoesDataSource.sortingDataAccessor = (\r\n item,\r\n property\r\n ) => {\r\n switch (property) {\r\n case 'nome':\r\n return item?.nomeAuditor;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n this.auditoresOutrasCoordenacoesDataSource.sort = this.tabela2;\r\n }\r\n\r\n public async concluir() {\r\n this.submit = true;\r\n\r\n let auditoresSelecionados = this.auditoresTipoAuditoriaDataSource.data.filter(d => d.selecionado);\r\n auditoresSelecionados = auditoresSelecionados.concat(this.auditoresOutrasCoordenacoesDataSource.data.filter(d => d.selecionado));\r\n\r\n // verifica se os auditores anteriores continuam selecionados\r\n this.model.auditores = this.model.auditores.filter(auditor => {\r\n return auditoresSelecionados.filter(as => as.auditorId === auditor.auditorId).length > 0;\r\n });\r\n\r\n // remove os auditores que foram removidos da equipe\r\n this.model.auditores = this.model.auditores.filter(auditor => {\r\n return auditoresSelecionados.filter(a => a.auditorId === auditor.auditorId).length > 0;\r\n });\r\n\r\n if (auditoresSelecionados.length === 0) {\r\n this.exibirMensagemAlerta('Informe algum Auditor');\r\n return;\r\n }\r\n\r\n auditoresSelecionados.forEach(auditor => {\r\n // verifica se o auditor já estava na equipe\r\n if (this.model.auditores.filter(a => a.auditorId === auditor.auditorId).length === 0) {\r\n const novoAuditor = { auditorId: auditor.auditorId, nomeAuditor: auditor.nomeAuditor, opaEquipeId: this.model.opaId } as IOpaEquipeAuditorModel;\r\n this.model.auditores.push(novoAuditor);\r\n }\r\n });\r\n \r\n this.dialogRef.close(this.model);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n private marcarComoSelecionado(auditores: IAuditorCoordenacaoModel[], auditoresSelecionados: IOpaEquipeAuditorModel[]){\r\n auditores.forEach(auditor => {\r\n auditor.selecionado = auditoresSelecionados.filter(as => as.auditorId === auditor.auditorId).length > 0;\r\n });\r\n }\r\n\r\n private exibirMensagemAlerta(mensagem: string) {\r\n this.exibirMensagemAlerta(mensagem);\r\n }\r\n}\r\n","
\r\n
0 ? 'always' : 'avoid'\r\n \">\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n

Ordem de Planejamento de Auditoria nº {{ opa?.sequencial | number: '3.' }}/{{ opa?.ano }}

\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n Inicio:
{{ (opa?.dataInicioRealizacao ? opa?.dataInicioRealizacao :\r\n opa?.dataInicioPrevista) | date:'dd/MM/yyyy' }}\r\n
\r\n
\r\n Fim:
{{ (opa?.dataFimRealizacao ? opa?.dataFimRealizacao : opa?.dataFimPrevista) |\r\n date:'dd/MM/yyyy' }}\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n Periodo de Planejamento\r\n Data para apresentação do planejamentoTotal de dias úteis para planejamento
\r\n
\r\n {{ opa?.dataApresentacaoPlanejamento | date:'dd/MM/yyyy' }}\r\n {{opa?.tipoAuditoria.quantidadeDias }} dia(s)
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

Equipe de Planejamento

\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
NomeCargoMatrícula
{{auditor.nomeAuditor}}\r\n Coordenador Titular\r\n Coordenador Substituindo\r\n Coordenador Respondendo\r\n Auditor do Estado\r\n {{opa?.numeroFuncional}}
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Coordenador da Equipe

\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Coordenador Titular\r\n Coordenador Substituindo\r\n Coordenador Respondendo\r\n Auditor do Estado\r\n
\r\n
\r\n\r\n
\r\n
\r\n Coordenador da {{opa?.auditorCoordenacao?.coordenacao?.sigla}} - {{\r\n opa?.auditorCoordenacao?.coordenacao?.nome }}\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

Aprovações

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n {{item?.cargo}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{opa?.notaRodape}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IOpaModel } from 'src/app/models/opa.model';\r\nimport { AprovacaoService } from 'src/app/services/aprovacao.service';\r\nimport { OpaService } from 'src/app/services/opa.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\n\r\n@Component({\r\n selector: 'app-opa-relatorio',\r\n templateUrl: './opa-relatorio.component.html',\r\n styleUrls: ['./opa-relatorio.component.scss'],\r\n})\r\n\r\nexport class OpaRelatorioComponent extends BaseListComponent implements OnInit {\r\n opaId: number;\r\n homologado = false;\r\n opas: IOpaModel[] = [];\r\n idParam: number;\r\n espelho = false;\r\n consolidado = false;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private opaService: OpaService,\r\n private aprovacaoService: AprovacaoService,\r\n ) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n const id = this.route.snapshot.paramMap.get('id');\r\n const path = this.route.snapshot.url.pop().toString();\r\n\r\n if (id) {\r\n this.idParam = parseInt(id, 10);\r\n }\r\n \r\n if (path === 'relatorio-consolidado') {\r\n this.consolidado = true;\r\n }\r\n\r\n if (path === 'espelho-relatorio') {\r\n this.espelho = true;\r\n }\r\n\r\n await this.obterDados();\r\n }\r\n\r\n public async obterDados() {\r\n try {\r\n let res: IBaseModel;\r\n if(this.consolidado){\r\n const ids = this.route.snapshot.paramMap.get('id') || '';\r\n res = await this.opaService.imprimirOpaConsolidado(ids);\r\n }\r\n\r\n else if (this.espelho) {\r\n const avaliacao = await this.aprovacaoService.imprimir(this.idParam);\r\n res = {\r\n sucesso: avaliacao.sucesso,\r\n dados: JSON.parse(avaliacao.dados),\r\n mensagem: avaliacao.mensagem,\r\n resultadoValidacao: avaliacao.resultadoValidacao\r\n } as IBaseModel;\r\n }\r\n else {\r\n const avaliacao = await this.opaService.imprimir(this.idParam);\r\n res = {\r\n sucesso: avaliacao.sucesso,\r\n dados: Array.isArray(avaliacao.dados) ? avaliacao.dados : [avaliacao.dados], \r\n mensagem: avaliacao.mensagem,\r\n situacao: avaliacao.situacao\r\n } as IBaseModel;\r\n }\r\n this.opas = res.dados;\r\n this.homologado = this.opas.some(item => item.situacao?.codigo === 4 || item.situacao?.codigo === 5);\r\n } catch (err) {\r\n console.log({err})\r\n this.exibirMensagemErro(err?.mensagem?.descricao);\r\n this.router.navigate(['/opa']);\r\n }\r\n }\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate(['/opa']);\r\n }\r\n}\r\n","import { AfterViewInit, Component, Input, OnInit } from '@angular/core';\r\nimport { IAuditorCoordenacaoModel } from 'src/app/models/auditor-coordenacao.model';\r\nimport { ICoordenacaoModel } from 'src/app/models/coordenacao.model';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { IOsaFiltroModel } from 'src/app/models/osa-filtro-model';\r\nimport { IOsaModel } from 'src/app/models/osa-model';\r\nimport { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\nimport { ITipoAuditoriaModel } from 'src/app/models/tipo-auditoria.model';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { CoordenacaoService } from 'src/app/services/coordenacao.service';\r\nimport { OsaService } from 'src/app/services/osa.service';\r\nimport { SubtipoAuditoriaService } from 'src/app/services/subtipo-auditoria.service';\r\nimport { TipoAuditoriaService } from 'src/app/services/tipo-auditoria.service';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-filtro-component',\r\n templateUrl: './filtro-component.component.html',\r\n styleUrls: ['./filtro-component.component.scss']\r\n})\r\nexport class FiltroComponent extends BaseListComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() showButtonFilter: Boolean = true;\r\n\r\n public osaModel: IOsaModel = {} as IOsaModel;\r\n private filtro: IOsaFiltroModel = {} as IOsaFiltroModel;\r\n public filtroModel: IOsaFiltroModel = {} as IOsaFiltroModel;\r\n public situacaoSelecionada: number;\r\n public coordenadores = [] as IAuditorCoordenacaoModel[];\r\n public unidadesGestoras = [] as IUnidadeGestoraModel[];\r\n public coordenacoes = [] as ICoordenacaoModel[];\r\n public subtiposAuditoria = [] as ISubtipoAuditoriaModel[];\r\n public tiposAuditoria = [] as ITipoAuditoriaModel[];\r\n public situacoes = [{codigo: 1, descricao: 'Todos'}, {codigo: 2, descricao: 'Ativos'}, {codigo: 3, descricao: 'Inativos'}] as IEnumModel[];\r\n public status = [{codigo: 1, descricao: 'Em Elaboração'}, {codigo: 2, descricao: 'Em Aprovação'}, {codigo: 3, descricao: 'Em Homologacao'}, {codigo: 4, descricao: 'Homologado'}, {codigo: 5, descricao: 'Elaborar'}, {codigo: 6, descricao: 'Em Execução'}]\r\n public origem = [{codigo: 1, descricao: 'Planejada'}, {codigo: 2, descricao: 'Especial'}]\r\n\r\n constructor(\r\n public authService: AuthService,\r\n private osaService: OsaService,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n private coordenacaoService: CoordenacaoService,\r\n private subtipoAuditoriaService: SubtipoAuditoriaService,\r\n private tipoAuditoriaService: TipoAuditoriaService,\r\n ) {\r\n super()\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.obterCoordenadores();\r\n this.obterUnidadesGestoras();\r\n this.obterCoordenacoes();\r\n this.buscar();\r\n this.obterSubtiposAuditoria();\r\n this.obterTiposAuditoria();\r\n }\r\n\r\n public buscar() {\r\n this.osaService.obter()\r\n }\r\n\r\n public obterCoordenadores(){\r\n this.coordenacaoService\r\n .obterCoordenadoresAtivos()\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.coordenadores = res.dados;\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n private obterSubtiposAuditoria() {\r\n\r\n this.subtipoAuditoriaService\r\n .obterAtivos()\r\n .then((res) => {\r\n this.subtiposAuditoria = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n private obterTiposAuditoria() {\r\n\r\n this.tipoAuditoriaService\r\n .obterAtivos()\r\n .then((res) => {\r\n this.tiposAuditoria = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public obterCoordenacoes(){\r\n this.coordenacaoService\r\n .obter(\"\", undefined, false)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.coordenacoes = res.dados;\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n private obterUnidadesGestoras() {\r\n\r\n this.unidadeGestoraService\r\n .obterAtivos()\r\n .then((res) => {\r\n this.unidadesGestoras = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n buscarComFiltro() {\r\n this.filtro.numeroOsa = this.filtroModel.numeroOsa;\r\n this.filtro.numeroOpa = this.filtroModel.numeroOpa;\r\n this.filtro.objeto = this.filtroModel.objeto;\r\n this.filtro.dataInicioRealizacao = this.filtroModel.dataInicioRealizacao;\r\n this.filtro.dataFimRealizacao = this.filtroModel.dataFimRealizacao;\r\n this.filtro.dataInicioPrevisto = this.filtroModel.dataInicioPrevisto;\r\n this.filtro.dataFimPrevisto = this.filtroModel.dataFimPrevisto;\r\n this.filtro.origemAuditoria = this.filtroModel.origemAuditoria;\r\n this.filtro.subtipoAuditoriaId = this.filtroModel.subtipoAuditoriaId;\r\n this.filtro.unidadeGestoraId = this.filtroModel.unidadeGestoraId;\r\n this.filtro.coordenador = this.filtroModel.coordenador;\r\n this.filtro.tipoAuditoriaId = this.filtroModel.tipoAuditoriaId;\r\n this.filtro.status = this.filtroModel.status;\r\n this.filtro.ativo = this.situacaoSelecionada > 1 ? this.situacaoSelecionada === 2 : null;\r\n this.filtro.itensPorPagina = 50\r\n\r\n this.osaService.obter(this.filtro).then(() => {\r\n\r\n }).catch(error => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: 'Filtro não aplicado, ocorreu um erro!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n })\r\n })\r\n }\r\n\r\n}\r\n","

\r\n\t\r\n\t\t Filtrar\r\n\t\r\n

\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tSubtipo de Auditoria\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nome }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tUnidade Gestora a ser Auditada\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.sigla }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tTipo de Auditoria\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nome }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t Pesquisar\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","\r\n
\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n
\r\n\t\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n
\r\n\t\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n
\r\n\t\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t
\r\n\r\n\t
\r\n
\r\n \r\n \r\n
\r\n\t
\r\n\r\n \r\n\t
\r\n\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tNome\r\n\t\t\t\t\r\n\t\t\t\t\t{{ element?.subTipoAuditoria?.nome }}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t
\r\n\t\t\tNenhum registro encontrado.\r\n\t\t
\r\n\t\t\r\n\t\t\r\n\r\n\t
\r\n\r\n\r\n \r\n\t
\r\n\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\tAuditor\r\n\t\t\t\t\r\n\t\t\t\t\t{{ element?.nomeAuditor }}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n \r\n\t\t\t\t\tAlocar Equipe \r\n\t\t\t\t\r\n \r\n\t\t\t\t\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t
0\" class=\"table-no-data\" >\r\n\t\t\tNenhum registro encontrado.\r\n\t\t
\r\n\t\t\r\n\t\t\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n
\r\n
Campo obrigatório
\r\n
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n
\r\n","import { convertDate } from './../../../../shared/util/formatDate';\r\nimport { IAuditorModel, ISalvarAlocarEquipeModel } from './../../../../models/alocar-equipe-component';\r\nimport { IAlocarEquipeModel } from 'src/app/models/alocar-equipe-component';\r\nimport { AlocarEquipeComponent } from './../../../../shared/components/alocar-equipe/alocar-equipe.component';\r\nimport { AfterViewInit, Component, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogConfig,\r\n} from \"@angular/material/dialog\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { IOsaModel } from \"src/app/models/osa-model\";\r\nimport { OsaService } from \"src/app/services/osa.service\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { SharedService } from \"src/app/services/shared.service\";\r\nimport { CoordenacaoService } from \"src/app/services/coordenacao.service\";\r\nimport { IAuditorCoordenacaoModel } from \"src/app/models/auditor-coordenacao.model\";\r\nimport { SubtipoAuditoriaService } from \"src/app/services/subtipo-auditoria.service\";\r\nimport { defaultDataAcessor } from \"src/app/core/helpers/mat-sort-data-accessor\";\r\nimport { ISubtipoAuditoriaModel } from \"src/app/models/subtipo-auditoria.model\";\r\nimport { IPaaCoordenacaoAuditorModel } from \"src/app/models/paa-coordenacao-auditor.model\";\r\nimport { IPlanejamentoSubtipoAuditoriaModel } from 'src/app/models/planejamento-subtipo-auditoria.model';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n\tselector: \"app-aba-informacoes-basicas\",\r\n\ttemplateUrl: \"./aba-informacoes-basicas.component.html\",\r\n\tstyleUrls: [\"./aba-informacoes-basicas.component.scss\"],\r\n})\r\nexport class AbaInformacoesBasicasComponent extends BaseFormComponent\r\n\timplements OnInit, AfterViewInit {\r\n\tclickEventSubscription: Subscription;\r\n\tpublic subTipoModel: ISubtipoAuditoriaModel[] = [] as ISubtipoAuditoriaModel[];\r\n\tpublic paaEquipeModel: IPaaCoordenacaoAuditorModel[] = [] as IPaaCoordenacaoAuditorModel[];\r\n\tpublic displayedColumns: string[] = [\"auditor\", \"acoes\"];\r\n\tpublic displayedColumnsSubtipo: string[] = ['nome'];\r\n\tpublic subtipoDataSource = new MatTableDataSource([]);\r\n\tpublic equipeDataSource = new MatTableDataSource([]);\r\n\tpublic model: IOsaModel = {} as IOsaModel;\r\n\tpublic coordenadoresAuditoria = [] as IAuditorCoordenacaoModel[];\r\n\tpublic semDados = true;\r\n\tpublic id: number;\r\n\tpublic subtipoNoData = true;\r\n\tpublic semDadosSubTipo = true;\r\n\tpublic subTipoSelecionado: number;\r\n public submitted: boolean = false\r\n\r\n\tpublic alocarEquipeModel: IAlocarEquipeModel = {} as IAlocarEquipeModel;\r\n\r\n\t@Input() public visualizar;\r\n\r\n public form = new FormGroup({\r\n\tdataInicioRealizacao: new FormControl(\"\", Validators.required),\r\n\tdataFimRealizacao: new FormControl(\"\", Validators.required),\r\n dataInicioPeriodoAuditado: new FormControl(\"\", Validators.required),\r\n dataFimPeriodoAuditado: new FormControl(\"\", Validators.required),\r\n notaRodape: new FormControl(\"\"),\r\n auditor: new FormControl(\"\", Validators.required),\r\n\t});\r\n\r\n\r\n\tconstructor(\r\n\t\tpublic route: ActivatedRoute,\r\n\t\tpublic toastr: ToastrService,\r\n\t\tpublic router: Router,\r\n\t\tpublic localeService: BsLocaleService,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate osaService: OsaService,\r\n\t\tprivate sharedService: SharedService,\r\n\t\tprivate coordenacaoService: CoordenacaoService,\r\n\t\tprivate subtipoService: SubtipoAuditoriaService\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\r\n\t\tthis.clickEventSubscription = this.sharedService\r\n\t\t\t.getEvent()\r\n\t\t\t.subscribe(() => {\r\n\t\t\t\tthis.onSalvar();\r\n\t\t\t});\r\n\t}\r\n\r\n @ViewChild(\"TableOnePaginator\", { static: true })\r\n\ttableOnePaginator: MatPaginator;\r\n\t@ViewChild(\"tabela1\", { static: true }) tabela1: MatSort;\r\n\r\n\t@ViewChild(\"TableTwoPaginator\", { static: true })\r\n\ttableTwoPaginator: MatPaginator;\r\n\t@ViewChild(\"tabela2\", { static: true }) tabela2: MatSort;\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.buscar();\r\n\t}\r\n\r\n\r\n ngAfterViewInit(): void {\r\n this.subtipoDataSource.paginator = this.tableOnePaginator;\r\n\t\tthis.subtipoDataSource.sort = this.tabela1;\r\n this.subtipoDataSource.sortingDataAccessor = this.sortingDataAccessor\r\n this.equipeDataSource.paginator = this.tableTwoPaginator;\r\n this.equipeDataSource.sort = this.tabela2\r\n this.equipeDataSource.sortingDataAccessor = this.sortingDataAccessor\r\n }\r\n\r\n public buscar() {\r\n\r\n\t\tthis.osaService\r\n\t\t\t.obterPorId(this.id)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.model = res.dados;\r\n if(res.dados.dataInicioRealizacao) this.form.get('dataInicioRealizacao').setValue(convertDate(new Date(res.dados.dataInicioRealizacao)));\r\n if(res.dados.dataFimRealizacao) this.form.get('dataFimRealizacao').setValue(convertDate(new Date(res.dados.dataFimRealizacao)));\r\n if(res.dados.dataInicioPeriodoAuditado) this.form.get('dataInicioPeriodoAuditado').setValue(convertDate(new Date(res.dados.dataInicioPeriodoAuditado)));\r\n if(res.dados.dataFimPeriodoAuditado) this.form.get('dataFimPeriodoAuditado').setValue(convertDate(new Date(res.dados.dataFimPeriodoAuditado)));\r\n this.form.get('notaRodape').setValue(res.dados.notaRodape)\r\n this.form.get('auditor').setValue(res.dados.nomeAuditor)\r\n\r\n this.alocarEquipeModel.unidadeGestora = this.model.planejamento?.opa?.unidadeGestora;\r\n this.alocarEquipeModel.tipoAuditoria = this.model?.planejamento?.opa?.tipoAuditoria;\r\n\r\n this.subtipoDataSource.data = this.model.planejamento.planejamentoSubTipoAuditoria;\r\n this.subtipoDataSource.paginator = this.tableOnePaginator;\r\n this.subtipoDataSource.sort = this.tabela1;\r\n this.subtipoDataSource.sortingDataAccessor = this.sortingSubtiposDataAccessor;\r\n\t\t\t\t}\r\n\t\t\t}).then(() => this.obterAlocarEquipe())\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err?.mensagem?.descricao);\r\n\t\t\t\tthis.router.navigate([\"/osa\"]);\r\n\t\t\t})\r\n\t}\r\n\r\n public onSalvar() {\r\n this.submitted = true\r\n if(this.form.invalid){\r\n this.exibirMensagemAlerta('Preencha todos os campos');\r\n return\r\n }\r\n const dados = {\r\n dataInicioRealizacao: new Date(this.form.get('dataInicioRealizacao').value),\r\n dataFimRealizacao: new Date(this.form.get('dataFimRealizacao').value),\r\n dataInicioPeriodoAuditado: new Date(this.form.get('dataInicioPeriodoAuditado').value),\r\n dataFimPeriodoAuditado: new Date(this.form.get('dataFimPeriodoAuditado').value),\r\n auditorId: this.model?.auditorId,\r\n notaRodape: this.form.get('notaRodape').value\r\n } as any\r\n\t\tthis.osaService\r\n\t\t\t.salvarOsa(this.id, dados)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n this.buscar()\r\n\t\t\t\t\tthis.exibirMensagemSucesso(res.mensagem.descricao);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t})\r\n\t}\r\n\r\n\r\n\tpublic obterCoordenadoresAuditoria(): Promise {\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tthis.coordenacaoService\r\n\t\t\t\t.obterCoordenadoresAtivos()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\tresolve(res.dados);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tpublic teste = [] as any[];\r\n public obterAlocarEquipe() {\r\n this.osaService.obterAlocarEquipeOsaId(this.id)\r\n .then(res => {\r\n\r\n\t\t\t\t/*this.obterCoordenadoresAuditoria().then(a => {\r\n\t\t\t\t this.teste = (this.model.planejamento.planejamentoEquipe as unknown as any[]).map(b => {\r\n\t\t\t\t\t var result = a.find(c => c.auditorId === b.auditorId);\r\n\t\t\t\t\t if(Object.keys(result ?? {})?.length > 0) {\r\n\t\t\t\t\t\t return result;\r\n\t\t\t\t\t }\r\n\t\t\t\t })\r\n\t\t\t\t}).then(() => {*/\r\n\r\n\t\t\t\t//\tres.dados = [...res.dados, ...this.teste]\r\n\t\t\t\t\tlet auditoresSelecionados = res.dados.map(a => {\r\n\t\t\t\t\t\treturn { auditorId: a.auditorId, nomeAuditor: a.nomeAuditor, id: a.id } as IAuditorModel\r\n\t\t\t\t\t})\r\n\t\t\t\t\tconst [dataInicio, dataFim] = [res?.dados[0]?.dataInicio, res?.dados[0]?.dataFim];\r\n\r\n\t\t\t\t\t// Remover items duplicados\r\n\t\t\t\t\tauditoresSelecionados = auditoresSelecionados.filter(function (a) {\r\n\t\t\t\t\t\treturn !this[JSON.stringify(a)] && (this[JSON.stringify(a)] = true);\r\n\t\t\t\t\t}, Object.create(null))\r\n\r\n\t\t\t\t\tthis.equipeDataSource.data = auditoresSelecionados;\r\n\t\t\t\t\tthis.alocarEquipeModel.auditoresSelecionados = auditoresSelecionados;\r\n\t\t\t\t\tif (dataInicio?.toString()) this.alocarEquipeModel.dataInicio = new Date(dataInicio.toString());\r\n\t\t\t\t\tif (dataFim?.toString()) this.alocarEquipeModel.dataFim = new Date(dataFim.toString());\r\n\t\t\t//\t})\r\n\r\n })\r\n }\r\n\r\n\tpublic async exibirModalAlocarEquipe() {\r\n\t\ttry {\r\n\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = \"modal-component\";\r\n\t\t\tdialogConfig.width = \"650px\";\r\n\t\t\tdialogConfig.maxHeight = \"80vh\";\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = true;\r\n\t\t\tdialogConfig.data = this.alocarEquipeModel ;\r\n\t\t\tconst modal = this.matDialog.open(\r\n\t\t\t\tAlocarEquipeComponent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t);\r\n\t\t\tmodal.afterClosed().subscribe((sucesso: IAlocarEquipeModel ) => {\r\n\t\t\t\tif (sucesso) {\r\n\t\t\t\t\tthis.equipeDataSource.data = sucesso?.auditoresSelecionados;\r\n\t\t\t\t\tthis.alocarEquipeModel.auditoresSelecionados = sucesso?.auditoresSelecionados;\r\n\t\t\t\t\tthis.semDados = this.equipeDataSource.filteredData.length === 0;\r\n this.equipeDataSource.paginator = this.tableTwoPaginator;\r\n this.equipeDataSource.sort = this.tabela2;\r\n this.equipeDataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n\r\n const dados: ISalvarAlocarEquipeModel = {\r\n auditorId: this.alocarEquipeModel.auditoresSelecionados.map(item => item.auditorId),\r\n dataInicio: new Date(sucesso?.dataInicio),\r\n dataFim: new Date(sucesso?.dataFim)\r\n } as ISalvarAlocarEquipeModel;\r\n\r\n this.osaService.salvarAlocarEquipeOsaId(this.id, dados).then(res => {\r\n if (res.sucesso) {\r\n this.buscar();\r\n this.exibirMensagemSucesso(res.mensagem.descricao)\r\n } else {\r\n this.exibirMensagemSucesso(res.mensagem.descricao)\r\n }\r\n })\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n\r\n\t\t}\r\n\t}\r\n\r\n public desvincularAuditor(element: number) {\r\n this.osaService.desvincularAuditorId(this.id, element).then(res => {\r\n res.sucesso ? this.exibirMensagemSucesso(res.mensagem.descricao) : this.exibirMensagemErro(res.mensagem.descricao);\r\n }).then(() => this.buscar())\r\n }\r\n\r\n\r\n\r\n\t//Adiciona Subtipos de Auditoria\r\n\r\n\tpublic async exibirModalSubtipo() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.subtipoService.obterAtivos();\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tconst modal = this.exibirModal(\r\n\t\t\t\t\t\"Selecionar Subtipo de Auditoria\",\r\n\t\t\t\t\tres.dados\r\n\t\t\t\t);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.subTipoModel.push(data)\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n public sortingDataAccessor = (item, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"auditor\":\r\n\t\t\t\treturn item?.nomeAuditor;\r\n\t\t\tcase \"nome\":\r\n\t\t\t\treturn item?.nome;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n public sortingSubtiposDataAccessor = (item, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"nome\":\r\n\t\t\t\treturn item?.subTipoAuditoria?.nome;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n\tpublic atualizarListaSubtipos() {\r\n\r\n\t\tthis.subtipoDataSource.sortingDataAccessor = defaultDataAcessor;\r\n\t\tthis.subtipoDataSource._updateChangeSubscription();\r\n\t\tthis.semDadosSubTipo = this.subtipoDataSource.filteredData.length === 0;\r\n\t}\r\n\r\n\t// Aloca Equipe\r\n\r\n\tpublic async exibirModalCoordenadorAuditoria() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.coordenacaoService.obterCoordenadoresAtivos();\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tvar newCordenador = res.dados.map(item => {\r\n\t\t\t\t\treturn {id: item.auditorId, nome: item.nomeAuditor}\r\n\t\t\t\t})\r\n\t\t\t\tconst modal = this.exibirModal(\r\n\t\t\t\t\t\"Selecionar Coordenador da Auditoria\",\r\n\t\t\t\t\tnewCordenador,\r\n false\r\n\t\t\t\t);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.model.auditorCoordenacao = data;\r\n this.model.auditorId = data?.id\r\n\t\t\t\t\t\tthis.form.controls['auditor'].setValue(data?.nome)\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\r\n}\r\n","import { IOsaModel } from 'src/app/models/osa-model';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Component, Input, OnChanges, OnInit, Output, SimpleChanges, EventEmitter } from '@angular/core';\r\nimport { OsaService } from 'src/app/services/osa.service';\r\n\r\n@Component({\r\n selector: 'app-osa-abas',\r\n templateUrl: './osa-abas.component.html',\r\n styleUrls: ['./osa-abas.component.scss']\r\n})\r\nexport class OsaAbasComponent implements OnInit, OnChanges {\r\n public aba = 0;\r\n @Input() public visualizar: boolean;\r\n @Input() public numeroOpa: any;\r\n @Input() public planejamentoId: number = null;\r\n @Output() public abaEmitter: EventEmitter = new EventEmitter();\r\n @Input() public id: number;\r\n @Input() obterDados: () => void;\r\n public model: IOsaModel = {} as IOsaModel\r\n\r\n constructor(\r\n public router: Router,\r\n private osaService: OsaService,\r\n private activatedRoute: ActivatedRoute,\r\n ) {}\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n }\r\n\r\n ngOnInit(): void {\r\n const numeroAba = this.activatedRoute.snapshot.queryParamMap.get('aba');\r\n if (numeroAba) { this.mudarAba(Number(numeroAba)); }\r\n\r\n this.router.url.includes(\"aba=6\") ? this.mudarAba(6) : null;\r\n this.obter()\r\n }\r\n\r\n public obter(){\r\n this.osaService.obterPorId(this.id).then((res) => {\r\n this.model = res.dados\r\n })\r\n this.obterDados()\r\n }\r\n\r\n public mudarAba(ind: number) {\r\n this.aba = ind;\r\n this.abaEmitter.next(this.aba);\r\n }\r\n}\r\n","\r\n\r\n
\r\n\t
    \r\n\t\t
  • \r\n\t\t\tInformações Básicas\r\n\t\t\t\r\n\t\t
  • \r\n
  • \r\n\t\t\tMatriz de Planejamento\r\n\t\t\t\r\n\t\t
  • \r\n
  • \r\n\t\t\tCustos e Recursos\r\n\t\t\t\r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\tCronograma\r\n\t\t\t\r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\tAmostra\r\n\t\t\t\r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\tSolicitação Técnica\r\n\t\t\t\r\n\t\t
  • \r\n\r\n\t\t
  • \r\n\t\t\tRelatoria\r\n\t\t\t\r\n\t\t
  • \r\n\t\t
  • \r\n\t\t\tLinha do Tempo\r\n\t\t\t\r\n\t\t
  • \r\n\t
\r\n
\r\n
\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\r\n\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n \r\n\t
\r\n\t\t
\r\n \r\n\t\t
\r\n\t
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n","import { IOsaModel } from './../../../models/osa-model';\r\nimport { Component, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { OsaService } from 'src/app/services/osa.service';\r\nimport { PlanejamentoService } from 'src/app/services/planejamento.service';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-osa-form',\r\n templateUrl: './osa-form.component.html',\r\n styleUrls: ['./osa-form.component.scss']\r\n})\r\nexport class OsaFormComponent extends BaseFormComponent implements OnInit {\r\n\r\n public elaborar = true;\r\n public numeroOpa: string;\r\n public osa: any;\r\n public planejamentoId: number = null;\r\n public model: IOsaModel = {} as IOsaModel;\r\n public versao: boolean;\r\n public isFilha: boolean = false;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private planejamentoService: PlanejamentoService,\r\n public matDialog: MatDialog,\r\n private osaService: OsaService,\r\n private sharedService: SharedService\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n if (this.elaborar) {\r\n this.titulo = 'Elaborar OSA';\r\n } \r\n if (this.router.url.includes(\"nova-versao\")) {\r\n this.versao = true\r\n }\r\n this.obterPlanejamentoId()\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public mudarAba(e: number) { this.aba = e };\r\n\r\n public obterPlanejamentoId() {\r\n this.osaService.obterPorId(this.id).then(res => {\r\n if (res?.dados) {\r\n this.model = res.dados;\r\n\r\n\r\n if (this.visualizar) { \r\n this.titulo = 'Visualizar OSA' + (this.model.numero ? ' - ' + this.model.numero : '');\r\n }\r\n else {\r\n this.titulo = 'Editar OSA' + (this.model.numero ? ' - ' + this.model.numero : '');\r\n }\r\n \r\n\r\n this.isFilha = this.model?.numero.length > 8;\r\n this.planejamentoId = res.dados.planejamentoId;\r\n this.visualizar = res.dados.status.codigo == 4;\r\n this.planejamentoService.obterPorId(this.planejamentoId);\r\n }\r\n })\r\n }\r\n\r\n public onSalvarOsa() {\r\n this.sharedService.sendSalvarEvent();\r\n this.router.navigate(['/osa']);\r\n }\r\n\r\n public enviarParaAprovacao() {\r\n this.osaService.enviarAprovacao(this.id).then(res => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/osa']);\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch(err => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public onBack() {\r\n window.history.back()\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n OSA - Ordem de Serviço de Auditoria\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { IAuditorModel } from './../../../models/alocar-equipe-component';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IOsaModelImprimir } from 'src/app/models/osa-imprimir';\r\nimport { OsaService } from 'src/app/services/osa.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\nimport { ILinhaDoTempoAvaliacaoModel } from 'src/app/models/linha-tempo-avaliacao.model';\r\n\r\n@Component({\r\n selector: 'app-osa-imprimir',\r\n templateUrl: './osa-imprimir.component.html',\r\n styleUrls: ['./osa-imprimir.component.scss']\r\n})\r\nexport class OsaImprimirComponent extends BaseFormComponent implements OnInit {\r\n\r\n public model!: IOsaModelImprimir;\r\n\r\n constructor(route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n matDialog: MatDialog,\r\n private osaService: OsaService) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscar();\r\n }\r\n\r\n buscar() {\r\n\r\n this.osaService.getImprimir(this.id).then(res => {\r\n if (!res.sucesso) {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n this.model = res.dados;\r\n })\r\n }\r\n\r\n public print() {\r\n window.print();\r\n }\r\n\r\n public cancelar() {\r\n window.history.back()\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Ordem de Serviço de Auditoria nº {{ model?.numero }} /\r\n {{ model?.ano }}\r\n

\r\n
\r\n
\r\n
\r\n Origem:\r\n

{{ model?.origem.nome }}

\r\n
\r\n
\r\n Tipo:\r\n

{{ model?.tiposAuditorias?.nome }}

\r\n
\r\n
\r\n Subtipo:\r\n

\r\n Nome: {{ item?.nome }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n UG a ser auditada:\r\n

{{ model?.unidadeGestora.nome }}

\r\n
\r\n
\r\n
\r\n
\r\n Responsável da UG:\r\n

{{ model?.unidadeGestora?.responsavel }}

\r\n
\r\n
\r\n
\r\n
\r\n Objeto:\r\n

\r\n {{ model?.objeto }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n Periodo a ser auditado\r\n
\r\n \r\n
\r\n \r\n Inicio:\r\n

\r\n {{ model?.dataInicioPeriodoAuditado | date: \"dd/MM/yyyy\" }}\r\n

\r\n
\r\n
\r\n Fim:\r\n

{{ model?.dataFimPeriodoAuditado | date: \"dd/MM/yyyy\" }}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n Prazo da execução\r\n
\r\n
\r\n \r\n Inicio:\r\n

\r\n {{ model?.prazoExecucaoInicio | date: \"dd/MM/yyyy\" }}\r\n

\r\n
\r\n
\r\n Fim:\r\n

\r\n {{ model?.prazoExecucaoFim | date: \"dd/MM/yyyy\" }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Prazo manifestação do Auditado:\r\n
\r\n \r\n

\r\n {{ model?.prazoManifestacaoAuditado | date: \"dd/MM/yyyy\" }}\r\n

\r\n \r\n
\r\n
\r\n Prazo do relatório:\r\n
\r\n \r\n

\r\n {{ model?.prazoEntregaRelatorio | date: \"dd/MM/yyyy\" }}\r\n

\r\n
\r\n \r\n
\r\n
\r\n

Nenhum Auditor Encontrado

\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Nome: {{item?.nomeAuditor}}

\r\n
\r\n
\r\n \r\n

Cargo: {{item?.cargo}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Nota de rodapé:\r\n

\r\n {{ model?.notaRodape }}\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n Elaboração:\r\n
\r\n \r\n

{{model?.nomeCoordenador}}

\r\n
\r\n
\r\n \r\n
\r\n

Nenhuma aprovação

\r\n
\r\n \r\n
0\">\r\n
\r\n
\r\n Aprovações:\r\n
    \r\n
  1. \r\n \r\n
    \r\n

    \r\n {{ item?.nome }}({{ item?.papel }}) aprovou.\r\n

    \r\n \r\n

    \r\n {{ item?.nome }}({{ item?.papel }}) reprovou.\r\n

    \r\n \r\n

    \r\n {{ item?.nome}}({{ item?.papel }}) enviou para aprovação.\r\n

    \r\n \r\n

    \r\n {{ item?.nome }}({{ item?.papel }}) homologou.\r\n

    \r\n
    \r\n
  2. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { IOsaFiltroModel } from 'src/app/models/osa-filtro-model';\r\nimport { IOsaModel } from 'src/app/models/osa-model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { OsaService } from 'src/app/services/osa.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-osa-list',\r\n templateUrl: './osa-list.component.html',\r\n styleUrls: ['./osa-list.component.scss']\r\n})\r\nexport class OsaListComponent implements OnInit, AfterViewInit {\r\n public dataSource = new MatTableDataSource()\r\n public selectedModel: any;\r\n public semDados = false;\r\n public filtro: IOsaFiltroModel = {} as IOsaFiltroModel;\r\n public pageEvent: any;\r\n public totalItens: number;\r\n public numeroOsa: number;\r\n public displayedColumn: string[] = ['id', 'numeroOsa', 'numeroOpa', 'ano', 'ug', 'origemAuditoria', 'coordenacao', 'dataInicio', 'dataFim', 'status', 'situacao'];\r\n\r\n public permissoes: IPermissaoModel;\r\n\r\n @ViewChild(MatPaginator) paginator: MatPaginator\r\n @ViewChild('tabela1') public tabela1: MatSort;\r\n\r\n\r\n constructor(\r\n private osaService: OsaService,\r\n public route: ActivatedRoute,\r\n public toastr: ToastrService,\r\n public router: Router,\r\n public localeService: BsLocaleService,\r\n public matDialog: MatDialog,\r\n public authService: AuthService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOSA, EnumAcaoRecurso.Consultar);\r\n this.permissoes.elaborar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOSA, EnumAcaoRecurso.Elaborar);\r\n this.permissoes.imprimir = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOSA, EnumAcaoRecurso.Imprimir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOSA, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.enviarParaAprovacao = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOSA, EnumAcaoRecurso.EnviarParaAprovacao);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOSA, EnumAcaoRecurso.Visualizar);\r\n this.permissoes.gerarNovaVersao = this.authService.possuiPermissao(EnumRecursoPerfil.ManterOSA, EnumAcaoRecurso.GerarNovaVersao);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.configurarFiltro()\r\n this.obter();\r\n }\r\n\r\n sortData(sort) {\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/osa/${id}/visualizar`]);\r\n }\r\n\r\n public elaborar(id: number) {\r\n this.router.navigate([`/osa/${id}/elaborar`]);\r\n }\r\n\r\n public inativar(id: number): void {\r\n Swal.fire({\r\n text: 'Informe uma justificativa para inativar.',\r\n input: 'text',\r\n inputAttributes: {\r\n autocapitalize: 'off'\r\n },\r\n showCancelButton: true,\r\n confirmButtonText: 'Inativar',\r\n cancelButtonText: 'Cancelar',\r\n showLoaderOnConfirm: true,\r\n preConfirm: (justificativa) => {\r\n if (!justificativa) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: 'A justificativa não pode ser vazia!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return\r\n }\r\n this.osaService.inativar(id, justificativa).then(res => {\r\n if (!res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.obter()\r\n }).catch(error => {\r\n Swal.showValidationMessage(\r\n `Ocorreu um erro ao inativar`\r\n )\r\n })\r\n },\r\n allowOutsideClick: () => !Swal.isLoading()\r\n }).then((result) => {\r\n\r\n })\r\n }\r\n\r\n public novaVersao(id: number) {\r\n this.osaService.gerarNovaVersao(id).then((res) => {\r\n if (res.sucesso) {\r\n this.router.navigate([`/osa/${res?.dados?.id}/elaborar`]);\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }).catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }).finally(() => {\r\n this.obter()\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n Swal.fire({\r\n title: \"Reativar Registro\",\r\n text: \"Tem certeza que deseja reativar esse registro?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then((res) => {\r\n if (res.value) {\r\n this.osaService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n });\r\n this.obter()\r\n } else {\r\n {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n });\r\n }\r\n }\r\n })\r\n .catch((err) => {\r\n {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n });\r\n }\r\n })\r\n }\r\n })\r\n\r\n }\r\n\r\n public filtrarPorNumero() {\r\n this.selectedModel = null;\r\n var filtro: IOsaFiltroModel = { numeroOsa: this.numeroOsa } as IOsaFiltroModel;\r\n this.osaService.obter(filtro);\r\n }\r\n \r\n public obter(): void {\r\n this.selectedModel = null\r\n this.osaService.currentOsa.subscribe(res => {\r\n this.dataSource = new MatTableDataSource(res.resultado);\r\n\r\n this.dataSource._updateChangeSubscription();\r\n this.totalItens = res.totalItens\r\n\r\n this.dataSource.sortingDataAccessor = (item: IOsaModel, property) => {\r\n switch (property) {\r\n case 'ano':\r\n return item?.ano;\r\n case 'numeroOsa':\r\n return item?.numero;\r\n case 'numeroOpa':\r\n return item?.planejamento?.opa?.numero;\r\n case 'origemAuditoria':\r\n return item?.planejamento?.origem?.descricao;\r\n case 'ug':\r\n return item?.planejamento?.opa?.unidadeGestora?.sigla;\r\n case 'coordenacao':\r\n return item?.planejamento?.opa?.auditorCoordenacao?.coordenacao?.sigla;\r\n case 'dataInicio':\r\n return item?.planejamento?.dataInicio;\r\n case 'dataFim':\r\n return item?.planejamento?.dataFim;\r\n case 'status':\r\n return item?.status?.nome;\r\n case 'situacao':\r\n return item?.ativo;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n\r\n this.dataSource.sort = this.tabela1;\r\n\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n });\r\n }\r\n\r\n private configurarFiltro() {\r\n this.filtro.pagina = this.paginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.paginator.pageSize;\r\n }\r\n\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.obter()\r\n }\r\n\r\n\r\n public selecionar(item: any): void {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n\r\n public imprimir(id: number) {\r\n this.router.navigateByUrl(`osa/${id}/imprimir`)\r\n }\r\n\r\n}\r\n","
\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t\r\n\t
\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\r\n\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\tNúmero Osa\r\n\t\t\t\r\n\t\t\t\t{{ element?.numero }}\r\n\t\t\t\r\n\t\t\t\tNúmero Opa\r\n\t\t\t\r\n\t\t\t\t{{ element?.planejamento?.opa?.numero }}\r\n\t\t\tAno\r\n\t\t\t\t{{ element?.ano }}\r\n\t\t\tUG\r\n\t\t\t\t{{ element?.unidadeGestora?.sigla || element?.planejamento?.opa?.unidadeGestora?.sigla }}\r\n\t\t\t\r\n\t\t\t\tOrigem Auditoria\r\n\t\t\t\r\n\t\t\t\t{{ element?.planejamento?.opa?.origem?.descricao }}\r\n\t\t\t\r\n\t\t\t\tCoordenação\r\n\t\t\t\r\n\t\t\t\t{{\r\n\t\t\t\telement?.planejamento?.opa?.auditorCoordenacao?.coordenacao\r\n\t\t\t\t?.sigla\r\n\t\t\t\t}}\r\n\t\t\t\r\n\t\t\t\tData Início\r\n\t\t\t\r\n\t\t\t\t

{{ element?.planejamento?.opa?.dataInicioPrevista | date:\r\n\t\t\t\t\t\"dd/MM/yyyy\"}}

\r\n\t\t\t\t

{{ element?.dataInicioRealizacao | date: \"dd/MM/yyyy\"}}

\r\n\t\t\t
\r\n\t\t\t\tData Fim\r\n\t\t\t\r\n\r\n\t\t\t\t

{{ element?.planejamento?.opa?.dataFimPrevista | date:\r\n\t\t\t\t\t\"dd/MM/yyyy\"}}

\r\n\t\t\t\t

{{ element?.dataFimRealizacao | date: \"dd/MM/yyyy\"}}

\r\n\t\t\t
\r\n\t\t\t\tStatus\r\n\t\t\t\r\n\t\t\t\tHomologado\r\n\t\t\t\tEm\r\n\t\t\t\t\tAprovação\r\n\t\t\t\tEm\r\n\t\t\t\t\tElaboração\r\n\t\t\t\t\r\n\t\t\t\t\tElaborar\r\n\t\t\t\tEm Execução\r\n\t\t\tSituação\r\n\t\t\t\tAtivo\r\n\t\t\t\tInativo\r\n\t\t\t
\r\n\r\n\t
Nenhum registro encontrado
\r\n\r\n\t\r\n\t\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-osa',\r\n templateUrl: './osa.component.html',\r\n styleUrls: ['./osa.component.scss']\r\n})\r\nexport class OsaComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. OSA - Ordem de Serviço de Auditoria
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n OSA - Ordem de Serviço de Auditoria\r\n

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
","import { MatSort, MatSortable } from '@angular/material/sort';\r\nimport { AfterViewInit, Component, Output, OnInit, ViewChild, EventEmitter } from \"@angular/core\";\r\nimport { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { MatDialog,\tMatDialogConfig } from \"@angular/material/dialog\";\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { DateHelper } from 'src/app/core/helpers/date.helper';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport Swal from 'sweetalert2';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { Location } from '@angular/common';\r\n\r\n//COMPONENTS\r\nimport { ModalAlocarEquipeComponent } from '../modal-alocar-equipe/modal-alocar-equipe.component';\r\nimport { ModalGraficoDistribuicaoComponent } from '../modal-grafico-distribuicao/modal-grafico-distribuicao.component';\r\n\r\n//MODELS\r\nimport { IPaaEquipeModel } from 'src/app/models/paa-equipe.model';\r\nimport { IPaaInformacoesBasicasModel } from 'src/app/models/paa-informacoes-basicas.model';\r\n\r\n//SERVICES\r\nimport { PaaService } from 'src/app/services/paa.service';\r\n\r\n\r\n@Component({\r\n\tselector: \"app-paa-aba-alocacao\",\r\n\ttemplateUrl: \"./paa-aba-alocacao.component.html\",\r\n\tstyleUrls: [\"./paa-aba-alocacao.component.scss\"],\r\n})\r\nexport class PaaAbaAlocacaoComponent extends BaseFormComponent implements OnInit{\r\n\r\n public paaInformacoesBasicas: IPaaInformacoesBasicasModel = {} as IPaaInformacoesBasicasModel;\r\n public equipeAlocacaoDataSource = new MatTableDataSource([]);\r\n public equipeAlocacaoSemDados = true;\r\n @ViewChild('tabela4') public tabela4: MatSort;\r\n\r\n constructor(route: ActivatedRoute,\r\n\t\ttoastr: ToastrService,\r\n\t\trouter: Router,\r\n\t\tlocaleService: BsLocaleService,\r\n\t\tprivate _location: Location,\r\n public matDialog: MatDialog,\r\n private paaService: PaaService\r\n ){\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n async ngOnInit() {\r\n await this.buscarInformacoesBasicas();\r\n this.tabela4?.sort({ id: 'nome', start: 'asc' } as MatSortable);\r\n this.buscar();\r\n\r\n //TODO: VERIFICAR PQ A VARIÁVEL VISUALIZAR ESTÁ SENDO RESETADA\r\n\t\t\tthis.visualizar = this.route.routeConfig.path?.includes(\"visualizar\");\r\n }\r\n\r\n public async buscar(): Promise {\r\n \r\n var paaId = this.route?.snapshot?.params?.id;\r\n return this.paaService\r\n .obterAlocacoesEquipe(this.id ?? paaId)\r\n .then((resEquipes) => {\r\n var dados = resEquipes.dados.map((item) => {\r\n item.paaDistribuicao.unidadeGestora.sigla =\r\n item.paaDistribuicao.unidadeGestora.sigla.toUpperCase();\r\n return item;\r\n });\r\n \r\n this.equipeAlocacaoDataSource = new MatTableDataSource(\r\n dados\r\n );\r\n this.equipeAlocacaoDataSource._updateChangeSubscription();\r\n \r\n this.equipeAlocacaoDataSource.sortingDataAccessor = (\r\n item,\r\n property\r\n ) => {\r\n switch (property) {\r\n case 'nome':\r\n return item?.paaDistribuicao?.unidadeGestora?.sigla;\r\n case 'tipoAuditoria':\r\n return item?.paaDistribuicao?.tipoAuditoria?.nome;\r\n case 'tipoEnfase':\r\n return item?.paaDistribuicao?.tipoEnfase?.nome;\r\n case 'equipeAlocada':\r\n return item?.paaEquipeAuditor[0]?.nomeAuditor;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n \r\n this.equipeAlocacaoDataSource.sort = this.tabela4;\r\n \r\n this.equipeAlocacaoSemDados =\r\n this.equipeAlocacaoDataSource.filteredData.length === 0;\r\n });\r\n }\r\n\r\n public async alocarEquipe(equipeAlocacao: IPaaEquipeModel) {\r\n try {\r\n const equipe = (\r\n await this.paaService.obterEquipe(equipeAlocacao.paaDistribuicaoId)\r\n ).dados;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.maxHeight = '80vh';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n equipe,\r\n ano: this.paaInformacoesBasicas.ano,\r\n };\r\n const modal = this.matDialog.open(\r\n ModalAlocarEquipeComponent,\r\n dialogConfig\r\n );\r\n \r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.buscar();\r\n }\r\n });\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public async buscarInformacoesBasicas(){\r\n\r\n\t\tawait this.paaService.buscarInformacoesBasicas(this.id)\r\n\t\t .then((res)=> {\r\n\t\t\tif(res.sucesso)\r\n\t\t\t this.paaInformacoesBasicas = res.dados;\r\n\t\t })\r\n\t }\r\n\r\n public lowerCase(nome: string) {\r\n return nome.toLowerCase().replace(/(?:^|\\s)\\S/g, (X) => X.toUpperCase());\r\n }\r\n\r\nmostrarBotaoAlocarEquipe(): boolean{\r\n return !this.visualizar;\r\n}\r\n\r\npublic visualizarGrafico() {\r\n\r\n this.paaService\r\n .obterGrafico(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n // dialogConfig.width = '650px';\r\n dialogConfig.maxHeight = '100%';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = res.dados;\r\n const modal = this.matDialog.open(\r\n ModalGraficoDistribuicaoComponent,\r\n dialogConfig\r\n );\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) =>\r\n this.exibirMensagemErro(err.mensagem.descricao)\r\n )\r\n}\r\n}","
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n Unidade(s) Gestora(s)\r\n \r\n \r\n {{\r\n element?.paaDistribuicao\r\n ?.unidadeGestora\r\n ?.sigla\r\n }}\r\n \r\n \r\n\r\n \r\n \r\n Tipo de Auditoria\r\n \r\n \r\n {{\r\n element?.paaDistribuicao\r\n ?.tipoAuditoria\r\n ?.nome\r\n }}\r\n \r\n \r\n\r\n \r\n \r\n Tipo de Ênfase\r\n \r\n \r\n {{\r\n element?.paaDistribuicao\r\n ?.tipoEnfase\r\n ?.nome\r\n }}\r\n \r\n \r\n\r\n \r\n \r\n Data Início\r\n \r\n \r\n {{\r\n element?.dataInicio\r\n | date: \"dd/MM/yyyy\"\r\n }}\r\n \r\n \r\n\r\n \r\n \r\n Data Fim\r\n \r\n \r\n {{\r\n element?.dataFim\r\n | date: \"dd/MM/yyyy\"\r\n }}\r\n \r\n \r\n\r\n \r\n \r\n Equipe Alocada\r\n \r\n \r\n \r\n {{\r\n lowerCase(\r\n item?.nomeAuditor\r\n )\r\n }},\r\n

\r\n \r\n \r\n\r\n \r\n \r\n \r\n Ação\r\n \r\n \r\n \r\n \r\n \r\n Alocar Equipe\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Nenhuma Unidade Gestora cadastrada\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n Visualizar Gráfico\r\n \r\n\r\n\r\n
","import { Component, Inject, OnInit } from '@angular/core';\r\n\r\nimport { MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';\r\n\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport Inputmask from 'inputmask';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IAgentePublicoModel } from 'src/app/models/agente-publico.model';\r\nimport { IPaaAbaCapacidadeModalCapacidade, IPaaAbaCapacidadeModalCapacidadeDispensa, IPaaAbaCapacidadeModalCapacidadeDisponibilidade, IPaaAbaCapacidadeModel } from 'src/app/models/paa-aba-capacidade.model';\r\n\r\n@Component({\r\n selector: 'app-modal-capacidade-paa',\r\n templateUrl: './modal-capacidade-paa.component.html',\r\n styleUrls: ['./modal-capacidade-paa.component.scss']\r\n})\r\nexport class ModalCapacidadePaaComponent implements OnInit {\r\n public model: IPaaAbaCapacidadeModalCapacidade;\r\n \r\n public dispensaDataSource = new MatTableDataSource([]);\r\n public auditorDataSource = new MatTableDataSource([]);\r\n public disponibilidadeDataSource = new MatTableDataSource([]);\r\n\r\n public dispensaSemDados = true;\r\n public disponibilidadeSemDados = true;\r\n public colunasOriginais = ['nomeAuditor'];\r\n public colunasAdicionar = [];\r\n public columnsDisponibilidades = [];\r\n\r\n public tabelaAuditores = [] as IAgentePublicoModel[];\r\n public tabelaDispensas = [] as IPaaAbaCapacidadeModalCapacidadeDispensa[]\r\n public tabelaDisponibilidades = [] as IPaaAbaCapacidadeModalCapacidadeDisponibilidade[];\r\n\r\n constructor(\r\n public toastr: ToastrService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.model = data.dados;\r\n \r\n this.dispensaDataSource = new MatTableDataSource(this.model.dispensas);\r\n this.dispensaSemDados = this.dispensaDataSource.data.length === 0;\r\n\r\n this.disponibilidadeDataSource = new MatTableDataSource(this.model.disponibilidades);\r\n this.disponibilidadeSemDados = this.disponibilidadeDataSource.data.length == 0;\r\n\r\n this.tabelaDisponibilidades = this.model.disponibilidades;\r\n\r\n if(this.tabelaDisponibilidades[0]){\r\n \r\n this.tabelaDisponibilidades[0].tiposTrabalho.forEach((disponibilidade) => {\r\n const template = disponibilidade as any;\r\n const nomeColuna = template.item1;\r\n if(!this.colunasAdicionar.some((c) => c === nomeColuna)){\r\n this.colunasAdicionar.push(nomeColuna);\r\n }\r\n })\r\n\r\n }\r\n this.columnsDisponibilidades = [];\r\n this.columnsDisponibilidades = this.colunasOriginais.concat(this.colunasAdicionar); \r\n \r\n }\r\n\r\n\r\n public obterValorColunaNovo(element: IPaaAbaCapacidadeModalCapacidadeDisponibilidade, coluna: string): string{\r\n \r\n if(!element || !coluna)\r\n return '';\r\n\r\n var retorno = \"\";\r\n\r\n element.tiposTrabalho.forEach((tipoTrabalho) => {\r\n const templateTipoTrabalho = tipoTrabalho as any;\r\n if(templateTipoTrabalho.item1 == coluna){\r\n retorno = templateTipoTrabalho.item2.toFixed(2).toString();\r\n retorno += \"%\";\r\n return;\r\n }\r\n \r\n })\r\n return retorno;\r\n }\r\n\r\n ngOnInit(): void {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n \r\n public fechar(){\r\n return this.matDialog.closeAll()\r\n }\r\n}\r\n\r\n","
\r\n\t\r\n\t\t
\r\n\t\t\t

Capacidade de Trabalho

\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tAuditor\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nomeAuditor }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tDescrição\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.descricaoDispensa }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tData Início\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.dataInicioFormatted }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tData fim\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.dataFimFormatted }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tQuantidade de Dias\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.qtdDias }}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tNenhuma dispensa cadastrada\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tAuditor\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nomeAuditor }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{{ coluna }}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\tobterValorColunaNovo(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\telement,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcoluna\r\n\t\t\t\t\t\t\t\t\t\t\t\t) \r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t Fechar\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { MatDialog,\tMatDialogConfig } from \"@angular/material/dialog\";\r\nimport { Location } from '@angular/common';\r\n\r\n\r\n//COMPONENTS\r\nimport { ModalCapacidadePaaComponent } from \"./modal-capacidade/modal-capacidade-paa.component\";\r\nimport { ModalDescricaoDiasUteisComponent } from \"../modal-descricao-paac/modal-descricao-paac.component\";\r\n\r\n//MODELS\r\nimport { IPaaInformacoesBasicasModel } from \"src/app/models/paa-informacoes-basicas.model\";\r\nimport { IPaaAbaCapacidadeModel } from \"src/app/models/paa-aba-capacidade.model\";\r\nimport { IPaaAbaCapacidadeCoordenacao } from \"src/app/models/paa-aba-capacidade.model\";\r\n\r\n//SERVICES\r\nimport { PaaAbaCapacidadeService } from \"src/app/services/paa/paa-aba-capacidade.service\";\r\nimport { CoordenacaoService } from \"src/app/services/coordenacao.service\";\r\nimport { TipoDispensaService } from \"src/app/services/tipo-dispensa.service\";\r\nimport { PaaService } from \"src/app/services/paa.service\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\n\r\n\r\n\r\n@Component({\r\n\tselector: \"app-paa-aba-capacidade\",\r\n\ttemplateUrl: \"./paa-aba-capacidade.component.html\",\r\n\tstyleUrls: [\"./paa-aba-capacidade.component.scss\"],\r\n})\r\nexport class PaaAbaCapacidadeComponent extends BaseFormComponent implements OnInit{\r\n public model = {} as IPaaAbaCapacidadeModel;\r\n\r\n\tpublic mostrarCapacidadeTotal: number;\r\n\tpublic mostrarCapacidadeTotalPea: number;\r\n\tpublic paaInformacoesBasicas: IPaaInformacoesBasicasModel = {} as IPaaInformacoesBasicasModel;\r\n\tpublic capacidadeDataSource = new MatTableDataSource([]);\r\n\tpublic capacidadeSemDados = true;\r\n\t@ViewChild('tabela4') public tabela4: MatSort;\r\n\tpublic paaHomologado = true;\r\n\t\r\n\tconstructor(route: ActivatedRoute,\r\n\t\t\t\ttoastr: ToastrService,\r\n\t\t\t\trouter: Router,\r\n\t\t\t\tlocaleService: BsLocaleService,\r\n\t\t\t\tprivate _location: Location,\r\n\t\t\t\tprivate paaAbaCapacidadeService: PaaAbaCapacidadeService,\r\n\t\t\t\tprivate coordenacaoService: CoordenacaoService,\r\n\t\t\t\tprivate tipoDispensaService: TipoDispensaService,\r\n\t\t\t\tpublic matDialog: MatDialog,\r\n\t\t\t\tprivate paaService: PaaService\r\n\t){super(route, toastr, router, localeService, matDialog);}\r\n\r\n\tpublic columnsCapacidade = [\r\n\t\t'siglaCoordenacao',\r\n\t\t'capacidadePaa', \r\n\t\t'capacidadePea', \r\n\t\t'nomesAuditores', \r\n\t\t'actions',\r\n\t ];\r\n\r\n\t async ngOnInit() {\r\n\t\tawait this.buscarInformacoesBasicas();\r\n\t\tawait this.buscar();\r\n\t\t\r\n\t\t//TODO: VERIFICAR PQ A VARIÁVEL VISUALIZAR ESTÁ SENDO RESETADA\r\n\t\tthis.visualizar = this.route.routeConfig.path?.includes(\"visualizar\");\r\n\t }\r\n\r\n\t async buscar(){\r\n\t\t\tawait this.paaAbaCapacidadeService.obter(this.id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif(res.sucesso){\r\n\t\t\t\t\t\t\tthis.model = res.dados;\r\n\t\t\t\t\t\t\tthis.mostrarCapacidadeTotal = this.model.capacidadeTotalPaa;\r\n\t\t\t\t\t\t\tthis.mostrarCapacidadeTotalPea = this.model.capacidadeTotalPea;\r\n\t\t\t\t\t\t\tthis.capacidadeDataSource = new MatTableDataSource(res.dados.coordenacoes);\r\n\t\t\t\t\t\t\tthis.capacidadeSemDados = this.capacidadeDataSource.data.length ==0;\r\n\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t\r\n\t }\r\n\r\n\t //METHODS\r\n\t public async visualizarCoordenacao(capacidade: IPaaAbaCapacidadeCoordenacao) {\r\n\t\t\tlet dados =(await this.paaAbaCapacidadeService.obterDetalheCoordenacao(this.id, capacidade.idCoordenacao, capacidade.ano)).dados;\t\t\r\n\t\t\t\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = 'modal-paa-component';\r\n\t\t\tdialogConfig.width = '1080px';\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = true;\r\n\t\t\tdialogConfig.data = {\r\n\t\t\t\tdados\r\n\t\t\t};\r\n\t\t\tconst modal = this.matDialog.open(ModalCapacidadePaaComponent, dialogConfig);\r\n\t }\r\n\t\r\n\t\r\n\t public agrupadorCapacidade(index: number, item: any): boolean {\r\n\t\treturn item.grupo;\r\n\t }\r\n\t\r\n\t public subTotalCapacidade(index: number, item: any): boolean {\r\n\t\treturn item.subTotal;\r\n\t }\r\n\r\n\t public async buscarInformacoesBasicas(){\r\n\r\n\t\tawait this.paaService.buscarInformacoesBasicas(this.id)\r\n\t\t .then((res)=> {\r\n\t\t\tif(res.sucesso)\r\n\t\t\t this.paaInformacoesBasicas = res.dados;\r\n\t\t })\r\n\t }\r\n\r\n\t public async descricaoPAAC(element: IPaaAbaCapacidadeCoordenacao) {\r\n\t\t// Obter detalhes da capacidade por coordenação, você já tem essa lógica implementada\r\n\r\n\t\t// Dados que você deseja passar para o modal\r\n\t\tconst dadosModal = {\r\n\t\t\tcapacidade: {\r\n\t\t\t\tdiasDisponiveis: element.extras.diasDisponiveis,\r\n\t\t\t\tqntDiasPorAuditor: element.extras.qntDiasPorAuditor,\r\n\t\t\t\tnumAuditoriaPorEquipe: element.extras.numAuditoriaPorEquipe,\r\n\t\t\t\tnumAuditoriaPorEquipeArred: element.extras.numAuditoriaPorEquipeArred,\r\n\t\t\t\tnumEquipeDisponiveis: element.extras.numEquipeDisponiveis,\r\n\t\t\t\tcapacidadeTotalPorCoord: element.extras.capacidadeTotalPorCoord\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\t// Configuração do modal\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = 'modal-descricao-paac-component';\r\n\t\tdialogConfig.width = '600px';\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = dadosModal;\r\n\t\r\n\t\t// Abrir o modal\r\n\t\tconst modal = this.matDialog.open(ModalDescricaoDiasUteisComponent, dialogConfig);\r\n\t}\r\n}","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Coordenação\r\n \r\n \r\n {{\r\n element?.siglaCoordenacao\r\n }}\r\n \r\n \r\n Capacidade Total\r\n \r\n \r\n\r\n \r\n \r\n Capacidade Total PEAC\r\n \r\n \r\n {{\r\n element.capacidadePea\r\n }}\r\n \r\n \r\n {{\r\n mostrarCapacidadeTotalPea\r\n }}\r\n \r\n \r\n\r\n \r\n \r\n Capacidade Total PAAC\r\n \r\n \r\n
\r\n \r\n {{ element.capacidadePaa }}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{ mostrarCapacidadeTotal }}\r\n \r\n \r\n\r\n \r\n \r\n Auditores\r\n \r\n \r\n {{\r\n element.nomesAuditores\r\n }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Sem capacidade de trabalho\r\n \r\n
\r\n
\r\n
\r\n
","import { MatSort, MatSortable } from \"@angular/material/sort\";\r\nimport {\r\n\tAfterViewInit,\r\n\tComponent,\r\n\tOutput,\r\n\tOnInit,\r\n\tViewChild,\r\n\tEventEmitter,\r\n} from \"@angular/core\";\r\nimport { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { DateHelper } from \"src/app/core/helpers/date.helper\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport Swal from \"sweetalert2\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { defaultDataAcessor } from \"src/app/core/helpers/mat-sort-data-accessor\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n//COMPONENTS\r\nimport { ModalSelecionarUGComponent } from \"../modal-selecionar-ug/modal-selecionar-ug.component\";\r\nimport { ModalSelecionarCoordenacoesComponent } from \"../../pea-form/modal-selecionar-coordenacoes/modal-selecionar-coordenacoes.component\";\r\n\r\n//MODELS\r\nimport { IPaaDadosBasicosModel } from \"src/app/models/paa-dados-basicos.model\";\r\nimport { IPaaUnidadeGestoraModel } from \"src/app/models/paa-unidade-gestora.model\";\r\nimport { IPaaCoordenacaoModel } from \"src/app/models/paa-coordenacao.model\";\r\nimport { IUnidadeGestoraModel } from \"src/app/models/unidade-gestora.model\";\r\nimport { IPaaDistribuicaoModel } from \"src/app/models/paa-distribuicao.model\";\r\nimport { ICoordenacaoModel } from \"src/app/models/coordenacao.model\";\r\nimport { IBaseModel } from \"src/app/models/base.model\";\r\n\r\n//SERVICES\r\nimport { PaaAbaDadosBasicosService } from \"src/app/services/paa/paa-aba-dados-basicos.service\";\r\nimport { UnidadeGestoraService } from \"src/app/services/unidade-gestora.service\";\r\nimport { CoordenacaoService } from \"src/app/services/coordenacao.service\";\r\nimport { IndicadorService } from \"src/app/services/indicador.service\";\r\nimport { PeaService } from \"src/app/services/pea.service\";\r\nimport { PeriodoService } from \"src/app/services/periodo.service\";\r\n\r\n@Component({\r\n\tselector: \"app-paa-aba-dados-basicos\",\r\n\ttemplateUrl: \"./paa-aba-dados-basicos.component.html\",\r\n\tstyleUrls: [\"./paa-aba-dados-basicos.component.scss\"],\r\n})\r\nexport class PaaAbaDadosBasicosComponent\r\n\textends BaseFormComponent\r\n\timplements OnInit\r\n{\r\n\t@Output() public abaEmitter: EventEmitter =\r\n\t\tnew EventEmitter();\r\n\r\n\tpublic model = {} as IPaaDadosBasicosModel;\r\n\r\n\tpublic msgDataInicio = \"Campo obrigatório\";\r\n\tpublic msgDataFim = \"Campo obrigatório\";\r\n\r\n\t//BOOL\r\n\tpublic permiteEdicao = false;\r\n\tpublic emAprovacao = false;\r\n\tpublic coordenacaoSemDados = true;\r\n\tpublic salvarDadosPendente = false;\r\n\tpublic ugSemDados = true;\r\n\tpublic paaHomologado = false;\r\n\tpublic esconderCamposPaaEspecial = true;\r\n\r\n\t//DATA SOURCE\r\n\tpublic coordenacoesDataSource =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic ugDataSource= new MatTableDataSource([]);\r\n\tpublic ugPlanejadaDataSource = new MatTableDataSource([]);\r\n\t\r\n\r\n\t@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\t@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n\tpublic form1 = new FormGroup({\r\n\t\tnome: new FormControl(\"\"),\r\n\t\tdataInicio: new FormControl(\"\"),\r\n\t\tdataFim: new FormControl(\"\"),\r\n\t\tpeaId: new FormControl(\"\"),\r\n\t\torigem: new FormControl(\"\", Validators.required),\r\n\t\tsubcapitulo: new FormControl(\"\"),\r\n\t\torigemAuditoria: new FormControl({ value: \"\", disabled: true }),\r\n\t});\r\n\r\n\tconstructor(\r\n\t\troute: ActivatedRoute,\r\n\t\ttoastr: ToastrService,\r\n\t\trouter: Router,\r\n\t\tlocaleService: BsLocaleService,\r\n\t\tprivate _location: Location,\r\n\t\tpublic paaDadosBasicosService: PaaAbaDadosBasicosService,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate dateHelper: DateHelper,\r\n\t\tprivate unidadeGestoraService: UnidadeGestoraService,\r\n\t\tprivate coordenacaoService: CoordenacaoService,\r\n\t\tprivate indicadorService: IndicadorService,\r\n\t\tprivate peaService: PeaService,\r\n\t\tprivate periodoService: PeriodoService\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\t}\r\n\r\n\tasync ngOnInit(): Promise {\r\n\t\tif (this.novoRegistro) await this.gerarNova();\r\n\t\telse {\r\n\t\t\tawait this.buscar();\r\n\t\t}\r\n\r\n\t\t//TODO: VERIFICAR PQ A VARIÝVEL VISUALIZAR ESTÝ SENDO RESETADA\r\n\t\tthis.visualizar = this.route.routeConfig.path?.includes(\"visualizar\");\r\n\r\n\t\tthis.atribuirRequireds();\r\n\t\tthis.desabilitaDataInicioFim();\r\n\t}\r\n\r\n\tatribuirRequireds() {\r\n\t\tif (this.model.origem.codigo == 2) {\r\n\t\t\tthis.form1.controls[\"nome\"].setValidators([Validators.required]);\r\n\t\t\tthis.form1.controls[\"dataInicio\"].setValidators([\r\n\t\t\t\tValidators.required,\r\n\t\t\t]);\r\n\t\t\tthis.form1.controls[\"dataFim\"].setValidators([Validators.required]);\r\n\t\t\tthis.permiteEdicao = true;\r\n\t\t\tthis.esconderCamposPaaEspecial = false;\r\n\t\t} else {\r\n\t\t\tthis.form1.controls[\"nome\"].clearValidators();\r\n\t\t\tthis.form1.controls[\"dataInicio\"].clearValidators();\r\n\t\t\tthis.form1.controls[\"dataFim\"].clearValidators();\r\n\t\t\tthis.esconderCamposPaaEspecial = true;\r\n\t\t}\r\n\r\n\t\tthis.form1.controls[\"nome\"].updateValueAndValidity();\r\n\t\tthis.form1.controls[\"dataInicio\"].updateValueAndValidity();\r\n\t\tthis.form1.controls[\"dataFim\"].updateValueAndValidity();\r\n\t}\r\n\r\n\tasync gerarNova() {\r\n\t\tawait this.paaDadosBasicosService\r\n\t\t\t.gerarNova()\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.model.origem = res.dados.origem;\r\n\t\t\t\t\tthis.permiteEdicao = true;\r\n\t\t\t\t\tthis.esconderCamposPaaEspecial = false;\r\n\r\n\t\t\t\t\tthis.form1.patchValue({\r\n\t\t\t\t\t\torigem: res.dados.origem,\r\n\t\t\t\t\t\torigemAuditoria: this.model.origem.descricao,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t});\r\n\t}\r\n\r\n\tasync buscar() {\r\n\t\ttry {\r\n\t\t\tawait this.paaDadosBasicosService\r\n\t\t\t\t.obterDadosBasicos(this.id)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\tthis.model = res.dados;\r\n\t\t\t\t\t\tif (Number(this.model?.situacao) === 2) \r\n\t\t\t\t\t\t\tthis.emAprovacao = true;\r\n\t\t\t\t\t\tthis.form1.patchValue({\r\n\t\t\t\t\t\t\tnome: this.model.nome,\r\n\t\t\t\t\t\t\torigem: this.model.origem,\r\n\t\t\t\t\t\t\torigemAuditoria: this.model.origem.descricao,\r\n\t\t\t\t\t\t\tdataInicio: this.dateHelper.toStringPtBr(\r\n\t\t\t\t\t\t\t\tthis.model.dataInicio\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\tdataFim: this.dateHelper.toStringPtBr(\r\n\t\t\t\t\t\t\t\tthis.model.dataFim\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\tindicadorId: this.model.indicadorId,\r\n\t\t\t\t\t\t\tpeaId: this.model.peaId,\r\n\t\t\t\t\t\t\tpea: this.model.pea,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tthis.atualizarListaUgs(this.model.paaUnidadeGestora);\r\n\r\n\t\t\t\t\t\tthis.coordenacoesDataSource =\r\n\t\t\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\t\t\tthis.model.paaCoordenacao\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.coordenacoesDataSource._updateChangeSubscription();\r\n\t\t\t\t\t\tthis.coordenacaoSemDados =\r\n\t\t\t\t\t\t\tthis.coordenacoesDataSource.filteredData.length ===\r\n\t\t\t\t\t\t\t0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.submit = false;\r\n\t\t\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t\t\tthis.router.navigate([\"/paa\"]);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t} catch (err) {\r\n\t\t\tthis.submit = false;\r\n\t\t\tthis.exibirMensagemErro(err.mensagem?.descricao);\r\n\t\t\tthis.router.navigate([\"/paa\"]);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async exibirModalUg() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.unidadeGestoraService.obterAtivos();\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\t\tdialogConfig.id = \"modal-component\";\r\n\t\t\t\tdialogConfig.width = \"650px\";\r\n\t\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\t\tdialogConfig.disableClose = true;\r\n\t\t\t\tconst unidadesAdicionadas = [] as IUnidadeGestoraModel[];\r\n\r\n\t\t\t\tlet dados;\r\n\t\t\t\tif (this.model.paaUnidadeGestora !== undefined) {\r\n\t\t\t\t\tthis.model.paaUnidadeGestora.forEach((d) =>\r\n\t\t\t\t\t\tunidadesAdicionadas.push(d.unidadeGestora)\r\n\t\t\t\t\t);\r\n\t\t\t\t dados = res.dados.filter(\r\n\t\t\t\t\t\t(d) => !unidadesAdicionadas.some((x) => d.id === x.id)\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t dados = res.dados;\r\n\t\t\t\t\tthis.model.paaUnidadeGestora =\r\n\t\t\t\t\t\t[] as IPaaUnidadeGestoraModel[];\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tdialogConfig.data = {dados: dados, modoSelecaoMultiplo: true};\r\n\t\t\t\tconst modal = this.matDialog.open(\r\n\t\t\t\t\tModalSelecionarUGComponent,\r\n\t\t\t\t\tdialogConfig\r\n\t\t\t\t);\r\n\t\t\t\t\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\t\t\tif (Array.isArray(data)) {\r\n\t\t\t\t\t\t\tlet unidadeSelecionada =\r\n\t\t\t\t\t\t\t\t[] as IPaaUnidadeGestoraModel[];\r\n\t\t\t\t\t\t\tunidadeSelecionada = data.map(\r\n\t\t\t\t\t\t\t\t(d) =>\r\n\t\t\t\t\t\t\t\t\t({\r\n\t\t\t\t\t\t\t\t\t\tunidadeGestoraId: d.id,\r\n\t\t\t\t\t\t\t\t\t\tunidadeGestora: d,\r\n\t\t\t\t\t\t\t\t\t} as IPaaUnidadeGestoraModel)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tunidadeSelecionada.forEach((x) =>\r\n\t\t\t\t\t\t\t\tthis.model.paaUnidadeGestora.push(x)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tlet unidadeSelecionada =\r\n\t\t\t\t\t\t\t\t{} as IPaaUnidadeGestoraModel;\r\n\t\t\t\t\t\t\tunidadeSelecionada.unidadeGestora = data;\r\n\t\t\t\t\t\t\tunidadeSelecionada.unidadeGestoraId = data.id;\r\n\t\t\t\t\t\t\tthis.model.paaUnidadeGestora.push(\r\n\t\t\t\t\t\t\t\tunidadeSelecionada\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.atualizarListaUgs(this.model.paaUnidadeGestora);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic excluirCoordenacao(ind: number) {\r\n\t\tSwal.fire({\r\n\t\t\ttitle: \"Excluir Coordenação\",\r\n\t\t\ttext: \"Deseja realmente excluir a informação?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t}).then((resConfirm) => {\r\n\t\t\tif (resConfirm.isConfirmed) {\r\n\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\tthis.coordenacoesDataSource.data.splice(ind, 1);\r\n\t\t\t\tthis.coordenacoesDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.coordenacaoSemDados =\r\n\t\t\t\t\tthis.coordenacoesDataSource.filteredData.length === 0;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic async exibirModalCoordenacoes() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.coordenacaoService.obter(\"\", true);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\t\tdialogConfig.id = \"modal-component\";\r\n\t\t\t\tdialogConfig.width = \"650px\";\r\n\t\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\t\tdialogConfig.disableClose = true;\r\n\t\t\t\tconst coordenacoesAdicionadas = [] as ICoordenacaoModel[];\r\n\t\t\t\tif (this.model.paaCoordenacao !== undefined) {\r\n\t\t\t\t\tthis.model.paaCoordenacao.forEach((d) =>\r\n\t\t\t\t\t\tcoordenacoesAdicionadas.push(d.coordenacao)\r\n\t\t\t\t\t);\r\n\t\t\t\t\tdialogConfig.data = res.dados.filter(\r\n\t\t\t\t\t\t(d) =>\r\n\t\t\t\t\t\t\t!coordenacoesAdicionadas.some((x) => d.id === x.id)\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdialogConfig.data = res.dados;\r\n\t\t\t\t\tthis.model.paaCoordenacao = [] as IPaaCoordenacaoModel[];\r\n\t\t\t\t}\r\n\t\t\t\tconst modal = this.matDialog.open(\r\n\t\t\t\t\tModalSelecionarCoordenacoesComponent,\r\n\t\t\t\t\tdialogConfig\r\n\t\t\t\t);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\t\t\tif (Array.isArray(data)) {\r\n\t\t\t\t\t\t\tlet coordenacaoSelecionada =\r\n\t\t\t\t\t\t\t\t[] as IPaaCoordenacaoModel[];\r\n\t\t\t\t\t\t\tcoordenacaoSelecionada = data.map(\r\n\t\t\t\t\t\t\t\t(d) =>\r\n\t\t\t\t\t\t\t\t\t({\r\n\t\t\t\t\t\t\t\t\t\tcoordenacaoId: d.id,\r\n\t\t\t\t\t\t\t\t\t\tcoordenacao: d,\r\n\t\t\t\t\t\t\t\t\t} as IPaaCoordenacaoModel)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tcoordenacaoSelecionada.forEach((x) =>\r\n\t\t\t\t\t\t\t\tthis.model.paaCoordenacao.push(x)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.coordenacoesDataSource =\r\n\t\t\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\t\t\tthis.model.paaCoordenacao\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.coordenacoesDataSource._updateChangeSubscription();\r\n\t\t\t\t\t\tthis.coordenacaoSemDados =\r\n\t\t\t\t\t\t\tthis.coordenacoesDataSource.filteredData.length ===\r\n\t\t\t\t\t\t\t0;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic excluirUg(ind: number) {\r\n\t\tSwal.fire({\r\n\t\t\ttitle: \"Excluir Unidade Gestora\",\r\n\t\t\ttext: \"Deseja realmente excluir a informação?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t}).then((resConfirm) => {\r\n\t\t\tif (resConfirm.isConfirmed) {\r\n\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\tvar ug = this.ugDataSource.data.splice(ind, 1);\r\n\t\t\t\tvar indice = this.model.paaUnidadeGestora.indexOf(ug[0]);\r\n\t\t\t\tthis.model.paaUnidadeGestora.splice(indice, 1);\r\n\r\n\t\t\t\tthis.atualizarListaUgs(this.ugDataSource.data);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic async exibirModalIndicador() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.indicadorService.obter(\"\", true);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tres.dados.sort((a, b) => a[\"nome\"].localeCompare(b[\"nome\"]));\r\n\t\t\t\tconst modal = this.exibirModal(\r\n\t\t\t\t\t\"Selecionar Indicador\",\r\n\t\t\t\t\tres.dados\r\n\t\t\t\t);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\t\t\tthis.model.indicador = data;\r\n\t\t\t\t\t\tthis.model.indicadorId = data.id;\r\n\t\t\t\t\t\tthis.form1.controls[\"indicadorId\"].setValue(data.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async exibirModalPeaReferencia() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.peaService.obter(\"\", true, false, null);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tres.dados.resultado.sort((a, b) =>\r\n\t\t\t\t\ta[\"nome\"].localeCompare(b[\"nome\"])\r\n\t\t\t\t);\r\n\t\t\t\tconst modal = this.exibirModal(\r\n\t\t\t\t\t\"Selecionar Pea\",\r\n\t\t\t\t\tres.dados.resultado\r\n\t\t\t\t);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\t\t\tthis.model.pea = data;\r\n\t\t\t\t\t\tthis.model.peaId = data.id;\r\n\t\t\t\t\t\tthis.model.pea.nome = data.nome;\r\n\t\t\t\t\t\tthis.form1.controls[\"peaId\"].setValue(data.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async exibirModalPeriodo() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.periodoService.obter(\"\", true);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tres.dados.sort(\r\n\t\t\t\t\t(d2, d1) =>\r\n\t\t\t\t\t\tnew Date(d1.dataInicio).getTime() -\r\n\t\t\t\t\t\tnew Date(d2.dataInicio).getTime()\r\n\t\t\t\t);\r\n\t\t\t\tconst modal = this.exibirModal(\"Selecionar Periodo\", res.dados);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\t\t\tthis.model.periodo = data;\r\n\t\t\t\t\t\tthis.model.periodoId = data.id;\r\n\t\t\t\t\t\tthis.form1.controls[\"periodoId\"].setValue(data.id);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async salvarDados(salvarEFechar: boolean) {\r\n\t\tthis.submit = true;\r\n\t\tthis.abaEmitter.next(this.submit);\r\n\r\n\t\tif (this.form1.invalid) {\r\n\t\t\tthis.exibirMensagemErro(\"Formulário invalido!\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// if(!this.datasValidas()){\r\n\t\t// \tthis.exibirMensagemErro('Formulário invalido!');\r\n\t\t// \treturn;\r\n\t\t// }\r\n\r\n\t\tif (\r\n\t\t\tthis.ugDataSource.data.length === 0 ||\r\n\t\t\tthis.coordenacoesDataSource.data.length === 0\r\n\t\t) {\r\n\t\t\tthis.exibirMensagemErro(\r\n\t\t\t\t\"Informe alguma Unidade Gestora e alguma Coordenação\"\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.atualizarModel(this.form1.value);\r\n\r\n\t\ttry {\r\n\t\t\tlet res = await this.atualizarInserirAbaDadosBasicos();\r\n\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tif (\r\n\t\t\t\t\tres.resultadoValidacao &&\r\n\t\t\t\t\tres.resultadoValidacao.length > 0\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.exibirMensagemAlerta(\r\n\t\t\t\t\t\tthis.montarMensagensValidacao(res),\r\n\t\t\t\t\t\ttrue\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exibirMensagemSucesso(res.mensagem.descricao);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.salvarDadosPendente = false;\r\n\t\t\t\tif (\r\n\t\t\t\t\tres.dados?.pendencias?.pendencias &&\r\n\t\t\t\t\tres.dados?.pendencias?.pendencias.length > 0\r\n\t\t\t\t)\r\n\t\t\t\t\tthis.showPendencias(res?.dados?.pendencias?.pendencias);\r\n\t\t\t} else {\r\n\t\t\t\tlet validacao = this.montarMensagensValidacao(res);\r\n\t\t\t\tthis.exibirMensagemErro(validacao, true);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (salvarEFechar == true) this.router.navigate([\"/paa\"]);\r\n\t\t\telse {\r\n\t\t\t\tif (this.novoRegistro) {\r\n\t\t\t\t\tthis.router.navigate([`/paa/${res.dados.id}`]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tawait this.buscar();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err?.mensagem?.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async atualizarInserirAbaDadosBasicos() {\r\n\t\tObject.assign(this.model, this.form1.value);\r\n\t\tthis.model.paaUnidadeGestora = this.ugDataSource.data;\r\n\t\tthis.model.paaCoordenacao = this.coordenacoesDataSource.data;\r\n\r\n\t\tif (this.model.id > 0) {\r\n\t\t\treturn await this.paaDadosBasicosService.atualizarDadosBasicos(\r\n\t\t\t\tthis.model\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\treturn await this.paaDadosBasicosService.inserir(this.model);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate datasValidas(): boolean {\r\n\t\tlet retorno = true;\r\n\r\n\t\tlet valueDtInicio = this.form1.controls[\"dataInicio\"].value;\r\n\t\tlet valueDtFim = this.form1.controls[\"dataFim\"].value;\r\n\r\n\t\tif (!valueDtInicio) {\r\n\t\t\tthis.msgDataInicio = \"Campo obrigatório\";\r\n\t\t\tretorno = false;\r\n\t\t}\r\n\r\n\t\tif (!valueDtFim) {\r\n\t\t\tthis.msgDataFim = \"Campo obrigatório\";\r\n\t\t\tretorno = false;\r\n\t\t}\r\n\r\n\t\tif (retorno == false) return retorno;\r\n\r\n\t\tlet dtInicio = new Date(valueDtInicio);\r\n\t\tlet dtFim = new Date(valueDtFim);\r\n\r\n\t\tif (dtInicio.getFullYear() != dtFim.getFullYear()) {\r\n\t\t\tthis.msgDataInicio = \"Anos não podem ser diferentes.\";\r\n\t\t\tretorno = false;\r\n\t\t}\r\n\r\n\t\tif ((retorno = false)) return retorno;\r\n\r\n\t\tif (dtInicio.getDay() != 1 || dtInicio.getMonth() != 1) {\r\n\t\t\tthis.msgDataInicio = \"Data início diferente de 01/01.\";\r\n\t\t\tretorno = false;\r\n\t\t}\r\n\r\n\t\tif (dtFim.getDay() != 31 || dtInicio.getMonth() != 12) {\r\n\t\t\tthis.msgDataInicio = \"Data fim diferente de 31/12.\";\r\n\t\t\tretorno = false;\r\n\t\t}\r\n\r\n\t\treturn retorno;\r\n\t}\r\n\r\n\t//##### INTERNAL\r\n\tpublic atualizarListaUgs(paaUnidadeGestora: IPaaUnidadeGestoraModel[] ) {\t\r\n\t\t\tconst listaUgs = Array.isArray(paaUnidadeGestora)\r\n\t\t\t? paaUnidadeGestora.map((_) => ({\r\n\t\t\t\t..._,\r\n\t\t\t\tnome: `${_.unidadeGestora.sigla} - ${_.unidadeGestora.nome}`,\r\n\t\t\t}))\r\n\t\t\t: [];\r\n\t\t\tthis.ugDataSource.paginator = this.paginator;\r\n\t\t\tthis.ugDataSource.sort = this.sort;\r\n\t\t\tthis.ugDataSource.filterPredicate = (\r\n\t\t\t\tdata: { nome: string },\r\n\t\t\t\tfilterValue: string\r\n\t\t\t) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t(data.nome || \"\").trim().toLowerCase().indexOf(filterValue) !==\r\n\t\t\t\t\t-1\r\n\t\t\t\t);\r\n\t\t\t};\r\n\t\t\tlistaUgs.sort((a, b) => a[\"nome\"].localeCompare(b[\"nome\"]));\r\n\t\t\tthis.ugDataSource = new MatTableDataSource(\r\n\t\t\t\tlistaUgs\r\n\t\t\t);\r\n\t\t\tthis.ugDataSource.sortingDataAccessor = defaultDataAcessor;\r\n\t\t\tthis.ugDataSource._updateChangeSubscription();\r\n\t\t\tthis.ugSemDados = this.ugDataSource.filteredData.length === 0;\t\t\r\n\t}\r\n\t\r\n\r\n\tprivate atualizarModel(values: any) {\r\n\t\tObject.assign(this.model, values);\r\n\t}\r\n\r\n\tpublic cancelar() {\r\n\t\tthis.router.navigate([\"/paa\"]);\r\n\t}\r\n\r\n\tpublic desabilitaDataInicioFim() {\r\n\t\tconst urlAtual = this.router.url;\r\n\r\n\t\tif (!urlAtual.includes(\"novo\")) {\r\n\t\t\tthis.form1.controls[\"dataInicio\"].disable();\r\n\t\t\tthis.form1.controls[\"dataFim\"].disable();\r\n\t\t}\r\n\t}\r\n\r\n\t exibirBotoesPaacEspecial(): boolean{\r\n\t\treturn this.model\r\n\t\t\t\t&& this.model.origem\r\n\t\t\t\t&& this.model.origem.codigo\r\n\t\t\t\t&& this.model.origem.codigo == 2\r\n\t\t\t\t&& !this.visualizar && !this.paaHomologado;\r\n\t }\r\n\t \r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Unidade(s) Gestora(s)\r\n \r\n \r\n {{ element.nome }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Adicionar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Nenhuma Unidade Gestora\r\n selecionada\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Coordenação(ões)\r\n \r\n \r\n {{\r\n element.coordenacao\r\n .sigla\r\n }}\r\n -\r\n {{\r\n element.coordenacao\r\n .nome\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Adicionar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Nenhuma Coordenação selecionada\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n\r\n \r\n Fechar\r\n \r\n
\r\n
","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { MatDialog,\tMatDialogConfig } from \"@angular/material/dialog\";\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport Swal from 'sweetalert2';\r\nimport { Location } from '@angular/common';\r\nimport { formatDate } from '@angular/common';\r\n\r\n\r\n//COMPONENTS\r\nimport { ModalConfirmarReativacaoDistribuicaoComponent } from \"../modal-confirmar-reativacao-distribuicao/modal-confirmar-reativacao-distribuicao.component\";\r\nimport { ModalConfirmarInativacaoComponent } from \"src/app/shared/components/modal-confirmar-inativacao/modal-confirmar-inativacao.component\";\r\nimport { ModalSelecionarColunasComponent } from \"../modal-selecionar-colunas/modal-selecionar-colunas.component\";\r\nimport { ModalGraficoDistribuicaoComponent } from \"../modal-grafico-distribuicao/modal-grafico-distribuicao.component\";\r\nimport { ModalSelecionarUGComponent } from \"../modal-selecionar-ug/modal-selecionar-ug.component\";\r\nimport { ModalAlterarTipoAuditoriaComponent } from \"../modal-alterar-tipo-auditoria/modal-alterar-tipo-auditoria.component\";\r\nimport { ModalAlterarTipoEnfaseComponent } from \"../modal-alterar-tipo-enfase/modal-alterar-tipo-enfase.component\";\r\n\r\n//MODELS\r\nimport { IPaaAbaDistribuicaoModel } from \"src/app/models/paa-aba-distribuicao.model\";\r\nimport { IPaaDistribuicaoModel } from \"src/app/models/paa-distribuicao.model\";\r\nimport { IPaaInformacoesBasicasModel } from \"src/app/models/paa-informacoes-basicas.model\";\r\nimport { FiltroModel } from \"src/app/models/filtro.model\";\r\n\r\n\r\n//SERVICES\r\nimport { PaaService } from \"src/app/services/paa.service\";\r\nimport { PaaAbaDistribuicaoService } from \"src/app/services/paa/paa-aba-distribuicao.service\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { IPaaDistribuicaoColunasModel } from \"src/app/models/paa-distribuicao-colunas.model\";\r\nimport { ITipoAuditoriaModel } from \"src/app/models/tipo-auditoria.model\";\r\nimport { ITipoEnfaseModel } from \"src/app/models/tipo-enfase.model\";\r\nimport { TipoAuditoriaService } from \"src/app/services/tipo-auditoria.service\";\r\nimport { TipoEnfaseService } from \"src/app/services/tipo-enfase.service\";\r\nimport { UnidadeGestoraService } from \"src/app/services/unidade-gestora.service\";\r\n\r\n\r\n\r\n\r\n@Component({\r\n\tselector: \"app-paa-aba-distribuicao\",\r\n\ttemplateUrl: \"./paa-aba-distribuicao.component.html\",\r\n\tstyleUrls: [\"./paa-aba-distribuicao.component.scss\"],\r\n})\r\nexport class PaaAbaDistribuicaoComponent extends BaseFormComponent implements OnInit{\r\n \r\n public model = {} as IPaaAbaDistribuicaoModel;\r\n\r\n public distribuicaoDataSource = new MatTableDataSource([]);\r\n public distribuicaoNaoContempladosDataSource = new MatTableDataSource([]);\r\n public distribuicaoNaoContempladosPersonalizadoDataSource = new MatTableDataSource([]);\r\n public distribuicaoPersonalizadoDataSource = new MatTableDataSource([]);\r\n public paaInformacoesBasicas: IPaaInformacoesBasicasModel = {} as IPaaInformacoesBasicasModel;\r\n public tiposAuditorias: ITipoAuditoriaModel[];\r\n public tiposEnfase: ITipoEnfaseModel[];\r\n public filtroEnfase = {} as FiltroModel;\r\n \r\n public columnsDistribuicaoOriginais1 = ['unidadeGestora', 'valorRiscoResidual'];\r\n public columnsDistribuicaoOriginais2 = ['tipoAuditoria','tipoEnfase', 'actions', 'ativo'];\r\n public columnsDistribuicao = [];\r\n public colunasAdicionarDistribuicao = [];\r\n public columnsDistribuicaoPersonalizado = [];\r\n\r\n public distribuicaoNaoContempladosSemDados = true;\r\n public distribuicaoSemDados = true;\r\n public historico:boolean;\r\n public paaHomologado = true;\r\n public distruibuicaoSemDados = true;\r\n public distribuicaoNaoContempladosSemDadosPersonalizado = true;\r\n public distribuicaoSemDadosPersonalizado = true;\r\n public isOrigemPlanejada:boolean;\r\n\r\n @ViewChild('tabela3') public tabela3: MatSort;\r\n\r\n constructor(route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private _location: Location,\r\n private paaService: PaaService,\r\n private paaAbaDistribuicaoService: PaaAbaDistribuicaoService,\r\n private tipoAuditoriaService: TipoAuditoriaService,\r\n private tipoEnfaseService: TipoEnfaseService,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n public matDialog: MatDialog\r\n ){super (route, toastr, router, localeService, matDialog);}\r\n\r\n\r\n\r\n\r\n \r\n //METHODS\r\n\r\n async ngOnInit() {\r\n \r\n //TODO: VERIFICAR PQ A VARIÁVEL VISUALIZAR ESTÁ SENDO RESETADA\r\n this.visualizar = this.route.routeConfig.path?.includes(\"visualizar\");\r\n\r\n await this.obterInformacoesBasicasPaa();\r\n await this.obterTiposAuditorias();\r\n await this.obterTiposEnfase();\r\n this.obterPainelDistribuicao()\r\n\r\n }\r\n\r\n public async obterInformacoesBasicasPaa(){\r\n this.paaService.buscarInformacoesBasicas(this.id)\r\n .then((res)=> {\r\n if(res.sucesso){\r\n \r\n this.paaInformacoesBasicas = res.dados;\r\n \r\n this.paaHomologado = this.paaInformacoesBasicas.idSituacao == 4;\r\n this.isOrigemPlanejada = this.paaInformacoesBasicas.origem == 1;\r\n }\r\n })\r\n }\r\n\r\n \r\n\r\n public async obterPainelDistribuicao() { \r\n return this.paaAbaDistribuicaoService.obterPainelDistribuicao(this.id).then((res) => { \r\n this.colunasAdicionarDistribuicao = [];\r\n this.columnsDistribuicao = [];\r\n this.columnsDistribuicao = this.columnsDistribuicao.concat(\r\n Object.assign([], this.columnsDistribuicaoOriginais1)\r\n );\r\n \r\n var colunasNomes: any = {};\r\n if (res && res.dados[0] && res.dados[0].colunasValores) {\r\n res.dados[0].colunasValores.forEach((element) => {\r\n const nomeColuna = this.obterNomeColuna(element);\r\n \r\n colunasNomes[nomeColuna.toString()] = nomeColuna;\r\n \r\n this.columnsDistribuicao.push(nomeColuna);\r\n if (!this.colunasAdicionarDistribuicao.some((c) => c === nomeColuna)) {\r\n this.colunasAdicionarDistribuicao.push(nomeColuna);\r\n }\r\n });\r\n }\r\n \r\n this.columnsDistribuicao = this.columnsDistribuicao.concat(\r\n Object.assign([], this.columnsDistribuicaoOriginais2)\r\n );\r\n var dados = res.dados\r\n .map((item) => {\r\n if (item.tipoAuditoria?.id == 0) item.tipoAuditoriaId = null;\r\n item.unidadeGestora.sigla = item.unidadeGestora.sigla.toUpperCase();\r\n return item;\r\n });\r\n \r\n this.distribuicaoDataSource = new MatTableDataSource(dados);\r\n this.distribuicaoDataSource._updateChangeSubscription();\r\n \r\n\r\n this.distribuicaoDataSource.sortingDataAccessor = (item: IPaaDistribuicaoModel, property) => {\r\n switch (property) {\r\n case 'unidadeGestora':\r\n return item.unidadeGestora.sigla;\r\n \r\n case 'valorRiscoRiscoresidual':\r\n return item.valorRiscoResidual;\r\n \r\n case colunasNomes[property]:\r\n return parseFloat(\r\n this.obterValorColuna(item, property).replace(/[.]/g, '').replace(/[,]/g, '.') == ''\r\n ? '0'\r\n : this.obterValorColuna(item, property).replace(/[.]/g, '').replace(/[,]/g, '.')\r\n );\r\n \r\n case 'ativo':\r\n return item.ativo.toString();\r\n \r\n case 'tipoAuditoria':\r\n return item.tipoAuditoria.nome;\r\n \r\n default:\r\n return item[property];\r\n }\r\n };\r\n \r\n this.distribuicaoDataSource.sort = this.tabela3;\r\n this.distruibuicaoSemDados = this.distribuicaoDataSource.filteredData.length === 0;\r\n \r\n res.dados.forEach((item) => {\r\n this.obterHistoricoDistribuicao(item);\r\n this.obterHistoricoAuditoria(item);\r\n });\r\n });\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n public obterValorColuna(\r\n element: IPaaDistribuicaoModel,\r\n coluna: string\r\n ): string {\r\n if (!element || !coluna) {\r\n return '';\r\n }\r\n \r\n const result = element.colunasValores.find(\r\n (x) => this.obterNomeColuna(x) === coluna\r\n );\r\n \r\n if (!result || result.valorNumerico == null) {\r\n return '';\r\n }\r\n \r\n return result.valorNumerico.toFixed(2);\r\n }\r\n \r\n private obterNomeColuna(element: IPaaDistribuicaoColunasModel) {\r\n return element.nomeIndicador && element.nomeIndicador !== ''\r\n ? element.nomeIndicador + ' / ' + element.nomeCriterio\r\n : element.nomeCriterio;\r\n }\r\n \r\n public reativarDistribuicao(element: IPaaDistribuicaoModel) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {titulo: \"Tem certeza que deseja reativar esse registro?\"};\r\n const modal = this.matDialog.open(\r\n ModalConfirmarReativacaoDistribuicaoComponent,\r\n dialogConfig\r\n );\r\n \r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n \r\n this.paaAbaDistribuicaoService\r\n .AlterarStatusDistribuicao(element.id, !element.ativo, data)\r\n .then((resAssociar) => {\r\n if (resAssociar.sucesso) {\r\n this.exibirMensagemSucesso('Status alterado com sucesso');\r\n } else {\r\n this.exibirMensagemAlerta(resAssociar.mensagem.descricao);\r\n }\r\n })\r\n .catch((errAssociar) => {\r\n this.exibirMensagemErro(errAssociar.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.obterPainelDistribuicao();\r\n });\r\n }\r\n });\r\n }\r\n \r\n public inativarDistribuicao(element: IPaaDistribuicaoModel) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = null;\r\n const modal = this.matDialog.open(\r\n ModalConfirmarInativacaoComponent,\r\n dialogConfig\r\n );\r\n \r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n \r\n this.paaAbaDistribuicaoService\r\n .AlterarStatusDistribuicao(element.id, false, data)\r\n .then((resAssociar) => {\r\n if (resAssociar.sucesso) {\r\n this.exibirMensagemSucesso('Status alterado com sucesso');\r\n } else {\r\n this.exibirMensagemAlerta(resAssociar.mensagem.descricao);\r\n }\r\n })\r\n .catch((errAssociar) => {\r\n this.exibirMensagemErro(errAssociar.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n this.obterPainelDistribuicao();\r\n });\r\n }\r\n });\r\n }\r\n\r\n \r\n public agrupadorCapacidade(index: number, item: any): boolean {\r\n return item.grupo;\r\n }\r\n\r\n public obterHistoricoDistribuicao(\r\n element: IPaaDistribuicaoModel\r\n ): Promise {\r\n return this.paaAbaDistribuicaoService\r\n .obterHistoricoDistribuicao(this.id, element.unidadeGestoraId)\r\n .then((historico) => {\r\n if (historico.sucesso) {\r\n let tooltipSituacao = '';\r\n \r\n if (historico.dados.length > 0) { \r\n historico.dados.forEach((item) => {\r\n element.historicoSituacao = true;\r\n if (item.acao == 'Inativação' || item.acao == \"Reativação\") {\r\n tooltipSituacao += `${item.usuario} - ${formatDate(\r\n item.data,\r\n 'dd/MM/yyyy',\r\n 'pt-BR'\r\n )}, Ação: ${item.acao}, Justificativa: ${item.justificativa}\\n\\n`;\r\n }\r\n });\r\n element.tooltipHistoricoSituacao = tooltipSituacao;\r\n element.historico = true;\r\n } else {\r\n tooltipSituacao += 'Nenhum dado encontrado.';\r\n element.historico = false;\r\n }\r\n \r\n \r\n \r\n } else {\r\n this.exibirMensagemErro(historico.mensagem.descricao);\r\n }\r\n });\r\n }\r\n public obterHistoricoAuditoria(\r\n element: IPaaDistribuicaoModel\r\n ): Promise {\r\n return this.paaAbaDistribuicaoService\r\n .obterHistoricoAuditoria(this.id, element.unidadeGestoraId, element.auditoriaObrigatoria)\r\n .then((historico) => {\r\n if (historico.sucesso) {\r\n let tooltipAuditoria = '', tooltipTipoEnfase = '';\r\n \r\n if (historico.dados.length > 0) {\r\n historico.dados.forEach((item) => {\r\n if (item.acao.toLowerCase().includes('auditoria')) {\r\n element.historicoTipoAuditoria = true;\r\n tooltipAuditoria = `${item.usuario} - ${formatDate(\r\n item.data,\r\n 'dd/MM/yyyy',\r\n 'pt-BR')}, Justificativa: ${item.justificativa}\\n\\n`;\r\n }\r\n if (item.acao.toLowerCase().includes('ênfase')) {\r\n element.historicoTipoEnfase = true;\r\n \r\n if (item.justificativa && item.justificativa.trim().length > 0) {\r\n tooltipTipoEnfase = `${item.usuario} - ${formatDate(\r\n item.data,\r\n 'dd/MM/yyyy',\r\n 'pt-BR')}, Justificativa: ${item.justificativa}\\n\\n`;\r\n }\r\n }\r\n });\r\n element.tooltipHistoricoAuditoria = tooltipAuditoria;\r\n element.tooltipHistoricoEnfase = tooltipTipoEnfase;\r\n }\r\n \r\n } else {\r\n this.exibirMensagemErro(historico.mensagem.descricao);\r\n }\r\n });\r\n }\r\n \r\n\r\n\r\n public async obterTiposAuditorias() {\r\n return this.tipoAuditoriaService.obter('', true).then((res) => {\r\n this.tiposAuditorias = res.dados;\r\n });\r\n }\r\n \r\n public async obterTiposEnfase(){\r\n this.filtroEnfase.itensPorPagina = 99;\r\n this.filtroEnfase.ativo = true;\r\n return this.tipoEnfaseService.obter(this.filtroEnfase).then((res) =>\r\n {\r\n this.tiposEnfase = res?.dados.resultado;\r\n })\r\n }\r\n \r\n\r\n public alterarTipoAuditoria(element: IPaaDistribuicaoModel) {\r\n const dialogConfigJustificativa = new MatDialogConfig();\r\n dialogConfigJustificativa.id = 'modal-component';\r\n dialogConfigJustificativa.width = '650px';\r\n dialogConfigJustificativa.hasBackdrop = true;\r\n dialogConfigJustificativa.disableClose = true;\r\n dialogConfigJustificativa.data = {titulo: \"Deseja realmente alterar o tipo de auditoria?\"};\r\n const modalJustificativa = this.matDialog.open(\r\n ModalAlterarTipoAuditoriaComponent,\r\n dialogConfigJustificativa\r\n );\r\n modalJustificativa.afterClosed().subscribe((item) => {\r\n if(item){\r\n this.paaAbaDistribuicaoService.ValidarTipoAuditoria(element.id, element.tipoAuditoriaId).then((res) => {\r\n if (res == null) {\r\n this.paaAbaDistribuicaoService\r\n .AlterartipoAuditoriaDistribuicao(element.id, element.tipoAuditoriaId, item)\r\n .then((resAssociar) => {\r\n if (resAssociar.sucesso) {\r\n this.exibirMensagemSucesso(resAssociar.mensagem.descricao);\r\n this.obterPainelDistribuicao();\r\n } else {\r\n this.exibirMensagemErro(resAssociar.mensagem.descricao);\r\n }\r\n })\r\n .catch((errAssociar) => {\r\n this.exibirMensagemErro(errAssociar.mensagem.descricao);\r\n });\r\n }\r\n if (res.sucesso) {\r\n Swal.fire({\r\n title: 'Tipo de auditoria',\r\n text: res.mensagem.descricao,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(resConfirm => {\r\n if (resConfirm.isConfirmed) {\r\n this.paaAbaDistribuicaoService\r\n .AlterartipoAuditoriaDistribuicao(element.id, element.tipoAuditoriaId, item)\r\n .then((resAssociar) => {\r\n if (resAssociar.sucesso) {\r\n this.exibirMensagemSucesso(resAssociar.mensagem.descricao);\r\n } else {\r\n this.exibirMensagemErro(resAssociar.mensagem.descricao);\r\n }\r\n })\r\n .catch((errAssociar) => {\r\n this.exibirMensagemErro(errAssociar.mensagem.descricao);\r\n });\r\n }\r\n });\r\n }\r\n else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch((erro) => {\r\n this.exibirMensagemErro(erro.mensagem.descricao);\r\n })\r\n }\r\n });\r\n }\r\n\r\n public alterarTipoEnfase(element: IPaaDistribuicaoModel) {\r\n const dialogConfigJustificativaTipoEnfase = new MatDialogConfig();\r\n dialogConfigJustificativaTipoEnfase.id = 'modal-component';\r\n dialogConfigJustificativaTipoEnfase.width = '650px';\r\n dialogConfigJustificativaTipoEnfase.hasBackdrop = true;\r\n dialogConfigJustificativaTipoEnfase.disableClose = true;\r\n dialogConfigJustificativaTipoEnfase.data = {titulo: \"Deseja atribuir essa ênfase?\"};\r\n const modalJustificativaTipoEnfase = this.matDialog.open(\r\n ModalAlterarTipoEnfaseComponent,\r\n dialogConfigJustificativaTipoEnfase\r\n );\r\n \r\n modalJustificativaTipoEnfase.afterClosed().subscribe((item) => {\r\n if(item){\r\n this.paaAbaDistribuicaoService\r\n .AlterarTipoEnfaseDistribuicao(element.id, element.tipoEnfaseId, item)\r\n .then((resAssociar) => {\r\n if (resAssociar.sucesso) {\r\n this.obterPainelDistribuicao();\r\n this.exibirMensagemSucesso(resAssociar.mensagem.descricao);\r\n } else {\r\n this.exibirMensagemErro(resAssociar.mensagem.descricao);\r\n }\r\n })\r\n .catch((errAssociar) => {\r\n this.exibirMensagemErro(errAssociar.mensagem.descricao);\r\n });\r\n }\r\n \r\n })\r\n }\r\n\r\n\r\n public editarColunas() {\r\n\r\n this.paaAbaDistribuicaoService\r\n .obterPainelDistribuicaoColunas(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = res.dados;\r\n const modal = this.matDialog.open(\r\n ModalSelecionarColunasComponent,\r\n dialogConfig\r\n );\r\n \r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n this.paaService\r\n .AlterarSatusDistribuicaoColunas(data)\r\n .then((resAssociar) => {\r\n if (resAssociar.sucesso) {\r\n this.exibirMensagemSucesso('Colunas alteradas com sucesso');\r\n this.obterPainelDistribuicao();\r\n } else {\r\n this.exibirMensagemErro(resAssociar.mensagem.descricao);\r\n }\r\n })\r\n .catch((errAssociar) => {\r\n this.exibirMensagemErro(errAssociar.mensagem.descricao);\r\n });\r\n }\r\n });\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public visualizarGrafico() {\r\n\r\n this.paaService\r\n .obterGrafico(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n // dialogConfig.width = '650px';\r\n dialogConfig.maxHeight = '100%';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = res.dados;\r\n const modal = this.matDialog.open(\r\n ModalGraficoDistribuicaoComponent,\r\n dialogConfig\r\n );\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) =>\r\n this.exibirMensagemErro(err.mensagem.descricao)\r\n )\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate(['/paa']);\r\n }\r\n\r\n //COMPUTEDS\r\n\r\n mostrarSelectUnidade(): boolean{\r\n return !this.visualizar && !this.paaHomologado;\r\n }\r\n\r\n mostrarTipoEnfase() : boolean{\r\n return !this.visualizar && !this.paaHomologado;\r\n }\r\n\r\n mostrarBotaoEditarColunas() : boolean{\r\n return !this.visualizar && !this.paaHomologado;\r\n }\r\n\r\n mostrarBotaoIncluirNovaUG(): boolean{\r\n \r\n return !this.visualizar && !this.paaHomologado && this.isOrigemPlanejada;\r\n }\r\n\r\n mostrarBotaoGrafico() : boolean{\r\n return !this.visualizar && !this.paaHomologado;\r\n }\r\n\r\n mostrarBotaoAtivarInativar(): boolean{\r\n if(!this.visualizar && this.isOrigemPlanejada){\r\n this.columnsDistribuicaoOriginais2 = ['tipoAuditoria','tipoEnfase', 'actions', 'ativo'];\r\n }else{\r\n this.columnsDistribuicaoOriginais2 = ['tipoAuditoria','tipoEnfase', 'ativo'];\r\n }\r\n \r\n return !this.visualizar && this.isOrigemPlanejada;\r\n }\r\n \r\n public subTotalCapacidade(index: number, item: any): boolean {\r\n return item.subTotal;\r\n }\r\n\r\n public async incluirUG() {\r\n\r\n this.unidadeGestoraService.obter({ pagina: 1, itensPorPagina: 10000, ativo: true } as FiltroModel)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.maxHeight = '80vh';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n \r\n let dados = res.dados.resultado.filter(\r\n (_) => !this.distribuicaoDataSource.data.find((d) => _.id === d.id)\r\n );\r\n dialogConfig.data = {dados: dados, modoSelecaoMultiplo: false};\r\n const modal = this.matDialog.open(\r\n ModalSelecionarUGComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe(async (data) => {\r\n const dialogConfigJustificativa = new MatDialogConfig();\r\n dialogConfigJustificativa.id = 'modal-component';\r\n dialogConfigJustificativa.width = '650px';\r\n dialogConfigJustificativa.hasBackdrop = true;\r\n dialogConfigJustificativa.disableClose = true;\r\n dialogConfigJustificativa.data = {titulo: \"Tem certeza que deseja incluir a UG?\"};\r\n const modalJustificativa = this.matDialog.open(\r\n ModalConfirmarReativacaoDistribuicaoComponent,\r\n dialogConfig\r\n );\r\n\r\n modalJustificativa.afterClosed().subscribe((item) => {\r\n if (data && item) {\r\n const distribuicao = {} as IPaaDistribuicaoModel;\r\n distribuicao.ativo = true;\r\n distribuicao.paaId = this.id;\r\n distribuicao.unidadeGestoraId = data.id;\r\n distribuicao.manual = true;\r\n distribuicao.justificativa = item;\r\n const verificarDuplicidade = this.verificarDuplicidadeUG(\r\n distribuicao.paaId,\r\n distribuicao.unidadeGestoraId\r\n );\r\n\r\n if (verificarDuplicidade) {\r\n (async () => {\r\n const result = await this.paaService.adicionarDistribuicao(distribuicao);\r\n try {\r\n if (result.sucesso) {\r\n this.exibirMensagemSucesso('Unidade Gerencial adicionada com sucesso');\r\n this.obterPainelDistribuicao();\r\n } else {\r\n this.exibirMensagemErro(result.mensagem.descricao);\r\n }\r\n } catch (error) {\r\n this.exibirMensagemErro(error.mensagem.descricao);\r\n } finally {\r\n this.obterPainelDistribuicao();\r\n }\r\n })()\r\n } else {\r\n this.exibirMensagemErro('Essa UG já está incluida');\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public async verificarDuplicidadeUG(\r\n distribuicao: number,\r\n unidadeGestoraId: number\r\n ) {\r\n const res = await this.paaService.obterPorId(distribuicao);\r\n if (!res.dados.paaUnidadeGestora || res.dados.paaUnidadeGestora.length <= 0) return true;\r\n\r\n const duplicada = res.dados.paaUnidadeGestora?.filter(\r\n (_) => _.unidadeGestoraId == unidadeGestoraId\r\n );\r\n\r\n if (duplicada?.length == 0) {\r\n return true;\r\n }\r\n \r\n var obrigatoria = duplicada?.filter(\r\n (_) => _.unidadeGestora.auditoriaObrigatoria == true\r\n );\r\n if (obrigatoria?.length > 0 && obrigatoria?.length < 2) {\r\n return true;\r\n }\r\n\r\n return false;\r\n \r\n\r\n }\r\n \r\n isRowEmpty(row: any): boolean {\r\n return row.valorRiscoResidual === 0 || row.valorRiscoResidual === undefined && !row.colunasValores.some((cv: any) => cv.valorNumerico != null);\r\n}\r\n\r\n \r\n\r\n}","
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Sigla\r\n \r\n \r\n {{\r\n element?.unidadeGestora\r\n ?.sigla\r\n }}\r\n Obrigatória\r\n \r\n \r\n\r\n \r\n \r\n Valor de Risco Residual\r\n \r\n \r\n \r\n {{\r\n element?.valorRiscoResidual\r\n }}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {{ coluna }}\r\n \r\n \r\n {{\r\n obterValorColuna(\r\n element,\r\n coluna\r\n )\r\n | number\r\n : \"1.2-2\"\r\n : \"pt-br\"\r\n }}\r\n \r\n \r\n
\r\n\r\n \r\n \r\n Valor de Risco\r\n \r\n \r\n {{\r\n element?.unidadeGestora\r\n ?.valorNumerico\r\n }}\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n Tipo de Auditoria\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n Tipo de Ênfase\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {{ item.nome }}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Situação\r\n \r\n \r\n Ativo\r\n Inativo\r\n \r\n \r\n \r\n\r\n \r\n \r\n Inativar/Reativar\r\n \r\n \r\n \r\n \r\n Reativar\r\n \r\n \r\n \r\n Inativar\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n Ano: {{ groupBy.ano }}\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n Capacidade de Trabalho\r\n Total no Ano:\r\n \r\n \r\n \r\n \r\n \r\n {{\r\n groupBy.capacidadeTotalAno\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Não há dados no Painel de\r\n Distribuição\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n Exibir/Ocultar Colunas\r\n \r\n\r\n \r\n Incluir Nova UG\r\n \r\n\r\n \r\n \r\n\r\n \r\n Fechar\r\n \r\n
","//BASE\r\nimport { AfterViewInit, Component, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { formatDate } from '@angular/common';\r\nimport { MatDialog,\tMatDialogConfig } from \"@angular/material/dialog\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport Swal from 'sweetalert2';\r\n\r\n\r\n//COMPONENTS\r\nimport { ModalImportarArquivoCriterioPaaComponent } from \"../modal-importar-arquivo-criterio-paa/modal-importar-arquivo-criterio-paa.component\";\r\nimport { ModalPreencherFormularioPaaComponent } from \"../modal-preencher-formulario/modal-preencher-formulario-paa.component\";\r\nimport { ModalRankingPrioridadeComponent } from \"../modal-ranking-prioridade/modal-ranking-prioridade.component\";\r\nimport { ModalEnviarQuestionarioCriterioPaaComponent } from \"../modal-enviar-questionario-criterio/modal-enviar-questionario-criterio.component\";\r\nimport { ModalVisualizarQuestionarioCriterioPaaComponent } from \"../modal-visualizar-questionario-criterio/modal-visualizar-questionario-criterio.component\";\r\nimport { ModalCadastrarIndicadorComponent } from \"../modal-cadastrar-indicador/modal-cadastrar-indicador.component\";\r\nimport { ModalCadastrarCriterioComponent } from \"../modal-cadastrar-criterio/modal-cadastrar-criterio.component\";\r\n\r\n//MODELS\r\nimport { IPaaAbaIndicesCriteriosModel } from 'src/app/models/paa-aba-indices-criterios.model';\r\nimport { IPaaAbaICIndicadorModel } from \"src/app/models/paa-aba-indices-criterios.model\";\r\nimport { IPaaAbaICCriterioModel } from \"src/app/models/paa-aba-indices-criterios.model\";\r\nimport { ITipoAuditoriaModel } from \"src/app/models/tipo-auditoria.model\";\r\nimport { FiltroModel } from \"src/app/models/filtro.model\";\r\nimport { IPaaDistribuicaoColunasModel } from \"src/app/models/paa-distribuicao-colunas.model\";\r\nimport { ITipoEnfaseModel } from \"src/app/models/tipo-enfase.model\";\r\nimport { IEnviarQuestionarioModel } from \"src/app/models/enviar-questionario.model\";\r\nimport { IPaaIndiceCriterioModel } from \"src/app/models/paa-indice-criterio.model\";\r\nimport { IPaaCriterioRespostaModel } from \"src/app/models/paa-criterio-resposta.model\";\r\nimport { IEnumModel } from \"src/app/models/enum.model\";\r\n\r\n\r\n\r\n//SERVICES\r\nimport { PaaAbaIndicesCriteriosService } from \"src/app/services/paa/paa-aba-indices-criterios.service\";\r\nimport { PaaService } from \"src/app/services/paa.service\";\r\nimport { IPaaDistribuicaoModel } from \"src/app/models/paa-distribuicao.model\";\r\nimport { TipoAuditoriaService } from \"src/app/services/tipo-auditoria.service\";\r\nimport { TipoEnfaseService } from \"src/app/services/tipo-enfase.service\";\r\nimport { CriterioService } from \"src/app/services/criterio.service\";\r\nimport { IndicadorService } from \"src/app/services/indicador.service\";\r\n\r\n@Component({\r\n\tselector: \"app-paa-aba-indices-criterios\",\r\n\ttemplateUrl: \"./paa-aba-indices-criterios.component.html\",\r\n\tstyleUrls: [\"./paa-aba-indices-criterios.component.scss\"],\r\n})\r\n\r\nexport class PaaAbaIndicesCriteriosComponent extends BaseFormComponent{\r\n\t\r\n\tpublic model = {} as IPaaAbaIndicesCriteriosModel;\r\n\tpublic aba = 0;\r\n\tpublic paaHomologado = true;\r\n\tpublic visualizarBotaoFormulario = false;\r\n\tpublic emAprovacao = false;\r\n\tpublic capacidadeSemDados = true;\r\n\tpublic distruibuicaoSemDados = true;\r\n\tpublic historico:boolean;\r\n\tpublic indicadoresDataSource = new MatTableDataSource([]);\r\n\tpublic distribuicaoDataSource = new MatTableDataSource([]);\r\n\tpublic capacidadeDataSource = new MatTableDataSource([]);\r\n\tpublic indicadoresDataSourceSemDados = true;\r\n\tpublic criteriosDataSource = new MatTableDataSource([]);\r\n\tpublic criteriosDataSourceSemDados = true;\r\n\tpublic _alldata: IPaaAbaICIndicadorModel[];\r\n\t@ViewChild('tabela1') public tabela1: MatSort;\r\n\t@ViewChild('tabela2') public tabela2: MatSort;\r\n\t@ViewChild('tabela3') public tabela3: MatSort;\r\n\tpublic mostrarCapacidadeTotal: number;\r\n \tpublic mostrarCapacidadeTotalPea: number;\r\n\tdisplayedColumns: string[] = ['nomeCriterio', 'unidadeMedida', 'tipoEntrada', 'actions'];\r\n\tpublic columnsDistribuicaoOriginais1 = ['unidadeGestora', 'valorRisco'];\r\n\tpublic columnsDistribuicaoOriginais2 = ['ativo', 'tipoAuditoria','tipoEnfase', 'actions'];\r\n\tpublic columnsDistribuicao = [];\r\n\tpublic colunasAdicionarDistribuicao = [];\r\n\tpublic tiposAuditorias: ITipoAuditoriaModel[];\r\n\tpublic tiposEnfase: ITipoEnfaseModel[];\r\n\tpublic filtroEnfase = {} as FiltroModel;\r\n\r\n\tconstructor(\r\n\t\tpublic route: ActivatedRoute,\r\n\t\tpublic toastr: ToastrService,\r\n\t\tpublic router: Router,\r\n\t\tpublic localeService: BsLocaleService,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate paaService: PaaService,\r\n\t\tprivate tipoAuditoriaService: TipoAuditoriaService,\r\n\t\tprivate tipoEnfaseService: TipoEnfaseService,\r\n\t\tpublic criterioService: CriterioService,\r\n\t\tpublic indicadorService: IndicadorService,\r\n\t\tpublic paaAbaIndicesCriteriosService: PaaAbaIndicesCriteriosService\r\n\t\t\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\t}\r\n\r\n\tasync ngOnInit(): Promise {\r\n\t\tawait this.buscar();\r\n\t\t\r\n\t\t//TODO: VERIFICAR PQ A VARIÁVEL VISUALIZAR ESTÁ SENDO RESETADA\r\n\t\tthis.visualizar = this.route.routeConfig.path?.includes(\"visualizar\");\r\n\t}\r\n\r\n\tasync buscar(){\r\n\t\tthis.paaAbaIndicesCriteriosService.obter(this.id)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.model = res.dados;\r\n\t\t\t\tif(this.model.idSituacaoPaa == 2)\r\n\t\t\t\t\tthis.emAprovacao = true;\r\n\t\t\t\tvar dados = [];\r\n\t\t\t\tres.dados.indicadores.map((i) => {\r\n\t\t\t\t\t\tdados.push(i);\r\n\t\t\t\t\t\tdados = dados.concat(i.criterios);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\t\r\n\t\t\t\tif(res.dados.criterios.length > 0){\r\n\t\t\t\t\tconst agrupadorCriterios = {} as IPaaAbaICIndicadorModel;\r\n\t\t\t\t\tagrupadorCriterios.idIndicador = 0;\r\n\t\t\t\t\tagrupadorCriterios.isGrouper = true;\r\n\t\t\t\t\tagrupadorCriterios.nomeIndicador = \"Critérios\";\r\n\t\t\t\t\tagrupadorCriterios.peaRelacionado = true;\r\n\t\t\t\t\tagrupadorCriterios.criterios = {} as IPaaAbaICCriterioModel[];\r\n\t\t\t\t\t\r\n\t\t\t\t\tdados.push(agrupadorCriterios);\r\n\r\n\t\t\t\t\tdados = dados.concat(res.dados.criterios);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.indicadoresDataSource = new MatTableDataSource(dados);\r\n\t\t\t\tthis.criteriosDataSourceSemDados = dados.length == 0;\r\n\t\t\t})\r\n\t\t\t\r\n\t}\r\n\r\n\tpublic async importarArquivoCriterioPaa(id: number, visualizar?: boolean) {\r\n\t\ttry {\r\n\t\t\t\r\n\t\t const respostas = this.distribuicaoDataSource.data.map(\r\n\t\t\t(u) =>\r\n\t\t\t({\r\n\t\t\t paaIndiceCriterioId: id,\r\n\t\t\t unidadeGestoraId: u.unidadeGestoraId,\r\n\t\t\t unidadeGestora: u.unidadeGestora,\r\n\t\t\t} as IPaaCriterioRespostaModel)\r\n\t\t );\r\n\t\r\n\t\t const dialogConfig = new MatDialogConfig();\r\n\t\t dialogConfig.id = 'modal-component';\r\n\t\t dialogConfig.width = '450px';\r\n\t\t dialogConfig.hasBackdrop = true;\r\n\t\t dialogConfig.disableClose = true;\r\n\t\t dialogConfig.data = {\r\n\t\t\trespostas,\r\n\t\t\tvisualizar,\r\n\t\t };\r\n\t\t const modal = this.matDialog.open(\r\n\t\t\tModalImportarArquivoCriterioPaaComponent,\r\n\t\t\tdialogConfig\r\n\t\t );\r\n\t\t modal.afterClosed().subscribe(async (data) => {\r\n\t\t\tif (data) {\r\n\t\t\t try {\r\n\t\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\t const res = await this.paaAbaIndicesCriteriosService.enviarRespostasCriterio(\r\n\t\t\t\t\tthis.id,\r\n\t\t\t\t\trespostas\r\n\t\t\t\t );\r\n\t\t\t\t if (res.sucesso) {\r\n\t\t\t\t\tawait Promise.all([\r\n\t\t\t\t\t this.obterPainelDistribuicao(),\r\n\t\t\t\t\t this.buscar(),\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tthis.exibirMensagemSucesso('Respostas gravadas com sucesso!');\r\n\t\t\t\t } else {\r\n\t\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t }\r\n\t\t\t\t}\r\n\t\t\t } catch (err) {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t }\r\n\t\t\t}\r\n\t\t });\r\n\t\t} catch (err) {\r\n\t\t this.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t }\r\n\r\n\t public async preencherFormularioCriterioPaa(id: number, visualizar?: boolean) {\r\n\t\ttry {\r\n\t\t\tawait this.obterPainelDistribuicao();\r\n\r\n\t\t this.paaAbaIndicesCriteriosService.obterCriterioResposta(id).then((resCriterioRespostas) => {\r\n\t\t\tconst criterioRespostas =\r\n\t\t\t resCriterioRespostas.sucesso && resCriterioRespostas.dados\r\n\t\t\t\t? resCriterioRespostas.dados\r\n\t\t\t\t: [];\r\n\t\r\n\t\t\tconst respostas = this.distribuicaoDataSource.data.map((u) => {\r\n\t\t\t return (\r\n\t\t\t\tcriterioRespostas.find((r) => r.paaDistribuicaoId === u.id) ||\r\n\t\t\t\t({\r\n\t\t\t\t paaDistribuicaoId: u.id,\r\n\t\t\t\t paaIndiceCriterioId: id,\r\n\t\t\t\t unidadeGestoraId: u.unidadeGestoraId,\r\n\t\t\t\t unidadeGestora: u.unidadeGestora,\r\n\t\t\t\t} as IPaaCriterioRespostaModel)\r\n\t\t\t );\r\n\t\t\t});\r\n\t\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = 'modal-component';\r\n\t\t\tdialogConfig.width = '650px';\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = true;\r\n\t\t\tdialogConfig.data = {\r\n\t\t\t respostas,\r\n\t\t\t visualizar,\r\n\t\t\t};\r\n\t\t\tconst modal = this.matDialog.open(\r\n\t\t\t ModalPreencherFormularioPaaComponent,\r\n\t\t\t dialogConfig\r\n\t\t\t);\r\n\t\t\tmodal.afterClosed().subscribe(async (data) => {\r\n\t\r\n\t\t\t if (data) {\r\n\t\t\t\ttry {\r\n\t\t\t\t if (!this.novoRegistro) {\r\n\t\t\t\t\tconst res = await this.paaAbaIndicesCriteriosService.enviarRespostasCriterio(\r\n\t\t\t\t\t this.id,\r\n\t\t\t\t\t respostas\r\n\t\t\t\t\t);\r\n\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t await Promise.all([this.obterPainelDistribuicao()]);\r\n\t\t\t\t\t this.exibirMensagemSucesso('Respostas gravadas com sucesso!');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t this.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t\t this.router.navigate(['/paa']);\r\n\t\t\t\t\t return;\r\n\t\t\t\t\t}\r\n\t\t\t\t }\r\n\t\t\t\t} catch (err) {\r\n\t\t\t\t this.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t\t this.router.navigate(['/paa']);\r\n\t\t\t\t}\r\n\t\t\t }\r\n\t\t\t});\r\n\t\t });\r\n\t\t} catch (err) {\r\n\t\t this.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t }\r\n\r\n\t public async abrirModalRankingPrioridade(element: IPaaAbaICIndicadorModel) {\r\n\t\ttry {\r\n\t\t const dialogConfig = new MatDialogConfig();\r\n\t\t dialogConfig.id = 'modal-component-ranking';\r\n\t\t dialogConfig.width = '800px';\r\n\t\t dialogConfig.maxHeight = '700px';\r\n\t\t dialogConfig.hasBackdrop = true;\r\n\t\t dialogConfig.disableClose = true;\r\n\t\t dialogConfig.data = {\r\n\t\t\tindicadorId: element.idIndicador,\r\n\t\t\tid: this.id,\r\n\t\t\tnomeIndicador: element.nomeIndicador\r\n\t\t };\r\n\t\t const modal = this.matDialog.open(\r\n\t\t\tModalRankingPrioridadeComponent,\r\n\t\t\tdialogConfig\r\n\t\t );\r\n\t\t} catch (err) {\r\n\t\t this.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t }\r\n\r\n\t public excluirCriterio(idPaaIndiceCriterio: number) {\r\n\t\tSwal.fire({\r\n\t\t title: 'Excluir Registro',\r\n\t\t text: 'Tem certeza que deseja excluir esse Registro?',\r\n\t\t icon: 'warning',\r\n\t\t showCancelButton: true,\r\n\t\t confirmButtonText: 'Sim',\r\n\t\t cancelButtonText: 'Não',\r\n\t\t}).then((res) => {\r\n\t\t if (res.value) {\r\n\t\t\tthis.paaAbaIndicesCriteriosService\r\n\t\t\t .removerIndiceCriterio(idPaaIndiceCriterio)\r\n\t\t\t .then((resAssociar) => {\r\n\t\t\t\tif (resAssociar.sucesso) {\r\n\t\t\t\t this.exibirMensagemSucesso('Critério removido com sucesso!');\r\n\t\t\t\t\tthis.buscar();\r\n\t\t\t\t} else {\r\n\t\t\t\t this.exibirMensagemErro(resAssociar.mensagem.descricao);\r\n\t\t\t\t}\r\n\t\t\t })\r\n\t\t\t .catch((errAssociar) =>\r\n\t\t\t\tthis.exibirMensagemErro(errAssociar.mensagem.descricao)\r\n\t\t\t )\r\n\t\t }\r\n\t\t});\r\n\t }\r\n\r\n\t public excluirIndicador(idIndicador: number){\r\n\t\tSwal.fire({\r\n\t\t\ttitle: 'Excluir Registro',\r\n\t\t\ttext: 'Tem certeza que deseja excluir esse Registro?',\r\n\t\t\ticon: 'warning',\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: 'Sim',\r\n\t\t\tcancelButtonText: 'Não',\r\n\t\t }).then((res) => {\r\n\t\t\tif (res.value) {\r\n\t\t\t this.paaAbaIndicesCriteriosService\r\n\t\t\t\t.removerIndiceCriterios(this.id, idIndicador)\r\n\t\t\t\t.then((resAssociar) => {\r\n\t\t\t\t if (resAssociar.sucesso) {\r\n\t\t\t\t\tthis.exibirMensagemSucesso('Indicador removido com sucesso!');\r\n\t\t\t\t\tthis.buscar();\r\n\t\t\t\t } else {\r\n\t\t\t\t\tthis.exibirMensagemErro(resAssociar.mensagem.descricao);\r\n\t\t\t\t }\r\n\t\t\t\t})\r\n\t\t\t\t.catch((errAssociar) =>\r\n\t\t\t\t this.exibirMensagemErro(errAssociar.mensagem.descricao)\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t });\r\n\t }\r\n\r\n\tpublic exibirRespostas(id: number) { \r\n\t}\r\n\r\n\tpublic onBack() {\r\n\t\tthis.router.navigate(['/paa']);\r\n\t }\r\n\t \r\n\t public fechar() {\r\n\t\tthis.router.navigate(['/paa']);\r\n\t }\r\n\r\n\t\r\n\t isGroup(index, item): boolean {\r\n\t\treturn item.idIndicador || item.isGrouper;\r\n\t }\r\n\t\r\n\r\n\t public async obterPainelDistribuicao() {\r\n\t\tif (this.capacidadeDataSource.data.length == 0) {\r\n\t\t await this.obterCapacidadeTrabalhoPor(this.id, this.model.anoPaa);\r\n\t\t}\r\n\t\r\n\t\treturn this.paaService.obterPainelDistribuicao(this.id).then((res) => {\r\n\t\t this.colunasAdicionarDistribuicao = [];\r\n\t\t this.columnsDistribuicao = [];\r\n\t\t this.columnsDistribuicao = this.columnsDistribuicao.concat(\r\n\t\t\tObject.assign([], this.columnsDistribuicaoOriginais1)\r\n\t\t );\r\n\t\t var colunasNomes: any = {};\r\n\t\t if (res && res.dados[0] && res.dados[0].colunasValores) {\r\n\t\t\tres.dados[0].colunasValores.forEach((element) => {\r\n\t\t\t const nomeColuna = this.obterNomeColuna(element);\r\n\t\r\n\t\t\t colunasNomes[nomeColuna.toString()] = nomeColuna;\r\n\t\r\n\t\t\t this.columnsDistribuicao.push(nomeColuna);\r\n\t\t\t if (\r\n\t\t\t\t!this.colunasAdicionarDistribuicao.some((c) => c === nomeColuna)\r\n\t\t\t ) {\r\n\t\t\t\tthis.colunasAdicionarDistribuicao.push(nomeColuna);\r\n\t\t\t }\r\n\t\t\t});\r\n\t\t }\r\n\t\r\n\t\t this.columnsDistribuicao = this.columnsDistribuicao.concat(\r\n\t\t\tObject.assign([], this.columnsDistribuicaoOriginais2)\r\n\t\t );\r\n\t\r\n\t\t var dados = res.dados.map((item) => {\r\n\t\t\tif (item.tipoAuditoria?.id == 0)\r\n\t\t\t item.tipoAuditoriaId = null;\r\n\t\t\titem.unidadeGestora.sigla = item.unidadeGestora.sigla.toUpperCase();\r\n\t\t\treturn item;\r\n\t\t });\r\n\r\n\t\t dados = dados.filter(x => !x.auditoriaObrigatoria);\r\n\t\r\n\t\t this.distribuicaoDataSource =\r\n\t\t\tnew MatTableDataSource(dados);\r\n\t\t this.distribuicaoDataSource._updateChangeSubscription();\r\n\t\r\n\t\t this.distribuicaoDataSource.sortingDataAccessor = (\r\n\t\t\titem: IPaaDistribuicaoModel,\r\n\t\t\tproperty\r\n\t\t ) => {\r\n\t\t\tswitch (property) {\r\n\t\t\t case 'unidadeGestora':\r\n\t\t\t\treturn item.unidadeGestora.sigla;\r\n\t\r\n\t\t\t case 'valorRisco':\r\n\t\t\t\treturn item.valorRisco;\r\n\t\r\n\t\t\t case colunasNomes[property]:\r\n\t\t\t\treturn parseFloat(\r\n\t\t\t\t this.obterValorColuna(item, property)\r\n\t\t\t\t\t.replace(/[.]/g, '')\r\n\t\t\t\t\t.replace(/[,]/g, '.') == ''\r\n\t\t\t\t\t? '0'\r\n\t\t\t\t\t: this.obterValorColuna(item, property)\r\n\t\t\t\t\t .replace(/[.]/g, '')\r\n\t\t\t\t\t .replace(/[,]/g, '.')\r\n\t\t\t\t);\r\n\t\r\n\t\t\t case 'ativo':\r\n\t\t\t\treturn item.ativo.toString();\r\n\t\r\n\t\t\t case 'tipoAuditoria':\r\n\t\t\t\treturn item.tipoAuditoria.nome;\r\n\t\r\n\t\t\t default:\r\n\t\t\t\treturn item[property];\r\n\t\t\t}\r\n\t\t };\r\n\t\r\n\t\t this.distribuicaoDataSource.sort = this.tabela3;\r\n\t\t this.distruibuicaoSemDados =\r\n\t\t\tthis.distribuicaoDataSource.filteredData.length === 0;\r\n\t\r\n\t\t res.dados.forEach((item) => {\r\n\t\t\tthis.obterHistoricoDistribuicao(item);\r\n\t\t });\r\n\t\t});\r\n\t }\r\n\r\n\t public obterCapacidadeTrabalhoPor(paaId: number, ano: number): Promise {\r\n\t\treturn this.paaService\r\n\t\t .obterCapacidadeTrabalhoPorIdAndAno(paaId, ano)\r\n\t\t .then((resCapacidade) => {\r\n\t\t\tthis.capacidadeDataSource = new MatTableDataSource(\r\n\t\t\t resCapacidade.dados\r\n\t\t\t);\r\n\t\r\n\t\t\tlocalStorage.setItem('auditores', JSON.stringify(resCapacidade.dados.map(a => a.auditor)))\r\n\t\t\tthis.capacidadeDataSource._updateChangeSubscription();\r\n\t\r\n\t\t\tthis.capacidadeDataSource.sortingDataAccessor = (item, property) => {\r\n\t\t\t switch (property) {\r\n\t\t\t\tcase 'coordenacao':\r\n\t\t\t\t return item?.coordenacaoNome;\r\n\t\t\t\tcase 'auditores':\r\n\t\t\t\t return item?.auditor;\r\n\t\t\t\tdefault:\r\n\t\t\t\t return item[property];\r\n\t\t\t }\r\n\t\t\t};\r\n\t\r\n\t\t\tthis.capacidadeDataSource.sort = this.tabela2;\r\n\t\r\n\t\t\tthis.mostrarCapacidadeTotal = this.capacidadeDataSource.data\r\n\t\t\t .map((item) => item.capacidadeTotalCoordenacao)\r\n\t\t\t .reduce((total, currentElement) => total + currentElement);\r\n\t\r\n\t\t\tthis.mostrarCapacidadeTotalPea = this.capacidadeDataSource.data\r\n\t\t\t .map((item) => item.capacidadeTotalCoordenacaoPea)\r\n\t\t\t .reduce((total, currentElement) => total + currentElement);\r\n\t\r\n\t\r\n\t\t\tthis.capacidadeSemDados =\r\n\t\t\t this.capacidadeDataSource.filteredData.length === 0;\r\n\t\t }).then(() => this.obterTiposAuditorias()).then(() => this.obterTiposEnfase());\r\n\t }\r\n\r\n\t public async obterTiposAuditorias() {\r\n\t\treturn this.tipoAuditoriaService.obter('', true).then((res) => {\r\n\t\t this.tiposAuditorias = res?.dados.filter(a => {\r\n\t\t\tconst res = this.capacidadeDataSource.data.find(b => a?.coordenacaoId === b?.coordenacaoId);\r\n\t\t\tif (res?.coordenacaoId) {\r\n\t\t\t return a;\r\n\t\t\t}\r\n\t\t });\r\n\t\t});\r\n\t }\r\n\t\r\n\t public async obterTiposEnfase(){\r\n\t\tthis.filtroEnfase.itensPorPagina = 99;\r\n\t\tthis.filtroEnfase.ativo = true;\r\n\t\treturn this.tipoEnfaseService.obter(this.filtroEnfase).then((res) =>\r\n\t\t{\r\n\t\t this.tiposEnfase = res?.dados.resultado;\r\n\t\t})\r\n\t }\r\n\r\n\t public obterHistoricoDistribuicao(\r\n\t\telement: IPaaDistribuicaoModel\r\n\t ): Promise {\r\n\t\treturn this.paaService\r\n\t\t .obterHistoricoDistribuicao(this.id, element.unidadeGestoraId)\r\n\t\t .then((historico) => {\r\n\t\t\tif (historico.sucesso) {\r\n\t\t\t let tooltip = 'Histórico da distribuição\\n\\n';\r\n\t\t\t if (historico.dados.length > 0) {\r\n\t\t\t\thistorico.dados.forEach((item) => {\r\n\t\t\t\t tooltip += `${item.usuario} - ${formatDate(\r\n\t\t\t\t\titem.data,\r\n\t\t\t\t\t'dd/MM/yyyy',\r\n\t\t\t\t\t'pt-BR'\r\n\t\t\t\t )}, Ação: ${item.acao}, Justificativa: ${item.justificativa}\\n\\n`;\r\n\t\t\t\t});\r\n\t\t\t\tthis.historico = true;\r\n\t\t\t } else {\r\n\t\t\t\ttooltip += 'Nenhum dado encontrado.';\r\n\t\t\t\tthis.historico = false;\r\n\t\t\t }\r\n\t\t\t element.tooltipHistorico = tooltip;\r\n\t\t\t} else {\r\n\t\t\t Swal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: 'top-end',\r\n\t\t\t\ticon: 'error',\r\n\t\t\t\ttext: historico.mensagem.descricao,\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 2000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t });\r\n\t\t\t}\r\n\t\t });\r\n\t }\r\n\r\n\t public obterValorColuna(\r\n\t\telement: IPaaDistribuicaoModel,\r\n\t\tcoluna: string\r\n\t ): string {\r\n\t\tif (!element || !coluna) {\r\n\t\t return '';\r\n\t\t}\r\n\t\r\n\t\tconst result = element.colunasValores.find(\r\n\t\t (x) => this.obterNomeColuna(x) === coluna\r\n\t\t);\r\n\t\r\n\t\tif (!result || !result.valorNumerico) {\r\n\t\t return '';\r\n\t\t}\r\n\t\r\n\t\treturn result.valorNumerico.toFixed(2);\r\n\t }\r\n\r\n\t private obterNomeColuna(element: IPaaDistribuicaoColunasModel) {\r\n\t\treturn element.nomeIndicador && element.nomeIndicador !== ''\r\n\t\t ? element.nomeIndicador + ' / ' + element.nomeCriterio\r\n\t\t : element.nomeCriterio;\r\n\t }\r\n\r\n\t public adicionarCriterio() {\r\n\t\tthis.criterioService\r\n\t\t .obter('', true)\r\n\t\t .then((res) => {\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t const dialogConfig = new MatDialogConfig();\r\n\t\t\t dialogConfig.id = 'modal-component';\r\n\t\t\t dialogConfig.width = '650px';\r\n\t\t\t dialogConfig.hasBackdrop = true;\r\n\t\t\t dialogConfig.disableClose = true;\r\n\t\t\t dialogConfig.data = res.dados;\r\n\t\t\t const modal = this.matDialog.open(\r\n\t\t\t\tModalCadastrarCriterioComponent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t );\r\n\t\r\n\t\t\t modal.afterClosed().subscribe((data) => {\r\n\t\t\t\tif (data) {\r\n\t\t\t\t const criterio = {} as IPaaIndiceCriterioModel;\r\n\t\t\t\t criterio.criterioId = data.criterio.id;\r\n\t\t\t\t criterio.paaId = this.id;\r\n\t\t\t\t criterio.valorExibicao = {} as IEnumModel;\r\n\t\t\t\t criterio.valorExibicao.codigo = data.valorExibicao;\r\n\t\r\n\t\t\t\t this.paaAbaIndicesCriteriosService\r\n\t\t\t\t\t.adicionarIndiceCriterio(criterio)\r\n\t\t\t\t\t.then((resAssociar) => {\r\n\t\t\t\t\t if (resAssociar.sucesso) {\r\n\t\t\t\t\t\tthis.exibirMensagemSucesso('Critério adicionado com sucesso');\r\n\t\t\t\t\t\t this.buscar();\r\n\t\t\t\t\t } else {\r\n\t\t\t\t\t\tthis.exibirMensagemErro(resAssociar.mensagem.descricao);\r\n\t\t\t\t\t }\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((errAssociar) => {\r\n\t\t\t\t\t this.exibirMensagemErro(errAssociar.mensagem.descricao);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t });\r\n\t\t\t} else {\r\n\t\t\t this.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t })\r\n\t\t .catch((err) => {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t })\r\n\t }\r\n\r\n\t public adicionarIndicador() {\r\n\r\n\t\tthis.indicadorService\r\n\t\t .obter('', true)\r\n\t\t .then((res) => {\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t const dialogConfig = new MatDialogConfig();\r\n\t\t\t dialogConfig.id = 'modal-component';\r\n\t\t\t dialogConfig.width = '650px';\r\n\t\t\t dialogConfig.hasBackdrop = true;\r\n\t\t\t dialogConfig.disableClose = true;\r\n\t\t\t dialogConfig.data = res.dados;\r\n\t\t\t const modal = this.matDialog.open(\r\n\t\t\t\tModalCadastrarIndicadorComponent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t );\r\n\t\r\n\t\t\t modal.afterClosed().subscribe((data) => {\r\n\t\t\t\tif (data) {\r\n\t\t\t\t const indicador = {} as IPaaIndiceCriterioModel;\r\n\t\t\t\t indicador.indicadorId = data.id;\r\n\t\t\t\t indicador.paaId = this.id;\r\n\t\r\n\t\t\t\t this.paaAbaIndicesCriteriosService\r\n\t\t\t\t\t.adicionarIndiceCriterio(indicador)\r\n\t\t\t\t\t.then((resAssociar) => {\r\n\t\t\t\t\t if (resAssociar.sucesso) {\r\n\t\t\t\t\t\tthis.exibirMensagemSucesso('Indicador adicionado com sucesso');\r\n\t\t\t\t\t\tthis.buscar();\r\n\t\t\t\t\t } else {\r\n\t\t\t\t\t\tthis.exibirMensagemErro(resAssociar.mensagem.descricao);\r\n\t\t\t\t\t }\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((errAssociar) => {\r\n\t\t\t\t\t this.exibirMensagemErro(errAssociar.mensagem.descricao);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t });\r\n\t\t\t} else {\r\n\t\t\t this.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t })\r\n\t\t .catch((err) => {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t })\r\n\t }\r\n\r\n\t public async exibirModalVisualizarQuestionarioCriterio() {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = 'modal-component';\r\n\t\tdialogConfig.width = '850px';\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tconst res = await this.paaAbaIndicesCriteriosService.obterVisualizacaoQuestionario(this.id);\r\n\t\t\r\n\t\tdialogConfig.data = res;\r\n\t\tconst modal = this.matDialog.open(ModalVisualizarQuestionarioCriterioPaaComponent, dialogConfig);\r\n\t }\r\n\t\r\n\t public async exibirModalEnviarQuestionarioCriterio() {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = 'modal-component';\r\n\t\tdialogConfig.width = '650px';\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tconst modal = this.matDialog.open(ModalEnviarQuestionarioCriterioPaaComponent, dialogConfig);\r\n\t\tmodal.afterClosed().subscribe(data => {\r\n\t\t if (data) {\r\n\t\t\tthis.enviarQuestionario(data);\r\n\t\t }\r\n\t\t});\r\n\t }\r\n\r\n\t public async confirmarCancelamento() {\r\n\t\tconst res = await this.paaAbaIndicesCriteriosService.questionariosRespondidos(this.id);\r\n\t\tif (res.sucesso) {\r\n\t\t if(res.dados){\r\n\t\t\tSwal.fire({\r\n\t\t\t title: 'Cancelar Questionário',\r\n\t\t\t text: `${res.mensagem?.descricao}. Deseja cancelar o envio mesmo assim?`,\r\n\t\t\t icon: 'warning',\r\n\t\t\t showCancelButton: true,\r\n\t\t\t confirmButtonText: 'Sim',\r\n\t\t\t cancelButtonText: 'Não'\r\n\t\t\t}).then(resConfirm => {\r\n\t\t\t if (resConfirm.isConfirmed) {\r\n\t\t\t\tthis.cancelarEnvioQuestionario();\r\n\t\t\t }\r\n\t\t\t});\r\n\t\t }else{\r\n\t\t Swal.fire({\r\n\t\t\ttitle: 'Cancelar Questionário',\r\n\t\t\ttext: 'Deseja cancelar o envio dos questionários?',\r\n\t\t\ticon: 'warning',\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: 'Sim',\r\n\t\t\tcancelButtonText: 'Não',\r\n\t\t }).then(resConfirm => {\r\n\t\t\tif (resConfirm.isConfirmed) {\r\n\t\t\t this.cancelarEnvioQuestionario();\r\n\t\t\t}\r\n\t\t });\r\n\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t this.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t}\r\n\t }\r\n\t\r\n\t public async cancelarEnvioQuestionario() {\r\n\t\ttry {\r\n\t\t const res = await this.paaAbaIndicesCriteriosService.cancelarEnvioQuestionario(this.id);\r\n\t\t if (res.sucesso) {\r\n\t\t\tthis.exibirMensagemSucesso('Envio cancelado');\r\n\t\t\tthis.buscar();\r\n\t\t } else {\r\n\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t }\r\n\t\t} catch (err) {\r\n\t\t this.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t }\r\n\t\r\n\t public async enviarQuestionario(modelEnviarQuestionario: IEnviarQuestionarioModel) {\r\n\t\ttry {\r\n\t\t if (!this.novoRegistro) {\r\n\t\t\tconst res = await this.paaAbaIndicesCriteriosService.enviarQuestionarios(this.id, modelEnviarQuestionario);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t this.exibirMensagemSucesso(res.mensagem.descricao);\r\n\t\t\t this.buscar();\r\n\t\t\t} else {\r\n\t\t\t this.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t\t return;\r\n\t\t\t}\r\n\t\t }\r\n\t\t} catch (err) {\r\n\t\t this.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t }\r\n\r\n\t public async enviarQuestionarioPaa() {\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.paaAbaIndicesCriteriosService.enviarQuestionariosPaa(this.id);\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Questionários enviados com sucesso');\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n\r\n\t //COMPUTED\r\n\t mostrarBotaoPreencherFormulario(element: any): boolean{\r\n\t\treturn !this.visualizar && this.model.idSituacaoPaa === 1 && element.tipoEntrada === 'Formulario';\r\n\t }\r\n\r\n\t mostrarBotaoImportarArquivo(element: any): boolean{\r\n\t\treturn !this.visualizar && this.model.idSituacaoPaa === 1 && element.tipoEntrada ===\t'ImportacaoArquivo';\r\n\t }\r\n\r\n\t mostrarBotaoVisualizarResposta(element: any): boolean{\r\n\t\treturn this.model.idSituacaoPaa === 1 || this.model.idSituacaoPaa === 4;\r\n\t }\r\n\r\n\t mostrarBotaoExcluirCriterio(element: any): boolean{\r\n\t\treturn !this.visualizar && \r\n\t\t\t\tthis.model.idSituacaoPaa === 1 && \r\n\t\t\t\telement.peaRelacionado == false\r\n\t\t\t\t&& element.possuiIndicador === false;\r\n\t }\r\n\r\n\t mostrarBotaoExcluirIndicador(element: any): boolean{\r\n\t\treturn !this.visualizar && this.model.idSituacaoPaa === 1 && element.peaRelacionado == false;\r\n\t }\r\n\r\n\t mostrarBotaoAdicionarCriterio(): boolean{\r\n\t\treturn this.model.idSituacaoPaa === 1 && !this.visualizar\r\n\t }\r\n\r\n\t mostrarBotaoAdicionarIndicador(): boolean{\r\n\t\treturn this.model.idSituacaoPaa === 1 && !this.visualizar\r\n\t }\r\n\r\n\t mostrarBotaoQuestionario(): boolean{\r\n\t\treturn this.model.idSituacaoPaa === 1 && !this.visualizar\r\n\t }\r\n\r\n\t mostrarBotaoAbrirModalRankingPrioridade(element: IPaaAbaICIndicadorModel): boolean{\r\n\t\treturn element.idIndicador != 0;\r\n\t }\r\n\r\n\t \r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Critério \r\n {{element.nomeCriterio}} \r\n \r\n \r\n \r\n \r\n Unidade Medida \r\n {{element.unidadeMedida}} \r\n \r\n \r\n \r\n \r\n Tipo entrada \r\n {{element.tipoEntrada}} \r\n \r\n \r\n \r\n \r\n Ações \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tImportar Arquivo\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n Preencher Formulário\r\n \r\n
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{iPaaAbaICIndicadorModel.nomeIndicador}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n Nenhuma Carga de Critérios a\r\n exibir\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\t\t\t\t\t\t\t\t Adicionar Critério\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Adicionar Indicador\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tQuestionário\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tToggle Dropdown\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tEnviar Questionário\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tVisualizar\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tCancelar Envio\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n \r\n Fechar\r\n \t\t\t\t\t\r\n","
\r\n
\r\n
\r\n

Alocar Equipe

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Insira uma data de ínicio.\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Insira uma data de fim.\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n Auditores da {{ coordenadorNome }}\r\n \r\n {{ element.nomeAuditor }}\r\n
\r\n
\r\n Nenhum Auditor cadastrado\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n Auditores de outras Coordenações\r\n \r\n {{ element.nomeAuditor }}\r\n
\r\n
\r\n Nenhuma Auditor cadastrado\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
","import { PaaService } from 'src/app/services/paa.service';\r\nimport { IPaaCoordenacaoAuditorModel } from 'src/app/models/paa-coordenacao-auditor.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IPaaEquipeModel } from './../../../models/paa-equipe.model';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { CalendarioService } from 'src/app/services/calendario.service';\r\nimport {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n} from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort, MatSortable } from '@angular/material/sort';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { DateHelper } from 'src/app/core/helpers/date.helper';\r\nimport Swal from 'sweetalert2';\r\nimport { Observable, forkJoin, of } from 'rxjs';\r\nimport { concatMap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-modal-alocar-equipe',\r\n templateUrl: './modal-alocar-equipe.component.html',\r\n styleUrls: ['./modal-alocar-equipe.component.scss'],\r\n})\r\n\r\nexport class ModalAlocarEquipeComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild('tabela1') public tabela1: MatSort;\r\n @ViewChild('tabela2') public tabela2: MatSort;\r\n\r\n public model = {} as IPaaEquipeModel;\r\n public minDate: Date;\r\n public maxDate: Date;\r\n public houveSugestaoData: boolean;\r\n public dataInvalida: boolean;\r\n public dataFinalSugerida: Date;\r\n\r\n public coordenadorNome: string;\r\n public msgValidacaoDataInicio: string = \"Insira uma data de ínicio.\";\r\n public msgValidacaoDataFim: string = \"Insira uma data de fim..\";\r\n public auditorDataSource = new MatTableDataSource<\r\n IPaaCoordenacaoAuditorModel\r\n >([]);\r\n public auditorSemDados = true;\r\n public auditoresDisponiveisDataSource: IPaaCoordenacaoAuditorModel[];\r\n public novoAuditor: string;\r\n\r\n public auditorOutraCoordenacaoDataSource = new MatTableDataSource<\r\n IPaaCoordenacaoAuditorModel\r\n >([]);\r\n public auditorOutraCoordenacaoSemDados = true;\r\n\r\n public dataObrigatoria = false;\r\n\r\n public auditoresConflito: IPaaCoordenacaoAuditorModel[];\r\n\r\n\r\n constructor(\r\n private cdRef: ChangeDetectorRef,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n private paaService: PaaService,\r\n private dateHelper: DateHelper,\r\n private calendarioService: CalendarioService,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n this.model = data?.equipe;\r\n this.minDate = new Date(data?.ano, 1 - 1, 1);\r\n this.maxDate = new Date(data?.ano, 12 - 1, 31);\r\n\r\n this.coordenadorNome = this.model?.paaDistribuicao?.tipoAuditoria?.coordenacao?.nome;\r\n\r\n if (this.model.dataInicio != null) {\r\n this.model.dataInicio = new Date(this.model.dataInicio);\r\n }\r\n\r\n if (this.model.dataFim != null) {\r\n this.model.dataFim = new Date(this.model.dataFim);\r\n }\r\n\r\n\r\n // Montar lista de Auditores da mesma coordenacao\r\n const auditores = this.model.listaAuditores.filter(\r\n (auditor) =>\r\n this.model.paaEquipeAuditor.findIndex(\r\n (a) => a.auditorId === auditor.auditorId\r\n ) >= 0\r\n );\r\n for (const auditor of auditores) {\r\n this.auditorDataSource.data.push({\r\n paaId: auditor.paaId,\r\n coordenacaoId: auditor.coordenacaoId,\r\n ano: auditor.ano,\r\n auditorId: auditor.auditorId,\r\n nomeAuditor: auditor.nomeAuditor,\r\n nomeCoordenacao: auditor.nomeCoordenacao,\r\n nomeDispensa: auditor.nomeDispensa,\r\n });\r\n }\r\n this.auditorDataSource.paginator = this.paginator;\r\n this.auditorDataSource.sort = this.sort;\r\n this.auditorDataSource.data = this.model.listaAuditores.map(\r\n (auditor) => ({\r\n paaId: auditor.paaId,\r\n coordenacaoId: auditor.coordenacaoId,\r\n ano: auditor.ano,\r\n auditorId: auditor.auditorId,\r\n nomeCoordenacao: auditor?.nomeCoordenacao,\r\n nomeDispensa: auditor.nomeDispensa,\r\n nomeAuditor: (auditor.nomeAuditor.charAt(0).toUpperCase() + auditor.nomeAuditor.slice(1)),\r\n selecionado:\r\n this.model.paaEquipeAuditor.findIndex(\r\n (a) => a.auditorId === auditor.auditorId\r\n ) >= 0,\r\n })\r\n );\r\n this.auditorSemDados = this.auditorDataSource.data.length === 0;\r\n this.auditorDataSource._updateChangeSubscription();\r\n\r\n this.auditoresDisponiveisDataSource = this.model.listaAuditores.filter(\r\n (auditor) =>\r\n auditores.findIndex((a) => a.auditorId === auditor.auditorId) < 0\r\n );\r\n\r\n // Montar lista de Auditores de outras coordenacoes\r\n this.auditorOutraCoordenacaoDataSource.paginator = this.paginator;\r\n this.auditorOutraCoordenacaoDataSource.sort = this.sort;\r\n this.auditorOutraCoordenacaoDataSource.data = this.model.listaAuditoresConvidados.map(\r\n (auditor) => ({\r\n paaId: auditor.paaId,\r\n coordenacaoId: auditor.coordenacaoId,\r\n ano: auditor.ano,\r\n auditorId: auditor.auditorId,\r\n nomeCoordenacao: auditor?.nomeCoordenacao,\r\n nomeDispensa: auditor.nomeDispensa,\r\n nomeAuditor: (auditor.nomeAuditor.charAt(0).toUpperCase() + auditor.nomeAuditor.slice(1)),\r\n selecionado:\r\n this.model.paaEquipeAuditor.findIndex(\r\n (a) => a.auditorId === auditor.auditorId\r\n ) >= 0,\r\n })\r\n );\r\n this.auditorOutraCoordenacaoSemDados =\r\n this.auditorOutraCoordenacaoDataSource.data.length === 0;\r\n this.auditorOutraCoordenacaoDataSource._updateChangeSubscription();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n\r\n ngOnChangeDataInicio(event:any): void {\r\n if(event)\r\n this.validaData(this.model.dataInicio, true);\r\n }\r\n\r\n ngOnChangeDataFim(event:any): void {\r\n if(event)\r\n this.validaData(this.model.dataFim, false);\r\n }\r\n\r\n public async validaData(dataReferencia: Date, isDataInicial: boolean){\r\n if(!dataReferencia)\r\n return false;\r\n\r\n if(dataReferencia.getFullYear() != this.data.ano){\r\n if(isDataInicial){\r\n this.msgValidacaoDataInicio = \"Ano precisar ser igual ao do PAAC\";\r\n }else{\r\n this.msgValidacaoDataFim = \"Ano precisar ser igual ao do PAAC\";\r\n }\r\n this.setDataObrigatoria();\r\n\r\n return false;\r\n }\r\n\r\n const validacao = await this.paaService.VerificaDataAlocacao(this.dateHelper.toString(dataReferencia), isDataInicial, this.model?.paaDistribuicao?.tipoAuditoria?.id);\r\n\r\n if(validacao.sucesso){\r\n if(validacao.dados && isDataInicial){\r\n this.houveSugestaoData = true;\r\n this.dataInvalida = false;\r\n this.dataFinalSugerida = new Date(validacao.dados);\r\n this.model.dataFim = new Date(validacao.dados);\r\n }\r\n }else{\r\n this.dataInvalida = true;\r\n this.exibirMensagemErro(validacao.mensagem.descricao);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n public incluirAuditor() {\r\n if (this.novoAuditor) {\r\n this.auditorDataSource.data.push(\r\n this.auditoresDisponiveisDataSource.find(\r\n (a) => a.auditorId === this.novoAuditor\r\n )\r\n );\r\n this.auditorDataSource._updateChangeSubscription();\r\n this.auditoresDisponiveisDataSource = this.model.listaAuditores.filter(\r\n (auditor) =>\r\n this.auditorDataSource.data.findIndex(\r\n (a) => a.auditorId === auditor.auditorId\r\n ) < 0\r\n );\r\n this.novoAuditor = null;\r\n }\r\n }\r\n\r\n public excluirAuditor(element: IPaaCoordenacaoAuditorModel) {\r\n this.auditorDataSource.data.splice(\r\n this.auditorDataSource.data.findIndex(\r\n (a) => a.auditorId === element.auditorId\r\n ),\r\n 1\r\n );\r\n this.auditorDataSource._updateChangeSubscription();\r\n this.auditoresDisponiveisDataSource = this.model.listaAuditores.filter(\r\n (auditor) =>\r\n this.auditorDataSource.data.findIndex(\r\n (a) => a.auditorId === auditor.auditorId\r\n ) < 0\r\n );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.tabela1.sort({ id: 'nome', start: 'asc' } as MatSortable);\r\n this.auditorDataSource.sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'nome':\r\n return item.nomeAuditor;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n this.auditorDataSource.sort = this.tabela1;\r\n\r\n this.tabela2.sort({ id: 'nome', start: 'asc' } as MatSortable);\r\n this.auditorOutraCoordenacaoDataSource.sortingDataAccessor = (\r\n item,\r\n property\r\n ) => {\r\n switch (property) {\r\n case 'nome':\r\n return item.nomeAuditor;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n this.auditorOutraCoordenacaoDataSource.sort = this.tabela2;\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n public verificarDatas() {\r\n\r\n if (this.model.dataInicio == null || this.model.dataFim == null) {\r\n this.setDataObrigatoria();\r\n this.exibirMensagemErro('Por favor, preencha os campo com a data incial e data fim');\r\n return false;\r\n }\r\n if(this.model.dataInicio.getFullYear() != this.data?.ano\r\n || this.model.dataFim.getFullYear() != this.data?.ano){\r\n this.setDataObrigatoria();\r\n this.exibirMensagemErro('O ano do período precisar ser igual ao do PAAC.');\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public setDataObrigatoria() {\r\n this.dataObrigatoria = true;\r\n }\r\n\r\n public async concluir() {\r\n const validaOutrosAuditorSelecionados = this.auditorOutraCoordenacaoDataSource.data.filter(\r\n (d) => d.selecionado\r\n );\r\n\r\n const validaAuditorSelecionados = this.auditorDataSource.data.filter(\r\n (d) => d.selecionado\r\n );\r\n\r\n if(!validaOutrosAuditorSelecionados.length && !validaAuditorSelecionados.length){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: \"Selecione um auditor para inserir a alocação.\",\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n return;\r\n }\r\n\r\n if(this.dataInvalida == true){\r\n this.exibirMensagemErro(\"Data inválida\");\r\n return false;\r\n }\r\n\r\n if(this.houveSugestaoData && this.model.dataFim > this.dataFinalSugerida)\r\n {\r\n Swal.fire({\r\n title: 'Atenção',\r\n text: \"O período informado é maior do que o definido para o tipo de auditoria. Deseja continuar?\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n if (res.value) {\r\n if (this.verificarDatas()) {\r\n this.model.listaAuditores = this.auditorDataSource.data.filter(\r\n (d) => d.selecionado\r\n );\r\n this.model.listaAuditoresConvidados = this.auditorOutraCoordenacaoDataSource.data.filter(\r\n (d) => d.selecionado\r\n );\r\n\r\n this.salvar();\r\n }\r\n }\r\n });\r\n }else{\r\n if (this.verificarDatas()) {\r\n this.model.listaAuditores = this.auditorDataSource.data.filter(\r\n (d) => d.selecionado\r\n );\r\n this.model.listaAuditoresConvidados = this.auditorOutraCoordenacaoDataSource.data.filter(\r\n (d) => d.selecionado\r\n );\r\n\r\n this.salvar();\r\n }\r\n }\r\n\r\n }\r\n\r\n private async salvar() {\r\n\r\n const validacao = await this.paaService.validarAlocacaoEquipe(this.model);\r\n\r\n const alocadosReq = validacao.dados.alocados.length ? this.percorrerObjetoComAlertsAlocados(validacao?.dados?.alocados) : of([]);\r\n const dispensadosReq = validacao.dados.dispensados.length ? this.percorrerObjetoComAlertsDispensados(validacao.dados.dispensados): of([]);\r\n\r\n forkJoin({\r\n alocados: alocadosReq,\r\n dispensados: dispensadosReq\r\n }).subscribe(()=> this.atualizarAlocacao());\r\n }\r\n\r\n percorrerObjetoComAlertsAlocados(validacao: any) {\r\n const keys = validacao;\r\n return this.exibirAlertaPorChaveAlocados(keys, 0);\r\n }\r\n\r\n percorrerObjetoComAlertsDispensados(validacao: any) {\r\n const keys = validacao;\r\n return this.exibirAlertaPorChaveDispensados(keys, 0);\r\n }\r\n\r\n // Função recursiva para exibir os SweetAlerts em sequência\r\n exibirAlertaPorChaveAlocados(validacao: any, index: number): Observable {\r\n if (index >= validacao.length) {\r\n return of(undefined);\r\n }\r\n const chaveAtual = validacao[index];\r\n return (this.validarAlocados(chaveAtual)).pipe(\r\n concatMap(() => this.exibirAlertaPorChaveAlocados(validacao, index + 1))\r\n );\r\n }\r\n\r\n exibirAlertaPorChaveDispensados(validacao: any, index: number): Observable {\r\n if (index >= validacao.length) {\r\n return of(undefined);\r\n }\r\n const chaveAtual = validacao[index];\r\n return (this.validarDispensados(chaveAtual)).pipe(\r\n concatMap(() => this.exibirAlertaPorChaveDispensados(validacao, index + 1))\r\n );\r\n }\r\n\r\n private validarAlocados(validacao: any): Observable {\r\n return new Observable((observer) => {\r\n\r\n let text = '';\r\n\r\n //text += `
\\n O(s) auditor(es) selecionado(s) ${validacao.nomeAuditor}, pertencem a outra coordenação, ${validacao.nomeCoordenacao}. \\n

`\r\n text += `
\\n O(s) auditor(es) selecionado(s) ${validacao.nomeAuditor}, já possui alocação para o mesmo período. \\n

`\r\n\r\n Swal.fire({\r\n title: 'Alocar equipe',\r\n html: `${text}`,\r\n icon: 'warning',\r\n showConfirmButton: false,\r\n showCancelButton: true,\r\n cancelButtonText: 'Ok',\r\n timerProgressBar: true,\r\n }).then((result) => {\r\n\r\n const listaConvidados = this.model.listaAuditoresConvidados.filter(x => x.auditorId !== validacao.auditorId);\r\n this.model.listaAuditoresConvidados =[...listaConvidados];\r\n const lista = this.model.listaAuditores.filter(x => x.auditorId !== validacao.auditorId);\r\n this.model.listaAuditores =[...lista];\r\n observer.next();\r\n observer.complete();\r\n });\r\n });\r\n }\r\n\r\n private validarDispensados(validacao: any): Observable {\r\n return new Observable((observer) => {\r\n let text = '';\r\n\r\n text += `
\\n O Auditor selecionado ${validacao.nomeAuditor} não está disponível para período alocado, está com a dispensa ${validacao.nomeDispensa}. \\n

`\r\n\r\n Swal.fire({\r\n title: 'Alocar equipe',\r\n html: `${text}
\\nDeseja continuar ?
`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n timerProgressBar: true,\r\n }).then((result) => {\r\n\r\n if (result.isConfirmed) {\r\n observer.next();\r\n observer.complete();\r\n this.atulizarListaDispensados(validacao);\r\n } else {\r\n // observer.error('Ação cancelada');\r\n observer.next();\r\n observer.complete();\r\n }\r\n });\r\n });\r\n }\r\n\r\n public obterEquipeIndisponivel(): IPaaCoordenacaoAuditorModel[] {\r\n var auditoresIndisponiveis: IPaaCoordenacaoAuditorModel[] = [] as IPaaCoordenacaoAuditorModel[];\r\n\r\n var concatenarAuditores = [...this.model.listaAuditores.filter(_ => _.selecionado), ...this.model.listaAuditoresConvidados.filter(_ => _.selecionado)]\r\n var auditoresCoordenacao = this.obterAuditoresCapacidadeTrabalho().reduce((a, b) => a.concat(b));\r\n\r\n concatenarAuditores.map(a => {\r\n let auditorIndisponivel = auditoresCoordenacao.find(_ => _.coordenacaoId == this.model?.paaDistribuicao?.tipoAuditoria?.coordenacao?.id && a.auditorId === _.auditorId)\r\n auditorIndisponivel?.auditorId ? null : auditoresIndisponiveis.push(a);\r\n })\r\n\r\n return auditoresIndisponiveis;\r\n }\r\n\r\n public async validarEquipeDisponivel() {\r\n const auditoresIndisponiveis = this.obterEquipeIndisponivel();\r\n\r\n let quantidade = auditoresIndisponiveis.length > 1;\r\n\r\n if (auditoresIndisponiveis.length > 0) {\r\n let text = quantidade ?\r\n `O(s) auditor(es) selecionado(s) ${auditoresIndisponiveis.map(_ => _.nomeAuditor).join(', ')} não estão disponíveis para auditoria.` :\r\n `O auditor selecionado ${auditoresIndisponiveis.map(_ => _.nomeAuditor).join(', ')} não esta disponível para auditoria.`\r\n Swal.fire({\r\n title: 'Alocar equipe',\r\n text: `${text} \\nDeseja continuar ?`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(res => {\r\n if (res.value) {\r\n this.atualizarAlocacao()\r\n }\r\n }).catch();\r\n } else {\r\n this.atualizarAlocacao()\r\n }\r\n }\r\n\r\n private atualizarAlocacao() {\r\n this.paaService\r\n .atualizarAlocacaoEquipe(this.model)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n res.dados.alertas.forEach((alerta) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: alerta,\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n })\r\n });\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro salvo com sucesso',\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n })\r\n this.dialogRef.close(this.model);\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n title: res.mensagem.descricao,\r\n text: validacoes,\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n })\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n private atulizarListaAlocacao(alocado: any){\r\n this.model.listaAuditoresConvidados.push(alocado);\r\n }\r\n\r\n private atulizarListaDispensados(dispensado: any){\r\n this.model.listaAuditores.push(dispensado);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n private montarMensagensValidacao(model: IBaseModel) {\r\n let validacaoTexto = '';\r\n\r\n if (model.resultadoValidacao) {\r\n validacaoTexto = '';\r\n for (const val of model.resultadoValidacao) {\r\n validacaoTexto += ` • ${val.errorMessage}`;\r\n }\r\n }\r\n\r\n return validacaoTexto;\r\n }\r\n\r\n public concatUg(sigla, nome) {\r\n return sigla + ' - ' + nome;\r\n }\r\n\r\n public obterAuditoresCapacidadeTrabalho(): IPaaCoordenacaoAuditorModel[][] {\r\n return JSON.parse(localStorage.getItem('auditores')) as IPaaCoordenacaoAuditorModel[][]\r\n }\r\n\r\n private exibirMensagemErro(texto: string){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: texto,\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n })\r\n }\r\n\r\n\r\n}\r\n\r\n","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\n\r\n\r\n@Component({\r\n selector: 'app-modal-alterar-tipo-auditoria',\r\n templateUrl: './modal-alterar-tipo-auditoria.component.html',\r\n styleUrls: ['./modal-alterar-tipo-auditoria.component.scss']\r\n})\r\nexport class ModalAlterarTipoAuditoriaComponent implements OnInit {\r\n public form = new FormGroup({\r\n justificativaTipoAuditoria: new FormControl('', Validators.required),\r\n });\r\n \r\n public titulo: string;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.titulo = data.titulo ?? \"Tem certeza que deseja reativar esse registro?\";\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.form.get('justificativaTipoAuditoria').value);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{titulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\n\r\n@Component({\r\n selector: 'app-modal-alterar-tipo-enfase',\r\n templateUrl: './modal-alterar-tipo-enfase.component.html',\r\n styleUrls: ['./modal-alterar-tipo-enfase.component.scss']\r\n\r\n})\r\nexport class ModalAlterarTipoEnfaseComponent implements OnInit {\r\n public form = new FormGroup({\r\n justificativaTipoEnfase: new FormControl('', Validators.required),\r\n });\r\n \r\n public titulo: string;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.titulo = data.titulo ?? \"Tem certeza que deseja reativar esse registro?\";\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.form.get('justificativaTipoEnfase').value);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","
\r\n
\r\n
\r\n

{{titulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort, MatSortable } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { ICriterioModel } from 'src/app/models/criterio.model';\r\n\r\n@Component({\r\n selector: 'app-modal-cadastrar-criterio',\r\n templateUrl: './modal-cadastrar-criterio.component.html',\r\n styleUrls: ['./modal-cadastrar-criterio.component.scss']\r\n})\r\nexport class ModalCadastrarCriterioComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public todosCriterios = [] as ICriterioModel[];\r\n public semDados = true;\r\n public displayedColumns = ['selecao', 'nome', 'tipoEntrada'];\r\n public searchNome: string;\r\n public selectedModel: any;\r\n public valorExibicao = 1;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.todosCriterios = data;\r\n this.dataSource.data = this.todosCriterios;\r\n this.dataSource._updateChangeSubscription();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.sort.sort(({ id: 'nome', start: 'asc'}) as MatSortable);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public buscar() {\r\n \r\n this.selectedModel = null;\r\n if(this.searchNome && this.searchNome != \"\"){\r\n this.dataSource.data = this\r\n .todosCriterios\r\n .filter(a => \r\n a\r\n .nome\r\n .normalize('NFD')\r\n .replace(/\\p{Diacritic}/gu, \"\")\r\n .toLocaleLowerCase()\r\n .includes(this\r\n .searchNome\r\n .normalize('NFD')\r\n .replace(/\\p{Diacritic}/gu, \"\")\r\n .toLocaleLowerCase())\r\n || a\r\n .tipoEntrada.descricao\r\n .normalize('NFD')\r\n .replace(/\\p{Diacritic}/gu, \"\")\r\n .toLocaleLowerCase()\r\n .includes(this\r\n .searchNome\r\n .normalize('NFD')\r\n .replace(/\\p{Diacritic}/gu, \"\")\r\n .toLocaleLowerCase()));\r\n }else{\r\n this.dataSource.data = this.todosCriterios;\r\n }\r\n\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = false;\r\n \r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close({criterio: this.selectedModel, valorExibicao: this.valorExibicao});\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n\r\n public itemAgrupador(index: number, item: any): boolean {\r\n return item.grupo;\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Buscar Critério

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Descrição {{element.nome}} Tipo entrada {{element.tipoEntrada.descricao}}
\r\n
Nenhum critério selecionado
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort, MatSortable } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IIndicadorModel } from 'src/app/models/indicador.model';\r\n\r\n@Component({\r\n selector: 'app-modal-cadastrar-indicador',\r\n templateUrl: './modal-cadastrar-indicador.component.html',\r\n styleUrls: ['./modal-cadastrar-indicador.component.scss']\r\n})\r\nexport class ModalCadastrarIndicadorComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public todosIndicadores = [] as IIndicadorModel[];\r\n public semDados = true;\r\n public displayedColumns = ['selecao', 'nome'];\r\n public searchNome: string;\r\n public selectedModel: any;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.todosIndicadores = data;\r\n this.dataSource.data = this.todosIndicadores;\r\n this.dataSource._updateChangeSubscription();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.sort.sort(({ id: 'nome', start: 'asc'}) as MatSortable);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n \r\n if(this.searchNome && this.searchNome != \"\"){\r\n this.dataSource.data = this\r\n .todosIndicadores\r\n .filter(a => \r\n a\r\n .nome\r\n .normalize('NFD')\r\n .replace(/\\p{Diacritic}/gu, \"\")\r\n .toLocaleLowerCase()\r\n .includes(this.searchNome.toLocaleLowerCase()));\r\n }else{\r\n this.dataSource.data = this.todosIndicadores;\r\n }\r\n\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = false;\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.selectedModel);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n\r\n public itemAgrupador(index: number, item: any): boolean {\r\n return item.grupo;\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Buscar Indicador

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Descrição {{element.nome}}
\r\n
Nenhum indicador selecionado
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { IPaaCoordenacaoCapacidadeModel } from 'src/app/models/paa-coordenacao-capacidade.model';\r\nimport { IPaaCoordenacaoDispensaModel } from 'src/app/models/paa-coordenacao-dispensa.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ITipoDispensaModel } from 'src/app/models/tipo-dispensa.model';\r\nimport { IAuditorCoordenacaoModel } from 'src/app/models/auditor-coordenacao.model';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { PaaService } from 'src/app/services/paa.service';\r\nimport { ICoordenacaoModel } from 'src/app/models/coordenacao.model';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-capacidade-dispensa',\r\n templateUrl: './modal-capacidade-dispensa.component.html',\r\n styleUrls: [ './modal-capacidade-dispensa.component.scss' ],\r\n})\r\nexport class ModalCapacidadeDispensaComponent implements OnInit {\r\n public model: IPaaCoordenacaoCapacidadeModel;\r\n public minDate: Date;\r\n public maxDate: Date;\r\n\r\n public modelNovaDispensa = {} as IPaaCoordenacaoDispensaModel;\r\n public dispensaDataSource = new MatTableDataSource([]);\r\n public auditorDataSource = new MatTableDataSource([]);\r\n\r\n public dispensaSemDados = true;\r\n public auditorSemDados = true;\r\n\r\n public tabelaTipoDispensa = [] as ITipoDispensaModel[];\r\n public tabelaAuditores = [] as IAuditorCoordenacaoModel[];\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n private paaService: PaaService,\r\n @Inject(MAT_DIALOG_DATA) data\r\n ) {\r\n this.minDate = new Date(data.ano, 1 - 1, 1);\r\n this.maxDate = new Date(data.ano, 12 - 1, 31);\r\n this.model = data.capacidade;\r\n this.model.auditor = this.model.auditor || [];\r\n\r\n this.modelNovaDispensa.dataFim = this.maxDate;\r\n this.modelNovaDispensa.dataInicio = this.minDate;\r\n\r\n this.tabelaTipoDispensa = data.tiposDispensas;\r\n this.tabelaAuditores = (data.coordenacao as ICoordenacaoModel).auditorCoordenacao;\r\n\r\n this.dispensaDataSource = new MatTableDataSource(this.model.dispensa);\r\n this.dispensaSemDados = this.dispensaDataSource.data.length === 0;\r\n\r\n // Montar lista de Auditores\r\n for (const auditor of this.tabelaAuditores) {\r\n this.auditorDataSource.data.push({\r\n paaId: this.model.paaId,\r\n coordenacaoId: this.model.coordenacaoId,\r\n ano: this.model.ano,\r\n auditorId: auditor.auditorId,\r\n nomeAuditor: auditor.nomeAuditor,\r\n selecionado:\r\n this.model.auditor.findIndex((a) => a.auditorId === auditor.auditorId && a.selecionado) >= 0,\r\n });\r\n }\r\n\r\n this.auditorSemDados = this.auditorDataSource.data.length === 0;\r\n this.auditorDataSource._updateChangeSubscription();\r\n }\r\n\r\n ngOnInit(): void {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n public incluirDispensa() {\r\n \r\n this.modelNovaDispensa.paaId = this.model.paaId;\r\n this.modelNovaDispensa.coordenacaoId = this.model.coordenacaoId;\r\n this.modelNovaDispensa.ano = this.model.ano;\r\n this.modelNovaDispensa.nomeAuditor = this.tabelaAuditores.find(\r\n (f) => f.id === this.modelNovaDispensa.auditorId\r\n ).nomeAuditor;\r\n this.modelNovaDispensa.tipoDispensa = this.tabelaTipoDispensa.find(\r\n (f) => f.id === this.modelNovaDispensa.tipoDispensaId\r\n );\r\n\r\n var duplicada = this.dispensaDataSource.data.filter(\r\n (_) =>\r\n _.auditorId == this.modelNovaDispensa.auditorId &&\r\n ((this.modelNovaDispensa.dataInicio >= _.dataInicio && this.modelNovaDispensa.dataFim <= _.dataFim) ||\r\n (this.modelNovaDispensa.dataFim >= _.dataInicio && this.modelNovaDispensa.dataFim <= _.dataFim) ||\r\n (this.modelNovaDispensa.dataInicio >= _.dataInicio &&\r\n this.modelNovaDispensa.dataInicio <= _.dataFim))\r\n );\r\n\r\n if (duplicada.length > 0) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: 'Existe uma dispensa já cadastrada neste período para este auditor!',\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.dispensaDataSource.data.push(cloneDeep(this.modelNovaDispensa));\r\n this.dispensaDataSource._updateChangeSubscription();\r\n this.modelNovaDispensa = {} as IPaaCoordenacaoDispensaModel;\r\n this.dispensaSemDados = false;\r\n }\r\n }\r\n\r\n public excluirDispensa(ind: number) {\r\n Swal.fire({\r\n title: 'Excluir Registro',\r\n text: 'Tem certeza que deseja excluir esse Registro?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n if (res.value) {\r\n this.dispensaDataSource.data.splice(ind, 1);\r\n this.dispensaDataSource._updateChangeSubscription();\r\n this.dispensaSemDados = this.dispensaDataSource.filteredData.length === 0;\r\n }\r\n });\r\n }\r\n\r\n public concluir() {\r\n this.model.dispensa = this.dispensaDataSource.data;\r\n this.model.auditor = this.auditorDataSource.data.filter((d) => d.selecionado);\r\n\r\n this.paaService\r\n .atualizarCapacidadeTrabalho(this.model.paaId, this.model)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro salvo com sucesso!',\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n });\r\n this.dialogRef.close(true);\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n });\r\n });\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n public UpdateDataInicio(event: any) {\r\n this.modelNovaDispensa.dataInicio = event.targt.value;\r\n }\r\n public UpdateDataFim(event: any) {\r\n this.modelNovaDispensa.dataFim = event.targt.value;\r\n }\r\n\r\n public getPeriodoFormatado(dtInicio, dtFim) {\r\n var dataInicio = new Date(dtInicio);\r\n var dataFim = new Date(dtFim);\r\n var strDataInicio = dataInicio.getDate() + '/' + dataInicio.getMonth() + '/' + dataInicio.getFullYear();\r\n var strDataFim = dataFim.getDate() + '/' + dataFim.getMonth() + '/' + dataFim.getFullYear();\r\n \r\n return strDataInicio + ' a ' + strDataFim;\r\n }\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t

Definir Capacidade de Trabalho

\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ item.nomeAuditor }}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t Adicionar\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tAuditor\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nomeAuditor }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tDescrição\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.tipoDispensa.nome }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tDias\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.dias }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tPeríodo\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{getPeriodoFormatado(element.dataInicio, element.dataFim)}}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tNenhuma dispensa cadastrada\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tAuditor\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nomeAuditor }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t Ok\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t Cancelar\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Component, OnInit, ViewChild, Inject } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\n\r\n@Component({\r\n selector: 'app-modal-confirmar-reativacao-distribuicao',\r\n templateUrl: './modal-confirmar-reativacao-distribuicao.component.html',\r\n styleUrls: ['./modal-confirmar-reativacao-distribuicao.component.scss']\r\n})\r\nexport class ModalConfirmarReativacaoDistribuicaoComponent implements OnInit {\r\n public form = new FormGroup({\r\n justificativa: new FormControl('', Validators.required),\r\n });\r\n \r\n public titulo: string;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.titulo = data.titulo ?? \"Tem certeza que deseja reativar esse registro?\";\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.form.get('justificativa').value);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

{{titulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-modal-descricao-paac',\r\n templateUrl: './modal-descricao-paac.component.html',\r\n styleUrls: ['./modal-descricao-paac.component.scss']\r\n})\r\nexport class ModalDescricaoDiasUteisComponent implements OnInit {\r\n diasDisponiveis: number;\r\n qntDiasPorAuditor: number;\r\n numAuditoriaPorEquipe: number;\r\n numAuditoriaPorEquipeArred: number;\r\n numEquipeDisponiveis: number;\r\n capacidadeTotalPorCoord: number;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data: any\r\n ) {\r\n // Inicialização das propriedades com os dados recebidos\r\n this.diasDisponiveis = data.capacidade.diasDisponiveis;\r\n this.qntDiasPorAuditor = data.capacidade.qntDiasPorAuditor;\r\n this.numAuditoriaPorEquipe = data.capacidade.numAuditoriaPorEquipe;\r\n this.numAuditoriaPorEquipeArred = data.capacidade.numAuditoriaPorEquipeArred;\r\n this.numEquipeDisponiveis = data.capacidade.numEquipeDisponiveis;\r\n this.capacidadeTotalPorCoord = data.capacidade.capacidadeTotalPorCoord;\r\n }\r\n\r\n ngOnInit(): void {\r\n // Aqui você pode adicionar lógica adicional de inicialização, se necessário\r\n }\r\n\r\n public onClose(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n // Exemplo de método para verificar se um objeto está vazio\r\n public isObjectEmpty(obj: any): boolean {\r\n return obj === null || obj === undefined || Object.keys(obj).length === 0;\r\n }\r\n}\r\n","
\r\n\t\r\n\t\t
\r\n\t\t\t

\r\n\t\t\t\tCálculo da Capacidade Total PAAC (Planejamento e Especial)\r\n\t\t\t

\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
Dias disponíveis (A){{ diasDisponiveis }}
Quantidade de dias por auditoria (B){{ qntDiasPorAuditor || 0 }}
Número de auditorias por equipe (C) = (A/B){{ numAuditoriaPorEquipe || 0 }}
\r\n\t\t\t\t\t\t\t\tNúmero de auditorias por equipe (D) -\r\n\t\t\t\t\t\t\t\tarredondado\r\n\t\t\t\t\t\t\t{{ numAuditoriaPorEquipeArred || 0 }}
Número de equipe disponível (E){{ numEquipeDisponiveis || 0 }}
\r\n\t\t\t\t\t\t\t\tCapacidade total por coordenação = (D x\r\n\t\t\t\t\t\t\t\t\tE)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\tcapacidadeTotalPorCoord || 0\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t Fechar\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n","
\r\n
\r\n
\r\n

Entranhar Documento do PAAC ao Processo do PEAC

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IEntranharDocumentoModel } from 'src/app/models/edocs/entranhar-documento.model';\r\nimport { IPapelModel } from 'src/app/models/edocs/papel.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { EdocsService } from 'src/app/services/edocs.service';\r\nimport { OpaService } from 'src/app/services/opa.service';\r\nimport { OsaService } from 'src/app/services/osa.service';\r\nimport { PaaService } from 'src/app/services/paa.service';\r\nimport { PlanejamentoService } from 'src/app/services/planejamento.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-entranhar',\r\n templateUrl: './modal-entranhar.component.html',\r\n styleUrls: ['./modal-entranhar.component.scss']\r\n})\r\nexport class ModalEntranharComponent implements OnInit {\r\n private tipoTrabalhoId: number;\r\n public tipoTrabalho: number;\r\n public comentario: string;\r\n public model = {} as IEntranharDocumentoModel;\r\n public papeis = [] as IPapelModel[];\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n public toastr: ToastrService,\r\n private edocsService: EdocsService,\r\n private paaService: PaaService,\r\n public opaService: OpaService,\r\n public osaService: OsaService,\r\n public planejamentoService: PlanejamentoService,\r\n private authService: AuthService,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.tipoTrabalhoId = data.tipoTrabalhoId;\r\n this.tipoTrabalho = data.tipoTrabalho;\r\n this.comentario = data.comentario;\r\n }\r\n\r\n async ngOnInit() {\r\n await this.obterPapeis();\r\n }\r\n\r\n public async obterPapeis() {\r\n\r\n try {\r\n const res = await this.edocsService.obterPapeis();\r\n if (res.sucesso) {\r\n this.papeis = res.dados;\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n })\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n })\r\n }\r\n }\r\n\r\n public async concluir() {\r\n\r\n try {\r\n let res;\r\n this.model.comentario = this.comentario;\r\n if(!this.tipoTrabalho){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Tipo de Trabalho indefinido',\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n })\r\n }\r\n else if(this.tipoTrabalho === 1){\r\n res = await this.paaService.homologar(this.tipoTrabalhoId, this.model)\r\n }\r\n else if(this.tipoTrabalho === 2){\r\n res = await this.opaService.homologar(this.tipoTrabalhoId, this.model)\r\n }\r\n else if(this.tipoTrabalho === 3){\r\n res = await this.planejamentoService.homologar(this.tipoTrabalhoId, this.model)\r\n }\r\n else if(this.tipoTrabalho === 4){\r\n res = await this.osaService.homologar(this.tipoTrabalhoId, this.model)\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Item homologado com sucesso!',\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n })\r\n this.dialogRef.close(true);\r\n this.matDialog.closeAll();\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n })\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n })\r\n }\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { IEnviarQuestionarioModel } from 'src/app/models/enviar-questionario.model';\r\nimport { NaturezaResponsabilidadeService } from 'src/app/services/natureza-responsabilidade.service';\r\nimport { ParametrizacaoService } from 'src/app/services/parametrizacao.service';\r\nimport { LookupModalComponent } from 'src/app/shared/components/lookup-modal/lookup-modal.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-enviar-questionario-criterio',\r\n templateUrl: './modal-enviar-questionario-criterio.component.html',\r\n styleUrls: ['./modal-enviar-questionario-criterio.component.scss']\r\n})\r\nexport class ModalEnviarQuestionarioCriterioPaaComponent implements OnInit {\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n public model: IEnviarQuestionarioModel = {} as IEnviarQuestionarioModel;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n private naturezaResponsabilidadeService: NaturezaResponsabilidadeService,\r\n private parametrizacaoService: ParametrizacaoService,\r\n public matDialog: MatDialog) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.parametrizacaoService.obterPorId('pea-prazo-padrao')\r\n .then(res => {\r\n this.model.prazoDias = res.dados.valor;\r\n });\r\n }\r\n\r\n public concluir() {\r\n if (Number(this.model.prazoDias) <= 0){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'O prazo não pode ser menor que 1',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n } \r\n this.dialogRef.close(this.model);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n \r\n public async exibirModalNaturezaResponsabilidade() {\r\n try {\r\n const res = await this.naturezaResponsabilidadeService.obter('', true);\r\n if (res.sucesso) {\r\n const modal = this.exibirModal('Selecionar Natureza da Responsabilidade', res.dados);\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n this.model.naturezaResponsabilidadeId = data.id;\r\n this.model.naturezaResponsabilidadeNome = data.nome;\r\n }\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n \r\n public exibirModal(titulo: string, dados: any, exibirId = false, customizeColumns = null): MatDialogRef {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component-natureza';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = { titulo, dados, exibirId, customizeColumns };\r\n return this.matDialog.open(LookupModalComponent, dialogConfig);\r\n }\r\n\r\n public onChangePreencherPrazo(event){\r\n this.model.prazoDias = event.target.value;\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Detalhes do Envio

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n","import { Component, Inject, Input, OnChanges, OnInit } from '@angular/core';\r\nimport {\r\n MatDialog,\r\n MatDialogRef,\r\n MAT_DIALOG_DATA,\r\n} from '@angular/material/dialog';\r\nimport { IPaaGraficoCoordenacaoModel } from 'src/app/models/paa-grafico-coordenacao.model';\r\nimport { IPaaGraficoModel } from 'src/app/models/paa-grafico.model';\r\nimport { TemplateImpressao } from './template-impressao';\r\n\r\n@Component({\r\n selector: 'app-modal-grafico-distribuicao',\r\n templateUrl: './modal-grafico-distribuicao.component.html',\r\n styleUrls: ['./modal-grafico-distribuicao.component.scss'],\r\n})\r\nexport class ModalGraficoDistribuicaoComponent implements OnChanges, OnInit {\r\n public dados = [] as IPaaGraficoModel[];\r\n public coordenacoes = [];\r\n @Input() public dadosImprimir: IPaaGraficoModel[] = [] as IPaaGraficoModel[];\r\n\r\n constructor(\r\n public matDialog: MatDialog,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data: IPaaGraficoModel[]\r\n ) {\r\n if (data[0]) {\r\n this.dados = data.sort(function (a, b) {\r\n return a.siglaUnidadeGestora.toUpperCase() < b.siglaUnidadeGestora.toUpperCase() ? -1 : a.siglaUnidadeGestora.toUpperCase() > b.siglaUnidadeGestora.toUpperCase() ? 1 : 0;\r\n });}\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.dados[0]) {\r\n this.ordenarCoordenacoes();\r\n }\r\n }\r\n\r\n ngOnChanges(): void {\r\n if (Object.keys(this.dadosImprimir[0] ?? {}).length !== 0) {\r\n this.dados = this.dadosImprimir.sort(function (a, b) {\r\n return a.siglaUnidadeGestora.toUpperCase() < b.siglaUnidadeGestora.toUpperCase() ? -1 : a.siglaUnidadeGestora.toUpperCase() > b.siglaUnidadeGestora.toUpperCase() ? 1 : 0;\r\n });\r\n }\r\n if (this.dados[0]) {\r\n this.ordenarCoordenacoes();\r\n }\r\n }\r\n\r\n\r\n public ordenarCoordenacoes() {\r\n this.coordenacoes = this.removeDuplicates(this.dados.map(_ => _.paaGraficoCoordenacoes).reduce((a, b) => a.concat(b)), 'siglaCoordenacao');\r\n }\r\n\r\n public removeDuplicates(originalArray: IPaaGraficoCoordenacaoModel[], prop: string) {\r\n var newArray = [];\r\n var lookupObject = {};\r\n for (var i in originalArray) {\r\n lookupObject[originalArray[i][prop]] = originalArray[i];\r\n }\r\n for (i in lookupObject) {\r\n newArray.push(lookupObject[i]);\r\n }\r\n return newArray;\r\n }\r\n\r\n public ObterEstiloCoordenacao(\r\n coordenacao: IPaaGraficoCoordenacaoModel\r\n ): string {\r\n const dataInicio = new Date(coordenacao?.dataInicio);\r\n const dataFim = new Date(coordenacao?.dataFim);\r\n\r\n const coordColor = this.stringToColor(coordenacao?.nomeCoordenacao);\r\n\r\n if (dataInicio.getFullYear() < dataFim.getFullYear()) {\r\n return (\r\n 'grid-column: ' +\r\n (dataInicio.getMonth() + 1) +\r\n '/13' +\r\n '; background-color: ' +\r\n coordColor +\r\n ';'\r\n );\r\n }\r\n\r\n return (\r\n 'grid-column: ' +\r\n (dataInicio.getMonth() + 1) +\r\n '/' +\r\n (dataFim.getMonth() + 2) +\r\n '; background-color: ' +\r\n coordColor +\r\n ';'\r\n );\r\n }\r\n\r\n public ObterEstiloLegendaCoordenacao(\r\n coordenacao: IPaaGraficoCoordenacaoModel\r\n ): string {\r\n const coordColor = this.stringToColor(coordenacao.nomeCoordenacao);\r\n\r\n return (\r\n 'background-color: ' +\r\n coordColor +\r\n '; margin-bottom: 0.5rem; width: 50%'\r\n );\r\n }\r\n\r\n public obterDescricaoCoordenacao(\r\n coordenacao: IPaaGraficoCoordenacaoModel\r\n ): string {\r\n if (!coordenacao) {\r\n return '';\r\n }\r\n\r\n const dataInicio = new Date(coordenacao.dataInicio);\r\n const dataFim = new Date(coordenacao.dataFim);\r\n\r\n return (\r\n 'Coordenação: ' +\r\n coordenacao?.nomeCoordenacao +\r\n ' \\n' +\r\n 'Data Início: ' +\r\n dataInicio?.toLocaleDateString() +\r\n ' \\n' +\r\n 'Data Fim: ' +\r\n dataFim?.toLocaleDateString() +\r\n ' \\n' +\r\n 'Auditores: ' +\r\n coordenacao?.nomeAuditores +\r\n ' \\n' +\r\n 'Tipo de Auditoria:' +\r\n coordenacao?.tipoAuditoria\r\n );\r\n }\r\n\r\n public obterDescricaoCoordenacaoLegenda(\r\n coordenacao: IPaaGraficoCoordenacaoModel\r\n ): string {\r\n if (!coordenacao) {\r\n return '';\r\n }\r\n\r\n return (\r\n 'Coordenação: ' +\r\n coordenacao?.nomeCoordenacao \r\n );\r\n }\r\n\r\n public stringToColor(text: string): string {\r\n let hash = 0;\r\n if (!text || text.length === 0) {\r\n return hash.toString();\r\n }\r\n for (let i = 0; i < text.length; i++) {\r\n // tslint:disable-next-line: no-bitwise\r\n hash = text.charCodeAt(i) + ((hash << 5) - hash);\r\n // tslint:disable-next-line: no-bitwise\r\n hash = hash & hash;\r\n }\r\n let color = '#';\r\n for (let i = 0; i < 3; i++) {\r\n // tslint:disable-next-line: no-bitwise\r\n const value = (hash >> (i * 8)) & 255;\r\n color += ('00' + value.toString(16)).substr(-2);\r\n }\r\n return color;\r\n }\r\n\r\n public imprimir(idHtmlName) {\r\n var conteudo = document.getElementById(idHtmlName).innerHTML, tela_impressao = window.open('about:blank');\r\n\r\n let template = TemplateImpressao(conteudo)\r\n\r\n tela_impressao.document.write(template);\r\n tela_impressao.window.print();\r\n tela_impressao.window.close();\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
Exibição do Gráfico de Distribuição
\r\n \r\n
\r\n
0}\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Unidade Gestora
\r\n JanFevMar\r\n AbrMaiJun\r\n JulAgoSet\r\n OutNovDez\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{ un.siglaUnidadeGestora }}\r\n
\r\n
    \r\n
  • \r\n {{ coord.siglaCoordenacao }}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
    \r\n
  • \r\n {{ coord.siglaCoordenacao }}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","export const TemplateImpressao = (conteudo: string) => {\r\n return `\r\n \r\n \r\n \r\n \r\n \r\n \r\n Document\r\n \r\n \r\n \r\n ${conteudo}\r\n \r\n \r\n `\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { toIntlNumberString } from 'src/app/core/helpers/number.helper';\r\nimport { IPaaCriterioRespostaModel } from 'src/app/models/paa-criterio-resposta.model';\r\n\r\n@Component({\r\n selector: 'app-modal-importar-arquivo-criterio-paa',\r\n templateUrl: './modal-importar-arquivo-criterio-paa.component.html',\r\n styleUrls: ['./modal-importar-arquivo-criterio-paa.component.scss']\r\n})\r\nexport class ModalImportarArquivoCriterioPaaComponent {\r\n public conteudoArquivo: string;\r\n public respostas = [] as IPaaCriterioRespostaModel[];\r\n public conteudoValido: boolean;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.respostas = data.respostas as IPaaCriterioRespostaModel[];\r\n }\r\n\r\n public onFileChange(event) {\r\n const reader = new FileReader();\r\n if (event.target.files && event.target.files.length > 0) {\r\n const file = event.target.files[0];\r\n reader.readAsText(file);\r\n reader.onload = () => {\r\n this.conteudoArquivo = reader.result.toString();\r\n this.lerValidarArquivo();\r\n };\r\n }\r\n }\r\n\r\n public lerValidarArquivo() {\r\n if (!this.conteudoArquivo) {\r\n this.conteudoValido = false;\r\n return;\r\n }\r\n\r\n let erros = 0;\r\n this.conteudoArquivo.split('\\n').forEach(l => {\r\n if (l.trim().length > 0 && l.split(';').length !== 2) {\r\n erros++;\r\n } else {\r\n const resposta = this.respostas.find(r => r.unidadeGestora?.codigoUg?.toString() === l.split(';')[0]);\r\n if (resposta) {\r\n const valor = parseFloat(toIntlNumberString(l.split(';')[1]));\r\n if (isNaN(valor)) {\r\n erros++;\r\n } else {\r\n resposta.valorNumerico = valor;\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.conteudoValido = erros === 0;\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.respostas);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Importar Arquivo de Respostas

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Conteúdo do arquivo validado e disponível para\r\n importação

\r\n

Arquivo com formato ou formato inválido

\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { AfterViewInit, Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport Inputmask from 'inputmask';\r\nimport { toIntlNumberString } from 'src/app/core/helpers/number.helper';\r\n\r\n@Component({\r\n selector: 'app-modal-preencher-formulario-paa',\r\n templateUrl: './modal-preencher-formulario-paa.component.html',\r\n styleUrls: ['./modal-preencher-formulario-paa.component.scss']\r\n})\r\nexport class ModalPreencherFormularioPaaComponent implements OnInit, AfterViewInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public displayedColumns = ['ug', 'valor'];\r\n public semDados = true;\r\n public visualizar = false;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.dataSource = new MatTableDataSource(data.respostas);\r\n this.visualizar = data.visualizar;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n public concluir() {\r\n const respostas = this.dataSource.data;\r\n for (const item of respostas) {\r\n item.valorNumerico = item.valorNumerico ? parseFloat(toIntlNumberString(item.valorNumerico.toString())) : undefined;\r\n }\r\n this.dialogRef.close(respostas);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Preencher Formulário

\r\n

Visualizar Respostas

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
Unidade Gestora {{element.unidadeGestora.nome}} Valor \r\n \r\n {{element.valorNumerico | number:'1.2-2':'pt-br'}}
\r\n
Sem dados a exibir
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IPaaRankingPrioridadeModel } from 'src/app/models/paa-ranking-prioridade.model';\r\nimport { RankingDistribuicaoService } from 'src/app/services/ranking-prioridade.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-ranking-prioridade',\r\n templateUrl: './modal-ranking-prioridade.component.html',\r\n styleUrls: ['./modal-ranking-prioridade.component.scss']\r\n})\r\nexport class ModalRankingPrioridadeComponent {\r\n\r\n public rankingPrioridadeDataSource = new MatTableDataSource([]);\r\n public rankingPrioridadeEmpresasPublicasDataSource = new MatTableDataSource([]);\r\n public semDadosRanking = false;\r\n public semDadosRankingEmpresaPublica = false;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public rankingService: RankingDistribuicaoService,\r\n @Inject(MAT_DIALOG_DATA) public data) {\r\n this.obterRankingPrioridade()\r\n }\r\n\r\n public obterRankingPrioridade() {\r\n this.rankingService\r\n .obterRankingDistribuicaoSimplificado(this.data.id, this.data.indicadorId, 2)\r\n .then((res) => {\r\n \r\n const lista = res.dados.filter(_ => !_.unidadeGestora.empresaPublica).map(_ => ({ ..._, nome: _.unidadeGestora.nome, sigla: _.unidadeGestora.sigla, codigoUg: _.unidadeGestora.codigoUg }));\r\n this.rankingPrioridadeDataSource = new MatTableDataSource(lista as unknown as IPaaRankingPrioridadeModel[]);\r\n this.rankingPrioridadeDataSource._updateChangeSubscription();\r\n this.semDadosRanking = this.rankingPrioridadeDataSource.data.length === 0;\r\n\r\n const listaPublicas = res.dados.filter(_ => _.unidadeGestora.empresaPublica).map(_ => ({ ..._, nome: _.unidadeGestora.nome, sigla: _.unidadeGestora.sigla, codigoUg: _.unidadeGestora.codigoUg }));\r\n this.rankingPrioridadeEmpresasPublicasDataSource = new MatTableDataSource(listaPublicas as unknown as IPaaRankingPrioridadeModel[]);\r\n this.rankingPrioridadeEmpresasPublicasDataSource._updateChangeSubscription();\r\n this.semDadosRankingEmpresaPublica = this.rankingPrioridadeEmpresasPublicasDataSource.data.length === 0;\r\n\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n}\r\n\r\n\r\n public concluir() {\r\n this.dialogRef.close();\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Visualizar o ranking de prioridade do indicador {{ data.nomeIndicador}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort, MatSortable } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { IPaaDistribuicaoColunasModel } from 'src/app/models/paa-distribuicao-colunas.model';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\n\r\n@Component({\r\n selector: 'app-modal-selecionar-colunas',\r\n templateUrl: './modal-selecionar-colunas.component.html',\r\n styleUrls: ['./modal-selecionar-colunas.component.scss']\r\n})\r\nexport class ModalSelecionarColunasComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public todosIndicesCriterios = [] as IPaaDistribuicaoColunasModel[];\r\n public semDados = true;\r\n public displayedColumns = ['selecao', 'nome'];\r\n public searchNome: string;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.todosIndicesCriterios = data;\r\n this.dataSource.data = data.map(d => {\r\n return { id: d.id, ativo: d.ativo, nome: d.nomeIndicador ? d.nomeIndicador + '/' + d.nomeCriterio : d.nomeCriterio };\r\n });\r\n this.dataSource._updateChangeSubscription();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.sort.sort(({ id: 'nome', start: 'asc'}) as MatSortable);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.dataSource.data);\r\n }\r\n\r\n public itemAgrupador(index: number, item: any): boolean {\r\n return item.grupo;\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Ocultar e Exibir Colunas

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Critério/Índice {{element.nome}}
\r\n
Nenhuma Coluna a exibir.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort, MatSortable } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\n\r\n@Component({\r\n selector: 'app-modal-selecionar-ug',\r\n templateUrl: './modal-selecionar-ug.component.html',\r\n styleUrls: ['./modal-selecionar-ug.component.scss']\r\n})\r\nexport class ModalSelecionarUGComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public todasUnidadesGestoras = [] as IUnidadeGestoraModel[];\r\n public semDados = true;\r\n public displayedColumns = ['selecao', 'sigla', 'nome'];\r\n public searchNome: string;\r\n public selectedModel: any;\r\n public noItemSelected: boolean = true;\r\n public modoSelecaoMultiplo: boolean = false;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.todasUnidadesGestoras = data.dados;\r\n this.modoSelecaoMultiplo = data.modoSelecaoMultiplo ?? false;\r\n this.dataSource.data = this.todasUnidadesGestoras;\r\n this.dataSource._updateChangeSubscription();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.sort.sort(({ id: 'nome', start: 'asc'}) as MatSortable);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n this.dataSource.data = this.todasUnidadesGestoras.filter(a =>\r\n (a.nome.toLowerCase().includes(this.searchNome.trim().toLowerCase())) ||\r\n (a.sigla.toLowerCase().includes(this.searchNome.trim().toLowerCase()))\r\n );\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = false;\r\n }\r\n\r\n public concluir() {\r\n\r\n if(this.modoSelecaoMultiplo){\r\n let selectedUgs = this.dataSource.data.filter(s => s.selecao == true);\r\n this.dialogRef.close(selectedUgs);\r\n }else{\r\n this.dialogRef.close(this.selectedModel);\r\n }\r\n \r\n }\r\n\r\n public selecionar(item: any) {\r\n \r\n if(this.modoSelecaoMultiplo){\r\n item.selecao = !item.selecao;\r\n this.dataSource._updateChangeSubscription();\r\n \r\n let selecionados = this.dataSource.data.filter(s => s.selecao == true);\r\n this.noItemSelected = selecionados.length == 0;\r\n }else{\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n this.noItemSelected = !this.selectedModel;\r\n }\r\n }\r\n\r\n public itemAgrupador(index: number, item: any): boolean {\r\n return item.grupo;\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n \r\n}\r\n","
\r\n
\r\n
\r\n

Selecionar Unidade Gestora

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Sigla {{element.sigla}} Nome {{element.nome}}
\r\n
Nenhuma Unidade Gestora selecionada
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ICriterioQuestionarioModel } from 'src/app/models/criterio-questionario.model';\r\nimport { ICriterioModel } from 'src/app/models/criterio.model';\r\nimport { IPerguntaModel } from 'src/app/models/pergunta.model';\r\n\r\n@Component({\r\n selector: 'app-modal-visualizar-questionario-criterio',\r\n templateUrl: './modal-visualizar-questionario-criterio.component.html',\r\n styleUrls: ['./modal-visualizar-questionario-criterio.component.scss']\r\n})\r\nexport class ModalVisualizarQuestionarioCriterioPaaComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n public model: ICriterioQuestionarioModel = {} as ICriterioQuestionarioModel;\r\n public criterioDataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) data: IBaseModel) {\r\n if (data) {\r\n this.model = data.dados.find(_ => _);\r\n this.criterioDataSource = new MatTableDataSource(data.dados.map(_ => _.criterio));\r\n this.criterioDataSource._updateChangeSubscription();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public fechar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Visualizar Questionário

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Pergunta\r\n {{ element?.pergunta?.nome }}\r\n Tipo de Entrada\r\n {{element?.pergunta?.tipoEntrada?.descricao}}\r\n Unidade de Medida \r\n {{element?.unidade}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n","import { MatSort, MatSortable } from '@angular/material/sort';\r\nimport { ModalAlocarEquipeComponent } from './modal-alocar-equipe/modal-alocar-equipe.component';\r\nimport { Component, OnInit, ViewChild , EventEmitter, Output} from '@angular/core';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { ModalGraficoDistribuicaoComponent } from './modal-grafico-distribuicao/modal-grafico-distribuicao.component';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { ICriterioPaaModel } from 'src/app/models/criterio-paa.model';\r\nimport { IPaaUnidadeGestoraModel } from 'src/app/models/paa-unidade-gestora.model';\r\nimport Swal from 'sweetalert2';\r\nimport { Location } from '@angular/common';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { IPaaDadosBasicosModel } from 'src/app/models/paa-dados-basicos.model';\r\nimport { PeriodoService } from 'src/app/services/periodo.service';\r\nimport { IPeaRankingPrioridadeModel } from 'src/app/models/pea-ranking-prioridade.model';\r\nimport { DateHelper } from 'src/app/core/helpers/date.helper';\r\n\r\n //MODELS\r\n import { IPaaModel } from 'src/app/models/paa.model';\r\n import { IPaaCoordenacaoAuditorModel } from 'src/app/models/paa-coordenacao-auditor.model';\r\n import { IPaaDistribuicaoModel } from 'src/app/models/paa-distribuicao.model';\r\n import { ITipoAuditoriaModel } from 'src/app/models/tipo-auditoria.model';\r\n import { IRelatoriaCapituloModel } from 'src/app/models/relatoria-capitulo.model';\r\n import { ITipoEnfaseModel } from 'src/app/models/tipo-enfase.model';\r\n import { ICargaCriterioPeaModel } from 'src/app/models/carga-criterio-pea.model';\r\n import { IPaaInformacoesBasicasModel } from 'src/app/models/paa-informacoes-basicas.model';\r\n \r\n\r\n //COMPONENTS\r\n import { ModalConfirmarReativacaoDistribuicaoComponent } from './modal-confirmar-reativacao-distribuicao/modal-confirmar-reativacao-distribuicao.component';\r\n import { ModalSelecionarUGComponent } from './modal-selecionar-ug/modal-selecionar-ug.component';\r\n import { ModalSelecionarColunasComponent } from './modal-selecionar-colunas/modal-selecionar-colunas.component';\r\n\r\n //SERVICES\r\n import { PaaService } from 'src/app/services/paa.service';\r\n import { TipoAuditoriaService } from 'src/app/services/tipo-auditoria.service';\r\n import { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\n import { TipoDispensaService } from 'src/app/services/tipo-dispensa.service';\r\n import { CoordenacaoService } from 'src/app/services/coordenacao.service';\r\n import { CriterioService } from 'src/app/services/criterio.service';\r\n import { IndicadorService } from 'src/app/services/indicador.service';\r\n import { TipoEnfaseService } from 'src/app/services/tipo-enfase.service';\r\n import { PeaService } from 'src/app/services/pea.service';\r\n \r\n\r\n\r\n@Component({\r\n selector: 'app-paa-elaborar',\r\n templateUrl: './paa-elaborar.component.html',\r\n styleUrls: ['./paa-elaborar.component.scss'],\r\n})\r\nexport class PaaElaborarComponent extends BaseFormComponent implements OnInit {\r\n\r\n @Output() public abaEmitter: EventEmitter = new EventEmitter();\r\n public paaInformacoesBasicas: IPaaInformacoesBasicasModel = {} as IPaaInformacoesBasicasModel;\r\n public peaHomologado = false;\r\n \r\n public modelDadosBasicos: IPaaDadosBasicosModel = {} as IPaaDadosBasicosModel;\r\n \r\n public ugDataSource = new MatTableDataSource([]); \r\n \r\n public model: IPaaModel = {} as IPaaModel;\r\n public ugSemDados = true;\r\n public criteriosIndicadoresSemDados = true;\r\n public criterioSemDados = true;\r\n public tituloAbas : string;\r\n\r\n \r\n public semDadosRankingEmpresaPublica = false;\r\n public semDadosRanking = false;\r\n public rankingPrioridadeEmpresasPublicasDataSource = new MatTableDataSource([]);\r\n public rankingPrioridadeDataSource = new MatTableDataSource([]);\r\n public visualizarBotaoFormulario = false;\r\n public criterioDataSource = new MatTableDataSource([]);\r\n\r\n pisoAlto: string;\r\n tetoAlto: string;\r\n pisoMedio: string;\r\n tetoMedio: string;\r\n pisoBaixo: string;\r\n tetoBaixo: string;\r\n \r\n public disalibilitarinput = false;\r\n\r\n public relatoriaDados: IRelatoriaCapituloModel[] = null;\r\n public visualizarRelatoria = false;\r\n\r\n public aba = 1;\r\n public salvarDadosPendente = false;\r\n public paa : IPaaModel = {} as IPaaModel;\r\n public tiposAuditorias: ITipoAuditoriaModel[];\r\n public tiposEnfase: ITipoEnfaseModel[];\r\n public usuarioCoordenadorPaa = false;\r\n public paaHomologado = false;\r\n public historico:boolean;\r\n\r\n public nomeTitulo: string;\r\n\r\n public filtroEnfase = {} as FiltroModel;\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n //periodoId: new FormControl(null, Validators.required),\r\n dataInicio: new FormControl(''),\r\n dataFim: new FormControl(''),\r\n //indicadorId: new FormControl(null, Validators.required),\r\n peaId: new FormControl(''),\r\n origem: new FormControl('', Validators.required),\r\n subcapitulo: new FormControl(''),\r\n origemAuditoria: new FormControl({ value: '', disabled: true }),\r\n });\r\n\r\n @ViewChild('tabela1') public tabela1: MatSort;\r\n @ViewChild('tabela2') public tabela2: MatSort;\r\n \r\n @ViewChild('tabela5') public tabela5: MatSort;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort; \r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private _location: Location,\r\n private paaService: PaaService,\r\n private peaService: PeaService,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n private tipoDispensaService: TipoDispensaService,\r\n private coordenacaoService: CoordenacaoService,\r\n private tipoAuditoriaService: TipoAuditoriaService,\r\n private periodoService: PeriodoService,\r\n public matDialog: MatDialog,\r\n public criterioService: CriterioService,\r\n public authService: AuthService,\r\n public indicadorService: IndicadorService,\r\n private activatedRoute: ActivatedRoute,\r\n private tipoEnfaseService: TipoEnfaseService,\r\n private dateHelper: DateHelper,\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n\r\n if (this.model) {\r\n this.form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n //numeroOpa: new FormControl({ value: '', disabled: true }),\r\n origemAuditoria: new FormControl({ value: '', disabled: true }),\r\n //indicadorId: new FormControl(null, Validators.required),\r\n peaId: new FormControl(null, Validators.required),\r\n dataInicio: new FormControl('', Validators.required),\r\n dataFim: new FormControl('', Validators.required),\r\n /* dataElaboracao: new FormControl({ value: '', disabled: true }),\r\n tipoAuditoriaId: new FormControl('', Validators.required),*/\r\n unidadeGestoraNome: new FormControl({ value: '' }),\r\n unidadeGestoraId: new FormControl({ value: '' }),\r\n /*dataInicioPrevista: new FormControl('', Validators.required),\r\n dataFimPrevista: new FormControl('', Validators.required),\r\n objeto: new FormControl('', Validators.required),\r\n dataInicioRealizacao: new FormControl(''),\r\n dataFimRealizacao: new FormControl(''),\r\n auditorCoordenacaoId: new FormControl('', Validators.required),\r\n notaRodape: new FormControl(''),\r\n tipoEnfaseId: new FormControl('') */\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n config: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n // ['bold']\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n async ngOnInit() {\r\n\r\n this.aba = 0;\r\n this.buscar()\r\n }\r\n\r\n \r\n\r\n \r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values); \r\n }\r\n\r\n \r\n \r\n\r\n public async buscarInformacoesBasicas(){\r\n\r\n await this.paaService.buscarInformacoesBasicas(this.id)\r\n .then((res)=> {\r\n if(res.sucesso)\r\n this.paaInformacoesBasicas = res.dados;\r\n })\r\n }\r\n\r\n public async buscar() {\r\n \r\n await this.buscarInformacoesBasicas();\r\n this.atribuirTitulo();\r\n \r\n }\r\n\r\n \r\n\r\n private verificarUsuarioCoordenador(paa: IPaaModel) {\r\n this.usuarioCoordenadorPaa = false;\r\n\r\n if (this.authService.possuiPerfis(['Coordenador'])) {\r\n this.coordenacaoService\r\n .obterCoordenacoesCoordenador()\r\n .then((resCoordenacoes) => {\r\n let encontrou = false;\r\n\r\n if (resCoordenacoes.dados && resCoordenacoes.dados.length > 0) {\r\n resCoordenacoes.dados.forEach(function eachCoordenacao(\r\n coordenacao\r\n ) {\r\n paa.paaCoordenacao.forEach(function eachCoordenacaoPaa(\r\n coordenacaoPaa\r\n ) {\r\n if (coordenacao.id === coordenacaoPaa.coordenacaoId) {\r\n encontrou = true;\r\n }\r\n });\r\n });\r\n this.usuarioCoordenadorPaa = encontrou;\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n groupByColumns: string[] = [];\r\n columnsLabel: any[] = [\r\n {\r\n field: 'criterio',\r\n label: 'Indicador/Critério',\r\n },\r\n {\r\n field: 'unidadeMedida',\r\n label: 'Unidade de medida',\r\n },\r\n {\r\n field: 'tipoEntrada',\r\n label: 'Tipo de Entrada',\r\n },\r\n ];\r\n columns: any[] = [\r\n {\r\n field: 'criterio',\r\n label: 'Critério',\r\n },\r\n {\r\n field: 'unidadeMedida',\r\n label: 'Unidade de medida',\r\n },\r\n {\r\n field: 'tipoEntrada',\r\n label: 'Tipo de Entrada',\r\n },\r\n {\r\n field: 'acoes',\r\n },\r\n {\r\n field: 'actions',\r\n },\r\n ];\r\n _alldata: ICriterioPaaModel[];\r\n displayedColumns: string[];\r\n\r\n\r\n public async mudarAba(ind: number) {\r\n if (this.novoRegistro || (this.aba === 0 && this.salvarDadosPendente)) {\r\n this.exibirMensagemErro('Por favor, salve os dados antes de prosseguir');\r\n\r\n return;\r\n }\r\n\r\n this.aba = ind;\r\n await this.buscar();\r\n }\r\n\r\n public getnomeAuditores(auditores: IPaaCoordenacaoAuditorModel[]): string {\r\n return auditores.map((e) => e.nomeAuditor).join(',');\r\n }\r\n\r\n public cancelar() {\r\n this._location.back();\r\n }\r\n\r\n \r\n\r\n public agrupadorCriterio(index: number, item: any): boolean {\r\n return item.grupo;\r\n }\r\n\r\n public subTotalCriterio(index: number, item: any): boolean {\r\n return item.subTotal;\r\n }\r\n\r\n \r\n\r\n public async verificarDuplicidadeUG(\r\n distribuicao: number,\r\n unidadeGestoraId: number\r\n ) {\r\n const res = await this.paaService.obterPorId(distribuicao);\r\n if (!res.dados.paaUnidadeGestora || res.dados.paaUnidadeGestora.length <= 0) return true;\r\n\r\n const duplicada = res.dados.paaUnidadeGestora?.filter(\r\n (_) => _.unidadeGestoraId == unidadeGestoraId\r\n );\r\n if (duplicada?.length == 0) {\r\n return true;\r\n }\r\n\r\n var obrigatoria = duplicada?.filter(\r\n (_) => _.unidadeGestora.auditoriaObrigatoria == true\r\n );\r\n if (obrigatoria?.length > 0 && obrigatoria?.length < 2) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public async incluirUG() {\r\n\r\n this.unidadeGestoraService.obter({ pagina: 0, itensPorPagina: 10000 } as FiltroModel)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.maxHeight = '80vh';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n // dialogConfig.data = res.dados.resultado.filter(\r\n // (_) => !this.distribuicaoDataSource.data.find((d) => _.id === d.id)\r\n // );\r\n const modal = this.matDialog.open(\r\n ModalSelecionarUGComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe(async (data) => {\r\n const dialogConfigJustificativa = new MatDialogConfig();\r\n dialogConfigJustificativa.id = 'modal-component';\r\n dialogConfigJustificativa.width = '650px';\r\n dialogConfigJustificativa.hasBackdrop = true;\r\n dialogConfigJustificativa.disableClose = true;\r\n dialogConfigJustificativa.data = {titulo: \"Tem certeza que deseja incluir a UG?\"};\r\n const modalJustificativa = this.matDialog.open(\r\n ModalConfirmarReativacaoDistribuicaoComponent,\r\n dialogConfig\r\n );\r\n\r\n modalJustificativa.afterClosed().subscribe((item) => {\r\n if (data && item) {\r\n const distribuicao = {} as IPaaDistribuicaoModel;\r\n distribuicao.ativo = true;\r\n distribuicao.paaId = this.paa.id;\r\n distribuicao.unidadeGestoraId = data.id;\r\n distribuicao.manual = true;\r\n distribuicao.justificativa = item;\r\n const verificarDuplicidade = this.verificarDuplicidadeUG(\r\n distribuicao.paaId,\r\n distribuicao.unidadeGestoraId\r\n );\r\n\r\n if (verificarDuplicidade) {\r\n (async () => {\r\n const result = await this.paaService.adicionarDistribuicao(distribuicao);\r\n try {\r\n if (result.sucesso) {\r\n this.exibirMensagemSucesso('Unidade Gerencial adicionada com sucesso');\r\n await this.buscar();\r\n } else {\r\n this.exibirMensagemErro(result.mensagem.descricao);\r\n }\r\n } catch (error) {\r\n this.exibirMensagemErro(error.mensagem.descricao);\r\n } finally {\r\n //this.obterPainelDistribuicao();\r\n //this.obterAlocacoesEquipes();\r\n }\r\n })()\r\n } else {\r\n this.exibirMensagemErro('Essa UG já está incluida');\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public async redirectTo(uri: string) {\r\n this.router\r\n .navigateByUrl('/', { skipLocationChange: true })\r\n .then(() => this.router.navigate([uri]));\r\n }\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n // public async obterTiposAuditorias() {\r\n // return this.tipoAuditoriaService.obter('', true).then((res) => {\r\n // this.tiposAuditorias = res?.dados.filter(a => {\r\n // const res = this.capacidadeDataSource.data.find(b => a?.coordenacaoId === b?.coordenacaoId);\r\n // if (res?.coordenacaoId) {\r\n // return a;\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n public async obterTiposEnfase(){\r\n this.filtroEnfase.itensPorPagina = 99;\r\n this.filtroEnfase.ativo = true;\r\n return this.tipoEnfaseService.obter(this.filtroEnfase).then((res) =>\r\n {\r\n this.tiposEnfase = res?.dados.resultado;\r\n })\r\n }\r\n\r\n \r\n\r\n \r\n public lowerCase(nome: string) {\r\n return nome.toLowerCase().replace(/(?:^|\\s)\\S/g, (X) => X.toUpperCase());\r\n }\r\n \r\n\r\n addGroups(data: any[], groupByColumns: string[]): any[] {\r\n const rootGroup = new Group();\r\n rootGroup.expanded = true;\r\n return this.getSublevel(data, 0, groupByColumns, rootGroup);\r\n }\r\n\r\n groupBy(key) {\r\n return function group(array) {\r\n return array.reduce((acc, obj) => {\r\n const property = obj[key];\r\n acc[property] = acc[property] || [];\r\n acc[property].push(obj);\r\n return acc;\r\n }, {});\r\n };\r\n }\r\n\r\n getSublevel(\r\n data: any[],\r\n level: number,\r\n groupByColumns: string[],\r\n parent: Group\r\n ): any[] {\r\n if (level >= groupByColumns.length) {\r\n return data;\r\n }\r\n\r\n const currentColumn = groupByColumns[level];\r\n\r\n const groupByCurrentColumn = this.groupBy(currentColumn);\r\n\r\n const groups = this.uniqueBy(\r\n Object.entries(groupByCurrentColumn(data))\r\n .map(([k, v]) => ({ [k]: v }))\r\n .map((row) => {\r\n const result = new Group();\r\n result.level = level + 1;\r\n result.parent = parent;\r\n result.data = row[Object.keys(row)[0]][0];\r\n for (let i = 0; i <= level; i++) {\r\n result[groupByColumns[i]] = Object.keys(row)[0];\r\n }\r\n return result;\r\n }),\r\n JSON.stringify\r\n );\r\n\r\n let subGroups = [];\r\n groups.forEach((group) => {\r\n const rowsInGroup = data.filter(\r\n (row) => group[currentColumn] === row[currentColumn]\r\n );\r\n group.totalCounts = rowsInGroup.length;\r\n const subGroup = this.getSublevel(\r\n rowsInGroup,\r\n level + 1,\r\n groupByColumns,\r\n group\r\n );\r\n subGroup.unshift(group);\r\n subGroups = subGroups.concat(subGroup);\r\n });\r\n return subGroups;\r\n }\r\n\r\n uniqueBy(a, key) {\r\n const seen = {};\r\n return a.filter((item) => {\r\n const k = key(item);\r\n return seen.hasOwnProperty(k) ? false : (seen[k] = true);\r\n });\r\n }\r\n\r\n isGroup(index, item): boolean {\r\n return item.level;\r\n }\r\n\r\n \r\n\r\n private compare(a, b, isAsc) {\r\n return (a < b ? -1 : 1) * (isAsc ? 1 : -1);\r\n }\r\n\r\n \r\n\r\n \r\n \r\n\r\n public async obterDados() { \r\n }\r\n\r\n \r\n\r\n public exibirRespostas(id: number) { \r\n }\r\n\r\n public preencherFormularioCriterio(id: number) { \r\n }\r\n\r\n public importarArquivoCriterio(id: number) { \r\n }\r\n\r\n public atribuirTitulo(){\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo PAAC';\r\n this.tituloAbas = \"Novo PAAC\";\r\n } else if (this.visualizar) {\r\n this.titulo = 'Visualizar PAAC - ' + this.paaInformacoesBasicas.nome;\r\n this.tituloAbas = 'Visualizar PAAC - ' + this.paaInformacoesBasicas.nome;\r\n } else {\r\n this.titulo = 'Editar PAAC - ' + this.paaInformacoesBasicas.nome;\r\n this.tituloAbas = 'Editar PAAC - ' + this.paaInformacoesBasicas.nome;\r\n }\r\n }\r\n\r\n public setSubmit(value: boolean){\r\n this.submit = value;\r\n }\r\n\r\n public editarColunas() {\r\n\r\n this.paaService\r\n .obterPainelDistribuicaoColunas(this.paaInformacoesBasicas.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = res.dados;\r\n const modal = this.matDialog.open(\r\n ModalSelecionarColunasComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n this.paaService\r\n .AlterarSatusDistribuicaoColunas(data)\r\n .then((resAssociar) => {\r\n if (resAssociar.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Colunas alteradas com sucesso',\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(resAssociar.mensagem.descricao);\r\n }\r\n })\r\n .catch((errAssociar) => {\r\n this.exibirMensagemAlerta(errAssociar.mensagem.descricao);\r\n })\r\n .finally(() => {\r\n //this.obterPainelDistribuicao();\r\n });\r\n }\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 2000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public obterTipoTrabalho(){\r\n const idTipoTrabalhoPaac = 2;\r\n const idTipoTrabalhoPaacEspecial = 8;\r\n const idOrigemEspecial = 2;\r\n\r\n return this.paaInformacoesBasicas.origem == idOrigemEspecial ? idTipoTrabalhoPaacEspecial : idTipoTrabalhoPaac;\r\n }\r\n\r\n}\r\n\r\nexport class Group {\r\n level = 0;\r\n parent: Group;\r\n data: any;\r\n expanded = true;\r\n totalCounts = 0;\r\n get visible(): boolean {\r\n return !this.parent || (this.parent.visible && this.parent.expanded);\r\n }\r\n}\r\n","\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ tituloAbas }}\r\n\t\t\t\t\t\t

\r\n\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tDados\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tIndicadores e Critérios\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tCapacidade de Trabalho\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tPainel de Distribuição\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tAlocação de Equipes\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tRelatoria\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tLinha do Tempo\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. PAAC - Plano Anual de Auditoria e Controles
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n PAAC - Plano Anual de Auditoria e Controles\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n Ano {{element.ano}} PEAC {{element.pea?.nome}} PAAC {{element.nome}} Origem {{element?.origem?.descricao}} Situação \r\n Homologado\r\n Em\r\n Aprovação\r\n Em\r\n Elaboração\r\n
Período\r\n {{groupBy.nome}} -\r\n {{groupBy.dataInicio | date:'dd/MM/yyyy'}} a {{groupBy.dataFim |\r\n date:'dd/MM/yyyy'}} \r\n
\r\n
Sem dados a exibir
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort, MatSortable } from '@angular/material/sort';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Router } from '@angular/router';\r\nimport { PaaService } from 'src/app/services/paa.service';\r\nimport { IPaaModel } from 'src/app/models/paa.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport Swal from 'sweetalert2';\r\nimport { FiltroPaa } from 'src/app/models/filtro-paa.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\n\r\n@Component({\r\n selector: 'app-paa-list',\r\n templateUrl: './paa-list.component.html',\r\n styleUrls: ['./paa-list.component.scss']\r\n})\r\nexport class PaaListComponent extends BaseListComponent implements OnInit, AfterViewInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public dataOriginal = [];\r\n public selectedModel: any;\r\n public semDados = true;\r\n public paa = {} as IPaaModel;\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public filtro: FiltroPaa = {} as FiltroPaa;\r\n public pageEvent: any;\r\n public totalItens: number;\r\n\r\n public displayedColumns: string[] = [\r\n 'selecao',\r\n 'ano',\r\n 'pea',\r\n 'paa',\r\n 'origem',\r\n 'ativo',\r\n ];\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild('tabela1') public tabela1: MatSort;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(private toastr: ToastrService,\r\n private router: Router,\r\n private paaService: PaaService,\r\n public authService: AuthService,) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPAA, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPAA, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPAA, EnumAcaoRecurso.Excluir);\r\n this.permissoes.imprimir = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPAA, EnumAcaoRecurso.Imprimir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPAA, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPAA, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPAA, EnumAcaoRecurso.Visualizar);\r\n this.permissoes.enviarParaAprovacao = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPAA, EnumAcaoRecurso.EnviarParaAprovacao);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n this.configurarFiltro()\r\n this.buscar();\r\n }\r\n\r\n public async buscar() {\r\n this.selectedModel = null;\r\n \r\n this.paaService\r\n .obter(this.searchNome, this.searchAtivo, false, this.filtro)\r\n .then((res) => {\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n this.configurarFiltro();\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err?.mensagem?.descricao ?? \"Ocorreu um erro inesperado. Tente novamente mais tarde.\",\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n \r\n\r\n private configurarFiltro() {\r\n this.filtro.pagina = this.paginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.paginator.pageSize;\r\n this.filtro.colunaOrder = this.sort.active;\r\n this.filtro.direcao = this.sort.direction;\r\n }\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar()\r\n }\r\n\r\nsortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n}\r\n\r\n public sortingDataAccessor = (item: any, property: string) => {\r\n switch (property) {\r\n case 'pea':\r\n return item?.pea?.nome.trim().toLowerCase();\r\n case 'paa':\r\n return item?.nome.trim().toLowerCase(); \r\n case 'origem':\r\n return item.origem.descricao.trim().toLowerCase();\r\n case 'ativo':\r\n return item?.situacao?.nome.trim().toLowerCase();\r\n default:\r\n return item[property];\r\n }\r\n };\r\n\r\n elaborar(id: number){\r\n this.router.navigate([`/paa/${id}`]);\r\n }\r\n\r\n public relatorio(id: number) {\r\n this.router.navigate([`/paa/${id}/relatorio`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/paa/${id}/visualizar`]);\r\n }\r\n\r\n public itemAgrupador(index: number, item: any): boolean {\r\n return item.grupo;\r\n }\r\n\r\n public novo() {\r\n if (!this.permissoes.incluir) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: \"Você não possui permissão para incluir um PAAC.\",\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n }\r\n );\r\n return;\r\n } \r\n this.router.navigate(['/paa/novo']);\r\n }\r\n\r\n public excluir() { \r\n let id = this.selectedModel.id;\r\n if (!this.permissoes?.excluir) {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Erro',\r\n text: 'Você não tem permissão para excluir PAAC.',\r\n });\r\n return;\r\n }\r\n\r\n this.paaService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'PAAC excluído com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n title: 'Atenção',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n title: 'Erro',\r\n showConfirmButton: false,\r\n timer: 5000\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public botaoExcluirHidden() : boolean {\r\n if (this.selectedModel !== undefined && this.selectedModel !== null) {\r\n return !this.permissoes.excluir \r\n || this.selectedModel.situacao.nome === 'Homologado'\r\n || this.selectedModel.situacao.nome === 'EmAprovacao'\r\n || this.selectedModel.origem.nome === 'Planejada';\r\n } else {\r\n return true;\r\n } \r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

PAAC - {{ dados.paa?.pea?.nome }}

\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Indicador e Critérios

\r\n
\r\n
\r\n \r\n {{ indicador.nome }}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {{ criterio.criterio.nome }}\r\n
\r\n
\r\n \r\n {{ criterio.criterio.peso }}\r\n
\r\n
\r\n \r\n {{ criterio.criterio.tipoEntrada.nome }}\r\n
\r\n
\r\n \r\n 0\"\r\n >\r\n \r\n \r\n Métrica\r\n Nota\r\n \r\n \r\n \r\n \r\n \r\n {{ metrica.operacao1.descricao }}\r\n {{ metrica.valorNumerico1 | number: \"1.2\":\"pt\" }}\r\n 0\"\r\n >{{ metrica.operacao2.descricao }}\r\n {{\r\n metrica.valorNumerico2 | number: \"1.2\":\"pt\"\r\n }}\r\n \r\n \r\n {{ metrica.perguntaOpcao.nome }}\r\n {{ metrica.nota | number: \"1.2\":\"pt\" }}\r\n >\r\n \r\n {{ metrica.nota }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {{ criterio.nome }}\r\n
\r\n
\r\n \r\n {{ criterio.peso }}\r\n
\r\n
\r\n \r\n {{ criterio.tipoEntrada.nome }}\r\n
\r\n
\r\n \r\n 0\"\r\n >\r\n \r\n \r\n Métrica\r\n Nota\r\n \r\n \r\n \r\n \r\n \r\n {{ metrica.operacao1.descricao }}\r\n {{ metrica.valorNumerico1 | number: \"1.2\":\"pt\" }}\r\n 0\"\r\n >{{ metrica.operacao2.descricao }}\r\n {{\r\n metrica.valorNumerico2 | number: \"1.2\":\"pt\"\r\n }}\r\n \r\n {{ metrica.nota }}\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Capacidade de Trabalho

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
CoordenaçãoCapacidade TotalCapacidade Total do PEACAuditores
{{ item.coordenacaoSigla }}{{ item.capacidadeTotalCoordenacao }}{{ item.capacidadeTotalCoordenacaoPea }}{{ item.auditores }}
Total{{totalCapacidadeCoordenacaoes}}{{totalCapacidadeCoordenacaoesPea}}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Painel de Distribuição

\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Sigla\r\n \r\n \r\n {{\r\n element?.unidadeGestora\r\n ?.sigla\r\n }}\r\n Obrigatória\r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tValor de Risco Inerente\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement?.valorRisco\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n \r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ coluna }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tobterValorColuna(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcoluna\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t| number\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"1.2-2\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"pt-br\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n

Alocação de Equipes

\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Unidade GestoraTipo de AuditoriaData InícioData FimTipo ÊnfaseEquipe Alocada
\r\n

{{ item.paaDistribuicao?.unidadeGestora?.nome }}

\r\n
\r\n

{{ item.paaDistribuicao?.tipoAuditoria?.nome }}

\r\n
\r\n

{{ item.dataInicio | date: 'dd/MM/yyyy'}}

\r\n
\r\n

{{ item.dataFim | date: 'dd/MM/yyyy'}}

\r\n
\r\n

{{ item.tipoEnfase}}

\r\n
\r\n
\r\n

{{ itemAuditor.nomeAuditor }}

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ImprimirModel } from 'src/app/models/imprimir-model';\r\nimport { IPaaCoordenacaoCapacidadeModel } from 'src/app/models/paa-coordenacao-capacidade.model';\r\nimport { IPaaGraficoModel } from 'src/app/models/paa-grafico.model';\r\nimport { IPaaModel } from 'src/app/models/paa.model';\r\nimport { IPeriodoModel } from 'src/app/models/periodo.model';\r\nimport { AprovacaoService } from 'src/app/services/aprovacao.service';\r\nimport { PaaService } from 'src/app/services/paa.service';\r\nimport { GroupByPipe } from 'src/app/shared/pipes/groupby-pipe';\r\nimport { IPaaDistribuicaoModel } from 'src/app/models/paa-distribuicao.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IPaaDistribuicaoColunasModel } from 'src/app/models/paa-distribuicao-colunas.model';\r\nimport { MatSort, MatSortable } from '@angular/material/sort';\r\n\r\n\r\n@Component({\r\n selector: 'app-paa-relatorio',\r\n templateUrl: './paa-relatorio.component.html',\r\n styleUrls: ['./paa-relatorio.component.scss'],\r\n providers: [GroupByPipe]\r\n})\r\nexport class PaaRelatorioComponent implements OnInit {\r\n idParam: number;\r\n homologado = false;\r\n dados: ImprimirModel = {} as ImprimirModel;\r\n periodo: IPeriodoModel;\r\n public totalCapacidadeCoordenacaoes: number = 0 as number;\r\n public totalCapacidadeCoordenacaoesPea: number = 0 as number;\r\n espelho = false;\r\n filterPainelDistribuicao!: any[];\r\n listaEquipes!: string[];\r\n public grafico: IPaaGraficoModel[] = [] as IPaaGraficoModel[];\r\n groupedData: any;\r\n public distribuicaoDataSource = new MatTableDataSource([]);\r\n public columnsDistribuicaoOriginais1 = ['unidadeGestora', 'valorRisco'];\r\n public columnsDistribuicao = [];\r\n public colunasAdicionarDistribuicao = [];\r\n @ViewChild('tabela3') public tabela3: MatSort;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private localeService: BsLocaleService,\r\n private paaService: PaaService,\r\n private aprovacaoService: AprovacaoService,\r\n private groupByPipe: GroupByPipe\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.localeService.use('pt-br');\r\n const id = this.route.snapshot.paramMap.get('id');\r\n const path = this.route.snapshot.url.pop().toString();\r\n \r\n if (id) {\r\n this.idParam = parseInt(id, 10);\r\n }\r\n \r\n if (path === 'espelho-relatorio') {\r\n this.espelho = true;\r\n }\r\n \r\n this.obterDados();\r\n this.obterGrafico();\r\n \r\n }\r\n\r\n public async obterGrafico() {\r\n try {\r\n this.grafico = (await this.paaService.obterGrafico(Number(this.route.snapshot.paramMap.get('id')))).dados;\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n }\r\n }\r\n\r\n groupData() {\r\n if (this.dados && this.dados.indicadores) {\r\n this.groupedData = this.groupByPipe.transform(this.dados.indicadores);\r\n } else {\r\n this.groupedData = {}; // ou qualquer outro valor padrão desejado\r\n }\r\n}\r\n\r\n \r\ngetObjectKeys(obj: any): string[] {\r\n return obj ? Object.keys(obj) : [];\r\n}\r\n\r\n public async obterDados() {\r\n try {\r\n let res: IBaseModel;\r\n\r\n if (this.espelho) {\r\n const avaliacao = await this.aprovacaoService.imprimir(this.idParam);\r\n res = {\r\n sucesso: avaliacao.sucesso,\r\n dados: JSON.parse(avaliacao.dados),\r\n mensagem: avaliacao.mensagem,\r\n resultadoValidacao: avaliacao.resultadoValidacao\r\n } as IBaseModel;\r\n }\r\n else {\r\n res = await this.paaService.imprimir(this.idParam);\r\n }\r\n\r\n if (res.sucesso) {\r\n this.dados = res.dados;\r\n \r\n this.groupData();\r\n this.homologado = res.dados.paa.situacao.nome === 'Homologado';\r\n\r\n \r\n \r\n this.dados.capacidadeTrabalho = res.dados.capacidadeTrabalho.map((item) => {\r\n return {\r\n coordenacaoSigla: item.coordenacaoSigla,\r\n capacidadeTotalCoordenacao: item.capacidadeTotalCoordenacao as number,\r\n capacidadeTotalCoordenacaoPea: item.capacidadeTotalCoordenacaoPea as number,\r\n auditores: item.auditor.map(_ => _.nomeAuditor)\r\n } as IPaaCoordenacaoCapacidadeModel;\r\n });\r\n this.totalCapacidadeCoordenacaoes = res.dados.capacidadeTrabalho.map(_ => _.capacidadeTotalCoordenacao).reduce((sum, current) => sum + current, 0);\r\n this.totalCapacidadeCoordenacaoesPea = res.dados.capacidadeTrabalho.map(_ => _.capacidadeTotalCoordenacaoPea).reduce((sum, current) => sum + current, 0);\r\n \r\n this.dados.equipes = res.dados.equipes.filter(c => c.paaDistribuicao.ativo === true);\r\n this.colunasAdicionarDistribuicao = [];\r\n this.columnsDistribuicao = [];\r\n this.columnsDistribuicao = this.columnsDistribuicao.concat(\r\n Object.assign([], this.columnsDistribuicaoOriginais1)\r\n );\r\n\r\n var colunasNomes: any = {};\r\n if (res && res.dados && res.dados.painelDistribuicao && res.dados.painelDistribuicao[0] && res.dados.painelDistribuicao[0].colunasValores) {\r\n \r\n res.dados.painelDistribuicao[0].colunasValores.forEach((element) => {\r\n const nomeColuna = this.obterNomeColuna(element);\r\n\r\n colunasNomes[nomeColuna.toString()] = nomeColuna;\r\n\r\n this.columnsDistribuicao.push(nomeColuna);\r\n if (\r\n !this.colunasAdicionarDistribuicao.some((c) => c === nomeColuna)\r\n ) {\r\n this.colunasAdicionarDistribuicao.push(nomeColuna);\r\n }\r\n });\r\n }\r\n\r\n var dadosDistribuicao = res.dados.painelDistribuicao.map((item) => {\r\n if (item.tipoAuditoria?.id == 0)\r\n item.tipoAuditoriaId = null;\r\n item.unidadeGestora.sigla = item.unidadeGestora.sigla.toUpperCase();\r\n return item;\r\n });\r\n\r\n this.distribuicaoDataSource =\r\n new MatTableDataSource(dadosDistribuicao);\r\n this.distribuicaoDataSource._updateChangeSubscription();\r\n\r\n this.distribuicaoDataSource.sortingDataAccessor = (\r\n item: IPaaDistribuicaoModel,\r\n property\r\n ) => {\r\n switch (property) {\r\n case 'unidadeGestora':\r\n return item.unidadeGestora.sigla;\r\n\r\n case 'valorRisco':\r\n return item.valorRisco;\r\n\r\n case colunasNomes[property]:\r\n return parseFloat(\r\n this.obterValorColuna(item, property)\r\n .replace(/[.]/g, '')\r\n .replace(/[,]/g, '.') == ''\r\n ? '0'\r\n : this.obterValorColuna(item, property)\r\n .replace(/[.]/g, '')\r\n .replace(/[,]/g, '.')\r\n );\r\n default:\r\n return item[property];\r\n }\r\n };\r\n\r\n this.distribuicaoDataSource.sort = this.tabela3;\r\n \r\n\r\n }\r\n else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/paa']);\r\n }\r\n\r\n } catch (err) {\r\n console.error('Erro ao obter dados:', err);\r\n this.toastr.error(err?.mensagem?.descricao || 'Erro desconhecido', 'Atenção');\r\n this.router.navigate(['/paa']);\r\n }\r\n\r\n \r\n }\r\n\r\n private obterNomeColuna(element: IPaaDistribuicaoColunasModel) {\r\n return element.nomeIndicador && element.nomeIndicador !== ''\r\n ? element.nomeIndicador + ' / ' + element.nomeCriterio\r\n : element.nomeCriterio;\r\n }\r\n\r\n public obterValorColuna(\r\n element: IPaaDistribuicaoModel,\r\n coluna: string\r\n ): string {\r\n if (!element || !coluna) {\r\n return '';\r\n }\r\n\r\n const result = element.colunasValores.find(\r\n (x) => this.obterNomeColuna(x) === coluna\r\n );\r\n\r\n if (!result || !result.valorNumerico) {\r\n return '';\r\n }\r\n\r\n return result.valorNumerico.toFixed(2);\r\n }\r\n \r\n\r\n print(): void {\r\n window.print();\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate(['/paa']);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. {{titulo}}
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{titulo}}\r\n


\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Selecione os arquivos PEAC que deseja enviar para o\r\n E-Docs e arraste para definir sua ordemEnviar\r\n \r\n \r\n Documento {{element?.tipoDocumento?.descricao}}
\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Selecione os arquivos PAAC que deseja enviar para o\r\n E-Docs e arraste para definir sua ordemEnviar\r\n \r\n \r\n Documento {{element?.tipoDocumento?.descricao}}
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTable, MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IParametrizacaoDocumentoEdocsModel } from 'src/app/models/parametrizacao-documento-edocs.model';\r\nimport { ParametrizacaoDocumentoEdocsService } from 'src/app/services/parametrizacao-documento-edocs.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\n\r\n@Component({\r\n selector: 'app-parametrizacao-documento-edocs-form',\r\n templateUrl: './parametrizacao-documento-edocs-form.component.html',\r\n styleUrls: ['./parametrizacao-documento-edocs-form.component.scss']\r\n})\r\nexport class ParametrizacaoDocumentoEdocsFormComponent extends BaseFormComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public dataSourcePAA = new MatTableDataSource([]);\r\n\r\n @ViewChild('table') table: MatTable;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private paramService: ParametrizacaoDocumentoEdocsService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.titulo = 'Documentação E-Docs';\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n try {\r\n const res = await this.paramService.obter();\r\n if (res.sucesso) {\r\n this.dataSource = new MatTableDataSource(\r\n res.dados.filter(a => a?.tipoDocumentoId < 20).sort((a, b) => (a.ordem > b.ordem) ? 1 : -1));\r\n\r\n this.dataSourcePAA = new MatTableDataSource(\r\n res.dados.filter(a => a?.tipoDocumentoId >= 20).sort((a, b) => (a.ordem > b.ordem) ? 1 : -1));\r\n } else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/']);\r\n return;\r\n }\r\n\r\n\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/']);\r\n }\r\n }\r\n\r\n public async onSubmit() {\r\n\r\n try {\r\n const data = this.dataSource.data.concat(this.dataSourcePAA.data);\r\n const res = await this.paramService.atualizarTodos(data);\r\n\r\n if (res.sucesso) {\r\n this.toastr.success('Registro salvo com sucesso!', 'Sucesso');\r\n this.router.navigate(['/']);\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n\r\n this.toastr.warning(validacoes, res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n } \r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/']);\r\n }\r\n\r\n drop(event: CdkDragDrop) {\r\n moveItemInArray(this.dataSource.data, event.previousIndex, event.currentIndex);\r\n for (let i = 0; i < this.dataSource.data.length; i++) {\r\n this.dataSource.data[i].ordem = i + 1;\r\n }\r\n\r\n this.dataSource._updateChangeSubscription();\r\n }\r\n\r\n dropPAA(event: CdkDragDrop) {\r\n moveItemInArray(this.dataSourcePAA.data, event.previousIndex, event.currentIndex);\r\n for (let i = 0; i < this.dataSourcePAA.data.length; i++) {\r\n this.dataSourcePAA.data[i].ordem = i + 1;\r\n }\r\n\r\n this.dataSourcePAA._updateChangeSubscription();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Editar Parametrização

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { AfterViewInit, Component } from '@angular/core';\r\nimport Inputmask from 'inputmask';\r\nimport { BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { Subject } from 'rxjs';\r\nimport { IParametrizacaoModel } from 'src/app/models/parametrizacao.model';\r\nimport { ParametrizacaoService } from 'src/app/services/parametrizacao.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-parametrizacao-form',\r\n templateUrl: './modal-parametrizacao-form.component.html',\r\n styleUrls: ['./modal-parametrizacao-form.component.scss']\r\n})\r\nexport class ModalParametrizacaoFormComponent implements AfterViewInit {\r\n public model = {} as IParametrizacaoModel;\r\n public onClose: Subject;\r\n\r\n constructor(\r\n public bsModalRef: BsModalRef,\r\n private paramService: ParametrizacaoService) { }\r\n\r\n ngAfterViewInit() {\r\n this.onClose = new Subject();\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n public async concluir() {\r\n if (!this.model.valor || this.model.valor.length === 0) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'warning',\r\n text: 'Obrigatório informar um valor para a parametrização'\r\n });\r\n return;\r\n }\r\n\r\n try {\r\n const res = await this.paramService.atualizar(this.model);\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'success',\r\n text: 'Parametrização salva com sucesso'\r\n });\r\n this.onClose.next(true);\r\n this.bsModalRef.hide();\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n });\r\n }\r\n }\r\n\r\n public cancelar() {\r\n this.onClose.next(null);\r\n this.bsModalRef.hide();\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { BsModalService } from 'ngx-bootstrap/modal';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IParametrizacaoModel } from 'src/app/models/parametrizacao.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { ParametrizacaoService } from 'src/app/services/parametrizacao.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\nimport { ModalParametrizacaoFormComponent } from './modal-parametrizacao-form/modal-parametrizacao-form.component';\r\n\r\n@Component({\r\n selector: 'app-parametrizacao-list',\r\n templateUrl: './parametrizacao-list.component.html',\r\n styleUrls: ['./parametrizacao-list.component.scss']\r\n})\r\nexport class ParametrizacaoListComponent extends BaseListComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IParametrizacaoModel;\r\n\r\n public displayedColumns: string[] = [\r\n 'selecao',\r\n 'id',\r\n 'descricao',\r\n 'valor',\r\n ];\r\n\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private paramService: ParametrizacaoService,\r\n private modalService: BsModalService,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscar();\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Configuracoes, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Configuracoes, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Configuracoes, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Configuracoes, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Configuracoes, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Configuracoes, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.paramService\r\n .obter(this.searchNome)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n title: 'Atenção',\r\n text: err.mensagem.descricao\r\n });\r\n })\r\n }\r\n\r\n\r\n public editar(id: string) {\r\n const modal = this.modalService.show(ModalParametrizacaoFormComponent, { initialState: { model: cloneDeep(this.selectedModel) } });\r\n\r\n modal.content.onClose.subscribe((data: boolean) => {\r\n if (data) {\r\n this.buscar();\r\n }\r\n });\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Parametrizações do Sistema
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Parametrizações do Sistema\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Id {{element.id}} Descrição {{element.descricao}} Valor \r\n \r\n {{element.valor}}\r\n \r\n \r\n {{(element.valor === 'true' ? 'Sim' : 'Não')}}\r\n \r\n\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n

Nova Autuação

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IAutuacaoModel } from 'src/app/models/edocs/autuacao.model';\r\nimport { ILocalAtuacaoModel } from 'src/app/models/edocs/local-atuacao.model';\r\nimport { IPapelModel } from 'src/app/models/edocs/papel.model';\r\nimport { AprovacaoService } from 'src/app/services/aprovacao.service';\r\nimport { EdocsService } from 'src/app/services/edocs.service';\r\nimport { PeaService } from 'src/app/services/pea.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-autuacao',\r\n templateUrl: './modal-autuacao.component.html',\r\n styleUrls: ['./modal-autuacao.component.scss']\r\n})\r\nexport class ModalAutuacaoComponent implements OnInit {\r\n private peaId: number;\r\n public model = {} as IAutuacaoModel;\r\n public papeis = [] as IPapelModel[];\r\n public locaisAutuacao = [] as ILocalAtuacaoModel[];\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n public toastr: ToastrService,\r\n private edocsService: EdocsService,\r\n public aprovacaoService: AprovacaoService,\r\n private peaService: PeaService,\r\n @Inject(MAT_DIALOG_DATA) public data) {\r\n\r\n this.peaId = data.peaId;\r\n }\r\n\r\n async ngOnInit() {\r\n await this.obterPapeis();\r\n }\r\n\r\n public async obterPapeis() {\r\n\r\n try {\r\n const res = await this.edocsService.obterPapeis();\r\n if (res.sucesso) {\r\n this.papeis = res.dados;\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public async obterLocaisAutuacao(idPapel: string) {\r\n\r\n try {\r\n const res = await this.edocsService.obterLocaisAtuacao(idPapel);\r\n if (res.sucesso) {\r\n this.locaisAutuacao = res.dados;\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public async concluir() {\r\n\r\n // try {\r\n\r\n // const res = await this.peaService.homologar(this.peaId, this.model);\r\n // if (res.sucesso) {\r\n // Swal.fire({\r\n // toast: true,\r\n // position: 'top-end',\r\n // icon: 'success',\r\n // text: 'Item homologado com sucesso!',\r\n // showConfirmButton: false,\r\n // timer: 5000,\r\n // timerProgressBar: true,\r\n // });\r\n // this.dialogRef.close(true);\r\n // this.matDialog.closeAll();\r\n // } else {\r\n // Swal.fire({\r\n // toast: true,\r\n // position: 'top-end',\r\n // icon: 'warning',\r\n // text: res.mensagem.descricao,\r\n // showConfirmButton: false,\r\n // timer: 5000,\r\n // timerProgressBar: true,\r\n // });\r\n // }\r\n\r\n // } catch (err) {\r\n // Swal.fire({\r\n // toast: true,\r\n // position: 'top-end',\r\n // icon: 'error',\r\n // text: err.mensagem.descricao,\r\n // showConfirmButton: false,\r\n // timer: 5000,\r\n // timerProgressBar: true,\r\n // });\r\n // }\r\n }\r\n\r\n public async onSelectPapel() {\r\n await this.obterLocaisAutuacao(this.model.papelAutuadorId);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\n\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\n\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport Inputmask from 'inputmask';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IAuditorCoordenacaoModel } from 'src/app/models/auditor-coordenacao.model';\r\nimport { ICoordenacaoModel } from 'src/app/models/coordenacao.model';\r\nimport { IPeaCoordenacaoCapacidadeModel } from 'src/app/models/pea-coordenacao-capacidade.model';\r\nimport { IPeaCoordenacaoDispensaModel } from 'src/app/models/pea-coordenacao-dispensa.model';\r\nimport { ITipoDispensaModel } from 'src/app/models/tipo-dispensa.model';\r\nimport { PeaService } from 'src/app/services/pea.service';\r\nimport { ModalCancelarComponent } from '../../../shared/components/modal-cancelar/modal-cancelar-component';\r\nimport Swal from 'sweetalert2';\r\nimport { IAgentePublicoModel } from 'src/app/models/agente-publico.model';\r\nimport { IAgentePublicoDisponibilidadeModel } from 'src/app/models/agente-publico-disponibilidade.model';\r\n\r\n@Component({\r\n selector: 'app-modal-capacidade',\r\n templateUrl: './modal-capacidade.component.html',\r\n styleUrls: ['./modal-capacidade.component.scss']\r\n})\r\nexport class ModalCapacidadeComponent implements OnInit {\r\n public model: IPeaCoordenacaoCapacidadeModel;\r\n public visualizar: boolean;\r\n\r\n public modelNovaDispensa = {} as IPeaCoordenacaoDispensaModel;\r\n public dispensaDataSource = new MatTableDataSource([]);\r\n public auditorDataSource = new MatTableDataSource([]);\r\n\r\n public dispensaSemDados = true;\r\n public auditorSemDados = true;\r\n public colunasOriginais = ['nomeAuditor'];\r\n public colunasAdicionar = [];\r\n public columnsDisponibilidades = [];\r\n\r\n public tabelaAuditores = [] as IAgentePublicoModel[];\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n private peaService: PeaService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n\r\n this.visualizar = data.visualizar; \r\n this.model = data.capacidade;\r\n \r\n this.tabelaAuditores = (data.coordenacao as ICoordenacaoModel).auditores;\r\n\r\n for (const auditor of this.tabelaAuditores) {\r\n\r\n //Monta lista dispensas\r\n for(const dispensa of auditor.dispensas){\r\n this.dispensaDataSource.data.push({\r\n nomeAuditor: auditor.pessoa.nome,\r\n descricao: dispensa.tipoDispensa.nome,\r\n dataInicio: dispensa.dataInicioFormatted,\r\n dataFim: dispensa.dataFimFormatted,\r\n qtdDias: dispensa.qtdDias\r\n })\r\n };\r\n\r\n this.auditorDataSource.data.push({\r\n nomeAuditor: auditor.pessoa.nome,\r\n disponibilidades: auditor.disponibilidades\r\n }) \r\n \r\n }\r\n\r\n this.dispensaSemDados = this.dispensaDataSource.data.length === 0;\r\n this.auditorSemDados = this.auditorDataSource.data.length === 0;\r\n\r\n // Montar lista disponibilidade Auditores\r\n var colunasNomes: any = {};\r\n if(this.tabelaAuditores[0]){\r\n this.tabelaAuditores[0].disponibilidades.forEach((disponibilidade) => {\r\n \r\n const nomeColuna = disponibilidade.tipoTrabalho.nome;\r\n if(!this.colunasAdicionar.some((c) => c === nomeColuna)){\r\n this.colunasAdicionar.push(nomeColuna);\r\n }\r\n })\r\n }\r\n this.columnsDisponibilidades = [];\r\n this.columnsDisponibilidades = this.colunasOriginais.concat(this.colunasAdicionar);\r\n\r\n this.auditorDataSource._updateChangeSubscription();\r\n \r\n \r\n }\r\n\r\n public obterValorColuna(element: any, coluna: string): string{\r\n \r\n if(!element || !coluna)\r\n return '';\r\n\r\n const result = element.disponibilidades.find((d) => d.tipoTrabalho.nome == coluna);\r\n if(!result)\r\n return '';\r\n\r\n let retorno = result.percentual.toFixed(2).toString();\r\n retorno += \"%\";\r\n return retorno;\r\n }\r\n\r\n ngOnInit(): void {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n \r\n public fechar(){\r\n return this.matDialog.closeAll()\r\n }\r\n}\r\n\r\n","
\r\n\t\r\n\t\t
\r\n\t\t\t

Capacidade de Trabalho

\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tAuditor\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nomeAuditor }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tDescrição\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.descricao }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tData Início\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.dataInicio }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tData fim\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.dataFim }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tQuantidade de Dias\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.qtdDias }}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tNenhuma dispensa cadastrada\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tAuditor\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nomeAuditor }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{{ coluna }}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\tobterValorColuna(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\telement,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcoluna\r\n\t\t\t\t\t\t\t\t\t\t\t\t) \r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t Fechar\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-modal-descricao-dias-uteis',\r\n templateUrl: './modal-descricao-dias-uteis.component.html',\r\n styleUrls: ['./modal-descricao-dias-uteis.component.scss']\r\n})\r\nexport class ModalDescricaoDiasUteisComponent implements OnInit {\r\n ano: number;\r\n totalDiasAno: number;\r\n sabDom: number;\r\n ferNac: number;\r\n ferEst: number;\r\n ferMun: number;\r\n pontoFac: number;\r\n outros: number;\r\n totalDNU: number;\r\n diasUteis: number;\r\n treinamento: number;\r\n reunioes: number;\r\n licencasMedicas: number;\r\n ferias: number;\r\n abonos: number;\r\n outrasTarefas: number;\r\n totalDispensasPadrao: number;\r\n diasDisponiveisTotais: number;\r\n diasReservadosAuditoriasEspeciais: number;\r\n diasDisponiveis: number;\r\n auditoriasEspeciaisValor: number;\r\n auditoriaEspecialDD: number;\r\n du: number;\r\n public dispensasPadroes = [] as any[];\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data: any\r\n ) {\r\n // Inicialização das propriedades com os dados recebidos\r\n debugger\r\n this.ano = data.capacidade.ano;\r\n this.totalDiasAno = data.capacidade.totalDiasAno;\r\n this.sabDom = data.capacidade.diasNaoUteis.sabDom;\r\n this.ferNac = data.capacidade.diasNaoUteis.ferNac;\r\n this.ferEst = data.capacidade.diasNaoUteis.ferEst;\r\n this.ferMun = data.capacidade.diasNaoUteis.ferMun;\r\n this.pontoFac = data.capacidade.diasNaoUteis.pontoFac;\r\n this.outros = data.capacidade.diasNaoUteis.outros;\r\n this.totalDNU = data.capacidade.diasNaoUteis.totalDNU;\r\n this.diasUteis = data.capacidade.diasUteis;\r\n // this.treinamento = data.capacidade.dispensaPadrao.treinamento;\r\n // this.reunioes = data.capacidade.dispensaPadrao.reunioes;\r\n // this.licencasMedicas = data.capacidade.dispensaPadrao.licencasMedicas;\r\n // this.ferias = data.capacidade.dispensaPadrao.ferias;\r\n // this.abonos = data.capacidade.dispensaPadrao.abonos;\r\n // this.outrasTarefas = data.capacidade.dispensaPadrao.outrasTarefas;\r\n this.dispensasPadroes = data.capacidade.tipoDispensa;\r\n this.totalDispensasPadrao = data.capacidade.totalDispensasPadrao;\r\n this.diasDisponiveisTotais = data.capacidade.diasDisponiveisTotais;\r\n this.diasReservadosAuditoriasEspeciais = data.capacidade.diasReservadosAuditoriasEspeciais;\r\n this.diasDisponiveis = data.capacidade.diasDisponiveis;\r\n this.auditoriasEspeciaisValor = data.capacidade.auditoriasEspeciais.valor;\r\n this.du = data.capacidade.du;\r\n this.auditoriaEspecialDD = data.capacidade.auditoriaEspecialDD;\r\n }\r\n\r\n ngOnInit(): void {\r\n // Aqui você pode adicionar lógica adicional de inicialização, se necessário \r\n }\r\n\r\n public onClose(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n // Exemplo de método para verificar se um objeto está vazio\r\n public isObjectEmpty(obj: any): boolean {\r\n return obj === null || obj === undefined || Object.keys(obj).length === 0;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

CÁLCULO DOS DIAS DISPONÍVEIS

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
PERÍODO DE JAN A DEZ {{ano}}
1Total dias do ano (DA){{totalDiasAno}}
2Dias não úteis
2.1Sábados e domingos{{ sabDom || 0 }}
2.2Feriados nacionais{{ ferNac || 0 }}
2.3Feriados estaduais{{ ferEst || 0 }}
2.4Feriados municipais{{ ferMun || 0 }}
2.5Ponto Facultativos{{ pontoFac || 0 }}
2.6Outros{{ outros || 0 }}
Totais de dias não úteis (DNU){{ totalDNU || 0 }}
3Dias úteis (DU) = Dias no ano (-) Dias não úteis = (DA - DNU){{du}}
4Dispensas padrão
4. {{i + 1}}{{dispensa.nome}}{{dispensa.quantidadeDiasPadrao}}
Total Dispensas padrão (DP){{totalDispensasPadrao}}
5Dias disponíveis totais (DDT) = Dias úteis (-) Dispensas padrão = (DU - DP){{diasDisponiveisTotais}}
6Dias reservados para Auditorias Especiais (DAE) = {{ auditoriasEspeciaisValor }}% de DDT{{diasReservadosAuditoriasEspeciais}}
7Dias disponíveis (DD) = Dias disponíveis totais (-) Dias reservados para Auditorias Especiais = (DDT - DAE) ou (DD = {{ auditoriaEspecialDD }}% de DDT){{diasDisponiveis}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-modal-descricao-peac',\r\n templateUrl: './modal-descricao-peac.component.html',\r\n styleUrls: ['./modal-descricao-peac.component.scss']\r\n})\r\nexport class ModalDescricaoPEACComponent implements OnInit {\r\n diasDisponiveis: number;\r\n qntDiasPorAuditor: number;\r\n numAuditoriaPorEquipe: number;\r\n numAuditoriaPorEquipeArred: number;\r\n numEquipeDisponiveis: number;\r\n capacidadeTotalPorCoord: number;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data: any\r\n ) {\r\n // Inicialização das propriedades com os dados recebidos\r\n this.diasDisponiveis = data.capacidade.diasDisponiveis;\r\n this.qntDiasPorAuditor = data.capacidade.qntDiasPorAuditor;\r\n this.numAuditoriaPorEquipe = data.capacidade.numAuditoriaPorEquipe;\r\n this.numAuditoriaPorEquipeArred = data.capacidade.numAuditoriaPorEquipeArred;\r\n this.numEquipeDisponiveis = data.capacidade.numEquipeDisponiveis;\r\n this.capacidadeTotalPorCoord = data.capacidade.capacidadeTotalPorCoord;\r\n }\r\n\r\n ngOnInit(): void {\r\n // Aqui você pode adicionar lógica adicional de inicialização, se necessário\r\n }\r\n\r\n public onClose(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n // Exemplo de método para verificar se um objeto está vazio\r\n public isObjectEmpty(obj: any): boolean {\r\n return obj === null || obj === undefined || Object.keys(obj).length === 0;\r\n }\r\n}\r\n","
\r\n\t\r\n\t\t
\r\n\t\t\t

\r\n\t\t\t\tCálculo da Capacidade Total por Coordenação\r\n\t\t\t

\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
Dias disponíveis (A){{ diasDisponiveis }}
Quantidade de dias por auditoria (B){{ qntDiasPorAuditor || 0 }}
Número de auditorias por equipe (C) = (A/B){{ numAuditoriaPorEquipe || 0 }}
\r\n\t\t\t\t\t\t\t\tNúmero de auditorias por equipe (D) -\r\n\t\t\t\t\t\t\t\tarredondado\r\n\t\t\t\t\t\t\t{{ numAuditoriaPorEquipeArred || 0 }}
Número de equipe disponível (E){{ numEquipeDisponiveis || 0 }}
\r\n\t\t\t\t\t\t\t\tCapacidade total por coordenação = (D x\r\n\t\t\t\t\t\t\t\t\tE)\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\tcapacidadeTotalPorCoord || 0\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t Fechar\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ICalculoPeaRankingPrioridadeModel } from 'src/app/models/calculo-pea-ranking-prioridade.model';\r\nimport { IPeaRankingPrioridadeModel } from 'src/app/models/pea-ranking-prioridade.model';\r\n\r\n@Component({\r\n selector: 'app-modal-detalhar-valor-risco',\r\n templateUrl: './modal-detalhar-valor-risco.component.html',\r\n styleUrls: ['./modal-detalhar-valor-risco.component.scss']\r\n})\r\nexport class ModalDetalharValorRiscoComponent implements OnInit {\r\n public model = {} as IPeaRankingPrioridadeModel;\r\n public dataSource = new MatTableDataSource([]);\r\n public displayedColumns = ['criterio', 'peso', 'nota', 'total'];\r\n public semDados = true;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.model = data;\r\n this.dataSource = new MatTableDataSource(data.calculos);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public fechar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n \r\n
\r\n

Visualizar Respostas

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Critério\r\n {{ element.criterio?.criterio?.nome }}\r\n Peso{{ element.peso }}Nota\r\n {{ element.nota }}\r\n Total\r\n {{ element.total }}\r\n
\r\n
Sem dados a exibir
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { IEnviarQuestionarioModel } from 'src/app/models/enviar-questionario.model';\r\nimport { NaturezaResponsabilidadeService } from 'src/app/services/natureza-responsabilidade.service';\r\nimport { ParametrizacaoService } from 'src/app/services/parametrizacao.service';\r\nimport { LookupModalComponent } from 'src/app/shared/components/lookup-modal/lookup-modal.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-enviar-questionario-criterio',\r\n templateUrl: './modal-enviar-questionario-criterio.component.html',\r\n styleUrls: ['./modal-enviar-questionario-criterio.component.scss']\r\n})\r\nexport class ModalEnviarQuestionarioCriterioComponent implements OnInit {\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n public model: IEnviarQuestionarioModel = {} as IEnviarQuestionarioModel;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n private naturezaResponsabilidadeService: NaturezaResponsabilidadeService,\r\n private parametrizacaoService: ParametrizacaoService,\r\n public matDialog: MatDialog) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.parametrizacaoService.obterPorId('pea-prazo-padrao')\r\n .then(res => {\r\n this.model.prazoDias = res.dados.valor;\r\n });\r\n }\r\n\r\n public concluir() {\r\n if (Number(this.model.prazoDias) <= 0){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'O prazo não pode ser menor que 1',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n } \r\n this.dialogRef.close(this.model);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n \r\n public async exibirModalNaturezaResponsabilidade() {\r\n try {\r\n const res = await this.naturezaResponsabilidadeService.obter('', true);\r\n if (res.sucesso) {\r\n const modal = this.exibirModal('Selecionar Natureza da Responsabilidade', res.dados);\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n this.model.naturezaResponsabilidadeId = data.id;\r\n this.model.naturezaResponsabilidadeNome = data.nome;\r\n }\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n \r\n public exibirModal(titulo: string, dados: any, exibirId = false, customizeColumns = null): MatDialogRef {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component-natureza';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = { titulo, dados, exibirId, customizeColumns };\r\n return this.matDialog.open(LookupModalComponent, dialogConfig);\r\n }\r\n\r\n public onChangePreencherPrazo(event){\r\n this.model.prazoDias = event.target.value;\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Detalhes do Envio

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { toIntlNumberString } from 'src/app/core/helpers/number.helper';\r\nimport { IPeaCriterioRespostaModel } from 'src/app/models/pea-criterio-resposta.model';\r\n\r\n@Component({\r\n selector: 'app-modal-importar-arquivo-criterio',\r\n templateUrl: './modal-importar-arquivo-criterio.component.html',\r\n styleUrls: ['./modal-importar-arquivo-criterio.component.scss'],\r\n})\r\nexport class ModalImportarArquivoCriterioComponent {\r\n public conteudoArquivo: string;\r\n public mensagens: string[];\r\n public respostas = [] as IPeaCriterioRespostaModel[];\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data\r\n ) {\r\n this.respostas = data as IPeaCriterioRespostaModel[];\r\n }\r\n\r\n public onFileChange(event) {\r\n this.mensagens = [];\r\n const reader = new FileReader();\r\n if (event.target.files && event.target.files.length > 0) {\r\n const file = event.target.files[0];\r\n reader.readAsText(file);\r\n reader.onload = () => {\r\n this.conteudoArquivo = reader.result.toString();\r\n this.lerValidarArquivo();\r\n };\r\n }\r\n }\r\n\r\n public lerValidarArquivo() {\r\n if (!this.conteudoArquivo) {\r\n this.mensagens = ['O arquivo não tem um conteúdo válido.'];\r\n return;\r\n }\r\n\r\n let erros = [];\r\n this.conteudoArquivo.split('\\n').forEach((l, i) => {\r\n if(l.length === 1 || l === \"\"){\r\n return;\r\n }\r\n if (l.trim().length > 0 && l.split(';').length !== 2) {\r\n erros = erros.concat([`A linha ${i + 1} deve ter somente duas colunas sendo separadas pelo caractere ';'.`]);\r\n } else {\r\n const resposta = this.respostas.find(r => r.unidadeGestora.codigoUg.toString() === l.split(';')[0]);\r\n if (resposta) {\r\n const valor = parseFloat(toIntlNumberString(l.split(';')[1]));\r\n if (!valor.toString() || isNaN(valor) || valor < 0) {\r\n erros = erros.concat([`Não há valor válido na linha ${i + 1}. Favor verificar e realizar nova importação.`]);\r\n this.conteudoArquivo = null;\r\n } else {\r\n resposta.valorNumerico = valor;\r\n }\r\n }\r\n else {\r\n erros = erros.concat([`O código da UG na linha ${i + 1} não esta associado ao PEAC.`]);\r\n this.conteudoArquivo = null;\r\n }\r\n }\r\n });\r\n\r\n if (erros.length === 0) {\r\n this.mensagens = ['Conteúdo do arquivo validado e disponível para importação.'];\r\n }\r\n else {\r\n this.mensagens = erros;\r\n }\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.respostas);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Importar Arquivo de Respostas

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{element}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
","import { AfterViewInit, Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport Inputmask from 'inputmask';\r\nimport { toIntlNumberString } from 'src/app/core/helpers/number.helper';\r\nimport { ICriterioModel } from 'src/app/models/criterio.model';\r\nimport { ModalCancelarComponent } from '../../../shared/components/modal-cancelar/modal-cancelar-component';\r\n\r\n@Component({\r\n selector: 'app-modal-preencher-formulario',\r\n templateUrl: './modal-preencher-formulario.component.html',\r\n styleUrls: ['./modal-preencher-formulario.component.scss'],\r\n})\r\nexport class ModalPreencherFormularioComponent\r\n implements OnInit, AfterViewInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public criterio = {} as ICriterioModel;\r\n public displayedColumns = ['sigla', 'valor'];\r\n public semDados = true;\r\n public descricaoCriterioFormulario = '';\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.dataSource = new MatTableDataSource(data);\r\n this.criterio = data.find((_: any) => _).criterio;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n public concluir() {\r\n const respostas = this.dataSource.data;\r\n for (const item of respostas) {\r\n item.valorNumerico = item.valorNumerico\r\n ? parseFloat(toIntlNumberString(item.valorNumerico.toString()))\r\n : undefined;\r\n }\r\n this.dialogRef.close(respostas);\r\n }\r\n\r\n public cancelar() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = { interno: true };\r\n this.matDialog.open(ModalCancelarComponent, dialogConfig).afterClosed();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n

Preencher Formulário

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Critério\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n Sigla\r\n {{ element.unidadeGestora.sigla }}\r\n Valor ({{ criterio?.unidade }})\r\n \r\n
\r\n
Sem dados a exibir
\r\n
\r\n
\r\n
\r\n \r\n Ok\r\n \r\n\r\n \r\n
\r\n
\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\n\r\n@Component({\r\n selector: 'app-modal-selecionar-coordenacoes',\r\n templateUrl: './modal-selecionar-coordenacoes.component.html',\r\n styleUrls: ['./modal-selecionar-coordenacoes.component.scss']\r\n})\r\nexport class ModalSelecionarCoordenacoesComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public semDados = false;\r\n public displayedColumns = ['selecao', 'id', 'sigla', 'nome'];\r\n public elementosSelecionados = false;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.dataSource = new MatTableDataSource(data);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.filterPredicate = (data: { nome: string }, filterValue: string) => {\r\n return (data.nome || '').trim().toLowerCase().indexOf(filterValue) !== -1;\r\n };\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public filtrar(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public selecionarTodos() {\r\n this.dataSource.data.forEach(d => d.selecionado = !this.elementosSelecionados);\r\n this.elementosSelecionados = !this.elementosSelecionados;\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.dataSource.data.filter(d => d.selecionado));\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Adicionar Coordenações

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Id {{element.id}} Sigla {{element.sigla}} Nome {{element.nome}}
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\n\r\n@Component({\r\n selector: 'app-modal-selecionar-ug',\r\n templateUrl: './modal-selecionar-ug.component.html',\r\n styleUrls: ['./modal-selecionar-ug.component.scss']\r\n})\r\nexport class ModalSelecionarUgComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public semDados = false;\r\n public displayedColumns = ['selecao', 'id', 'ug'];\r\n public elementosSelecionados = false;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.dataSource = new MatTableDataSource(data);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.filterPredicate = (data: { nome : string, sigla: string }, filterValue: string) => {\r\n return (data.sigla || '').trim().toLowerCase().indexOf(filterValue) !== -1 || (data.nome || '').trim().toLowerCase().indexOf(filterValue) !== -1;\r\n };\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public filtrar(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public selecionarTodos() {\r\n this.dataSource.data.forEach(d => d.selecionado = !this.elementosSelecionados);\r\n this.elementosSelecionados = !this.elementosSelecionados;\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.dataSource.data.filter(d => d.selecionado));\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Adicionar Unidades Gestoras

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Id \r\n {{element?.id}} \r\n {{element?.value}}\r\n UG \r\n {{element?.sigla}} - {{element?.nome}}\r\n {{element?.text}}\r\n
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ICriterioQuestionarioModel } from 'src/app/models/criterio-questionario.model';\r\nimport { ICriterioModel } from 'src/app/models/criterio.model';\r\nimport { IPerguntaModel } from 'src/app/models/pergunta.model';\r\n\r\n@Component({\r\n selector: 'app-modal-visualizar-questionario-criterio',\r\n templateUrl: './modal-visualizar-questionario-criterio.component.html',\r\n styleUrls: ['./modal-visualizar-questionario-criterio.component.scss']\r\n})\r\nexport class ModalVisualizarQuestionarioCriterioComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n public model: ICriterioQuestionarioModel = {} as ICriterioQuestionarioModel;\r\n public criterioDataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) data: IBaseModel) {\r\n if (data) {\r\n this.model = data.dados.find(_ => _);\r\n this.criterioDataSource = new MatTableDataSource(data.dados.map(_ => _.criterio));\r\n this.criterioDataSource._updateChangeSubscription();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public fechar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Visualizar Questionario

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Pergunta\r\n {{ element?.pergunta?.descricao }}\r\n Tipo de Entrada\r\n {{element?.pergunta?.tipoEntrada?.descricao}}\r\n Unidade de Medida \r\n {{element?.unidade}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ICriterioModel } from 'src/app/models/criterio.model';\r\n\r\n@Component({\r\n selector: 'app-modal-visualizar-respostas',\r\n templateUrl: './modal-visualizar-respostas.component.html',\r\n styleUrls: ['./modal-visualizar-respostas.component.scss']\r\n})\r\nexport class ModalVisualizarRespostasComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public criterio = {} as ICriterioModel;\r\n public displayedColumns = ['ug', 'valor'];\r\n public semDados = true;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.dataSource = new MatTableDataSource(data);\r\n this.criterio = data.find((_: any) => _).criterio;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public fechar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Visualizar Respostas

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
Unidade Gestora {{element.unidadeGestora.nome}} Valor ({{ criterio?.unidade }})\r\n \r\n {{element.valorNumerico | number:'1.2':'pt'}}\r\n \r\n \r\n {{element.perguntaOpcao.nome}}\r\n \r\n
\r\n
Sem dados a exibir
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
    \r\n\t\t\t\t\t
  1. \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t Página Inicial\r\n\t\t\t\t\t
  2. \r\n\t\t\t\t\t
  3. \r\n\t\t\t\t\t\tPEAC - Plano Estratégico de Auditoria e Controles \r\n\t\t\t\t\t
  4. \r\n\t\t\t\t\t
  5. {{ titulo }}
  6. \r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ titulo }}\r\n\t\t\t\t\t\t

\r\n\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tDados\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tCarga dos Critérios\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tCapacidade de Trabalho\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tRanking de Prioridade\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tDistribuição\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tRelatoria\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\tLinha do Tempo\r\n\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tUnidade(s) Gestora(s)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ element.nome }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAdicionar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tNenhuma Unidade Gestora\r\n\t\t\t\t\t\t\t\t\t\t\t\tselecionada\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCoordenação(ões)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.coordenacao\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.sigla\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t-\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.coordenacao\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.nome\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAdicionar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tNenhuma Coordenação selecionada\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCritério\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.criterio\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.nome\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tTipo de Entrada\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.criterio\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.tipoEntrada\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.descricao\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAções a serem tomadas\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tImportar Arquivo\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPreencher\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFormulário\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.questionariosEnviados\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? \"Enviado\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"Pendente de Envio\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tRespostas\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(click)=\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\texibirRespostas(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.criterioId\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcursor: pointer;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tNenhuma Carga de Critérios a\r\n\t\t\t\t\t\t\t\t\t\t\t\texibir\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCoordenação\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.coordenacaoNome\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tDias Disponíveis\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.diasDisponiveis\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tNº Equipes Disponíveis\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.equipesDisponiveis\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tQuant. Dias
por\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAuditoria\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.diasPorAuditoria\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tNº Auditorias
por\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tEquipe\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.auditoriasPorEquipe\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCapacidade Total\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
por Coordenação\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.capacidadeTotalCoordenacao\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAno:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ groupBy.ano }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCapacidade de\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTrabalho Total no\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAno:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgroupBy.capacidadeTotalAno\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tSem capacidade de trabalho\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tClassificação Personalizada\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tRemover classificação\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tpersonalizada\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{{ pisoBaixo }}\r\n\t\t\t\t\t\t\t\t\t\t\ta\r\n\t\t\t\t\t\t\t\t\t\t\t{{ tetoBaixo }}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{{ pisoMedio }}\r\n\t\t\t\t\t\t\t\t\t\t\ta\r\n\t\t\t\t\t\t\t\t\t\t\t{{ tetoMedio }}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t{{ pisoAlto }}\r\n\t\t\t\t\t\t\t\t\t\t\ta\r\n\t\t\t\t\t\t\t\t\t\t\t{{ tetoAlto }}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\tPadrão\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
({{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"_indice\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tNenhuma Unidade Gestora\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontemplada\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
({{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"_indice\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tNenhuma Unidade Gestora não\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontemplada\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\tPersonalizada\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
({{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"_indice\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tNenhuma Unidade Gestora\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontemplada\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
({{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolumn +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"_indice\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tNenhuma Unidade Gestora não\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontemplada\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tObrigatórias\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tEmpresas Públicas\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\tLegenda:\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tRisco Alto\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tRisco Médio\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tRisco Baixo\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Fechar\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tQuestionário\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tToggle Dropdown\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tEnviar Questionário\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tVisualizar\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tCancelar Envio\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Aprovar\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Enviar para\r\n\t\t\t\t\t\t\t\tAprovação\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Fechar\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport Inputmask from \"inputmask\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { IBaseModel } from \"src/app/models/base.model\";\r\nimport { ICargaCriterioPeaModel } from \"src/app/models/carga-criterio-pea.model\";\r\nimport { ICoordenacaoModel } from \"src/app/models/coordenacao.model\";\r\nimport { IFaixaClassificacaoModel } from \"src/app/models/faixa-classificacao\";\r\nimport { IPeaCoordenacaoCapacidadeModel } from \"src/app/models/pea-coordenacao-capacidade.model\";\r\nimport { IPeaCoordenacaoDiasUteisModel } from \"src/app/models/pea-coordenacao-dias-uteis.model\";\r\nimport { IPeaCoordenacaoModel } from \"src/app/models/pea-coordenacao.model\";\r\nimport { IPeaCriterioRespostaModel } from \"src/app/models/pea-criterio-resposta.model\";\r\nimport { IPeaUnidadeGestoraModel } from \"src/app/models/pea-unidade-gestora.model\";\r\nimport { IPeaModel } from \"src/app/models/pea.model\";\r\nimport { IUnidadeGestoraModel } from \"src/app/models/unidade-gestora.model\";\r\nimport { CoordenacaoService } from \"src/app/services/coordenacao.service\";\r\nimport { FaixaClassificacaoService } from \"src/app/services/faixa-classificacao.service\";\r\nimport { IndicadorService } from \"src/app/services/indicador.service\";\r\nimport { PeaService } from \"src/app/services/pea.service\";\r\nimport { PeriodoService } from \"src/app/services/periodo.service\";\r\nimport { TipoDispensaService } from \"src/app/services/tipo-dispensa.service\";\r\nimport { UnidadeGestoraService } from \"src/app/services/unidade-gestora.service\";\r\nimport { ModalConfirmarRejeitarComponent } from \"src/app/shared/components/modal-confirmacao-rejeitar/modal-confirmacao-rejeitar.component\";\r\nimport { BaseFormComponent } from \"../../shared/components/base-form/base-form.component\";\r\nimport { ModalCapacidadeComponent } from \"./modal-capacidade/modal-capacidade.component\";\r\nimport { ModalImportarArquivoCriterioComponent } from \"./modal-importar-arquivo-criterio/modal-importar-arquivo-criterio.component\";\r\nimport { ModalPreencherFormularioComponent } from \"./modal-preencher-formulario/modal-preencher-formulario.component\";\r\nimport { ModalSelecionarCoordenacoesComponent } from \"./modal-selecionar-coordenacoes/modal-selecionar-coordenacoes.component\";\r\nimport { ModalSelecionarUgComponent } from \"./modal-selecionar-ug/modal-selecionar-ug.component\";\r\nimport { ModalVisualizarRespostasComponent } from \"./modal-visualizar-respostas/modal-visualizar-respostas.component\";\r\nimport Swal from \"sweetalert2\";\r\nimport { INaturezaResponsabilidadeModel } from \"src/app/models/natureza-responsabilidade\";\r\nimport { ModalEnviarQuestionarioCriterioComponent } from \"./modal-enviar-questionario-criterio/modal-enviar-questionario-criterio.component\";\r\nimport { IEnviarQuestionarioModel } from \"src/app/models/enviar-questionario.model\";\r\nimport { ModalVisualizarQuestionarioCriterioComponent } from \"./modal-visualizar-questionario-criterio/modal-visualizar-questionario-criterio.component\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { defaultDataAcessor } from \"src/app/core/helpers/mat-sort-data-accessor\";\r\nimport { IRelatoriaCapituloModel } from \"src/app/models/relatoria-capitulo.model\";\r\nimport { RankingDistribuicaoService } from \"src/app/services/ranking-prioridade.service\";\r\nimport { IPeaRankingPrioridadeModel } from \"src/app/models/pea-ranking-prioridade.model\";\r\nimport { Location } from \"@angular/common\";\r\nimport moment from \"moment\";\r\nimport { AuthService } from \"src/app/services/auth.service\";\r\nimport { IPeaDadosBasicosModel } from \"src/app/models/pea-dados-basicos.model\";\r\nimport { ModalDescricaoDiasUteisComponent } from \"./modal-descricao-dias-uteis/modal-descricao-dias-uteis.component\";\r\nimport { ModalDescricaoPEACComponent } from \"./modal-descricao-peac/modal-descricao-peac.component\";\r\nimport { EnumTipoFeriado } from \"../../models/enum/tipo-feriado.enum\";\r\n\r\n@Component({\r\n\tselector: \"app-pea-form\",\r\n\ttemplateUrl: \"./pea-form.component.html\",\r\n\tstyleUrls: [\"./pea-form.component.scss\"],\r\n})\r\nexport class PeaFormComponent extends BaseFormComponent implements OnInit {\r\n\tpublic model: IPeaModel = {} as IPeaModel;\r\n\tpublic modelDadosBasicos: IPeaDadosBasicosModel =\r\n\t\t{} as IPeaDadosBasicosModel;\r\n\r\n\tpublic modelFaixaPadrao: IFaixaClassificacaoModel =\r\n\t\t{} as IFaixaClassificacaoModel;\r\n\tpublic modelFaixaPersonalizada: IFaixaClassificacaoModel =\r\n\t\t{} as IFaixaClassificacaoModel;\r\n\tpublic modelFaixa: IFaixaClassificacaoModel =\r\n\t\t{} as IFaixaClassificacaoModel;\r\n\tpublic ugDataSource = new MatTableDataSource([]);\r\n\tpublic coordenacoesDataSource =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic criterioDataSource = new MatTableDataSource(\r\n\t\t[]\r\n\t);\r\n\tpublic naturezaResponsabilidadeDataSource =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic capacidadeDataSource = new MatTableDataSource([]);\r\n\tpublic distribuicaoDataSource = new MatTableDataSource([]);\r\n\tpublic distribuicaoNaoContempladosDataSource = new MatTableDataSource(\r\n\t\t[]\r\n\t);\r\n\tpublic distribuicaoPersonalizadoDataSource = new MatTableDataSource(\r\n\t\t[]\r\n\t);\r\n\tpublic distribuicaoNaoContempladosPersonalizadoDataSource =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic ugSemDados = true;\r\n\tpublic criterioSemDados = true;\r\n\tpublic coordenacaoSemDados = true;\r\n\tpublic capacidadeSemDados = true;\r\n\tpublic distribuicaoSemDados = true;\r\n\tpublic distribuicaoNaoContempladosSemDados = true;\r\n\tpublic distribuicaoSemDadosPersonalizado = true;\r\n\tpublic distribuicaoNaoContempladosSemDadosPersonalizado = true;\r\n\tpublic salvarDadosPendente = false;\r\n\tpublic salvarDistribuicaoPendente = false;\r\n\tpublic aba = 0;\r\n\tpublic situacao = 0;\r\n\tpublic habilitarHomologarRejeitar = false;\r\n\tpublic habilitarUltimoNivelAprovacao = false;\r\n\tpublic peaHomologado = false;\r\n\tpublic peaQuestionario = false;\r\n\tpublic columnsDistribuicao = [];\r\n\tpublic columnsDistribuicaoPersonalizado = [];\r\n\r\n\tpublic rankingPrioridadeDataSource =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic rankingPrioridadeEmpresasPublicasDataSource =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic semDadosRanking = false;\r\n\tpublic semDadosRankingEmpresaPublica = false;\r\n\r\n\tpublic columnsCapacidade = [\r\n\t\t\"coordenacao\",\r\n\t\t\"diasDisponiveis\",\r\n\t\t\"equipesDisponiveis\",\r\n\t\t\"diasPorAuditoria\",\r\n\t\t\"auditoriasPorEquipe\",\r\n\t\t\"capacidadeTotalCoordenacao\",\r\n\t\t\"actions\",\r\n\t];\r\n\r\n\tpublic relatoriaDados: IRelatoriaCapituloModel[] = null;\r\n\r\n\tpublic visualizarRelatoria = false;\r\n\tpublic visualizarBotaoFormulario = false;\r\n\tpublic hoje = moment();\r\n\tpisoAlto: string;\r\n\ttetoAlto: string;\r\n\tpisoMedio: string;\r\n\ttetoMedio: string;\r\n\tpisoBaixo: string;\r\n\ttetoBaixo: string;\r\n\r\n\t@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\t@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n\tpublic form = new FormGroup({\r\n\t\tnome: new FormControl(\"\", Validators.required),\r\n\t\tperiodoId: new FormControl(null, Validators.required),\r\n\t\tindicadorId: new FormControl(null, Validators.required),\r\n\t\tsubcapitulo: new FormControl(\"\"),\r\n\t});\r\n\r\n\tconstructor(\r\n\t\troute: ActivatedRoute,\r\n\t\ttoastr: ToastrService,\r\n\t\trouter: Router,\r\n\t\tlocaleService: BsLocaleService,\r\n\t\tprivate activatedRoute: ActivatedRoute,\r\n\t\tprivate peaService: PeaService,\r\n\t\tprivate periodoService: PeriodoService,\r\n\t\tprivate indicadorService: IndicadorService,\r\n\t\tprivate coordenacaoService: CoordenacaoService,\r\n\t\tprivate tipoDispensaService: TipoDispensaService,\r\n\t\tprivate ugService: UnidadeGestoraService,\r\n\t\tprivate faixaClassificacaoService: FaixaClassificacaoService,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tpublic rankingService: RankingDistribuicaoService,\r\n\t\tprivate _location: Location,\r\n\t\tprivate authService: AuthService\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\t\tif (this.novoRegistro) {\r\n\t\t\tthis.titulo = \"Novo PEAC\";\r\n\t\t}\r\n\t\tif (this.visualizar === true) {\r\n\t\t\tthis.visualizarRelatoria = true;\r\n\t\t}\r\n\t}\r\n\r\n\tasync ngOnInit() {\r\n\t\tInputmask().mask(document.querySelectorAll(\"input\"));\r\n\t\tconst numeroAba = this.activatedRoute.snapshot.queryParamMap.get(\"aba\");\r\n\t\tif (numeroAba) {\r\n\t\t\tawait this.obterDadosBasicos();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tawait this.obterDadosBasicos();\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tconst numeroAba = this.activatedRoute.snapshot.queryParamMap.get(\"aba\");\r\n\t\tif (numeroAba) {\r\n\t\t\tthis.mudarAba(Number(numeroAba));\r\n\t\t}\r\n\t}\r\n\r\n\tpublic receberFaixaClassificacao(\r\n\t\tfaixaClassificacao: IFaixaClassificacaoModel\r\n\t) {\r\n\t\tthis.modelFaixa = faixaClassificacao;\r\n\t}\r\n\r\n\tpublic async obterDadosBasicos() {\r\n\t\ttry {\r\n\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\tthis.peaService.obterDadosBasicos(this.id).then((res) => {\r\n\t\t\t\t\tthis.showPendencias(res?.pendencias);\r\n\r\n\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\tthis.modelDadosBasicos = res.dados;\r\n\t\t\t\t\t\tif (this.modelDadosBasicos.situacao.codigo !== 1) {\r\n\t\t\t\t\t\t\tthis.visualizar = true;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (this.novoRegistro) {\r\n\t\t\t\t\t\t\tthis.titulo = \"Novo PEAC\";\r\n\t\t\t\t\t\t} else if (this.visualizar) {\r\n\t\t\t\t\t\t\tthis.titulo =\r\n\t\t\t\t\t\t\t\t\"Visualizar PEAC - \" +\r\n\t\t\t\t\t\t\t\tthis.modelDadosBasicos.nome;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.titulo =\r\n\t\t\t\t\t\t\t\t\"Editar PEAC - \" + this.modelDadosBasicos.nome;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.form.patchValue({\r\n\t\t\t\t\t\t\tperiodoId: this.modelDadosBasicos.periodoId,\r\n\t\t\t\t\t\t\tindicadorId: this.modelDadosBasicos.indicadorId,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.situacao =\r\n\t\t\t\t\t\t\tthis.modelDadosBasicos?.situacao?.codigo;\r\n\t\t\t\t\t\tthis.peaHomologado =\r\n\t\t\t\t\t\t\tthis.modelDadosBasicos.situacao.codigo === 4;\r\n\r\n\t\t\t\t\t\tthis.atualizarListaUgs(\r\n\t\t\t\t\t\t\tthis.modelDadosBasicos.peaUnidadeGestora\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.coordenacoesDataSource =\r\n\t\t\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\t\t\tthis.modelDadosBasicos.peaCoordenacao\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.coordenacoesDataSource._updateChangeSubscription();\r\n\t\t\t\t\t\tthis.coordenacaoSemDados =\r\n\t\t\t\t\t\t\tthis.coordenacoesDataSource.filteredData.length ===\r\n\t\t\t\t\t\t\t0;\r\n\r\n\t\t\t\t\t\tthis.form.patchValue(this.modelDadosBasicos);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.submit = false;\r\n\t\t\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t\t\tthis.router.navigate([\"/pea\"]);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.submit = false;\r\n\t\t\tthis.exibirMensagemErro(err.mensagem?.descricao);\r\n\t\t\tthis.router.navigate([\"/pea\"]);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async obterAbaCargaCriterios() {\r\n\t\tthis.obterCargaCriterios();\r\n\t}\r\n\r\n\tpublic async obterAbaCapacidadeTrabalho() {\r\n\t\tthis.obterCapacidadeTrabalho(this.id);\r\n\t}\r\n\r\n\tpublic async obterAbaRanking() {\r\n\t\tthis.obterRankingPrioridade();\r\n\t}\r\n\r\n\tpublic async obterAbaDistribuicao() {\r\n\t\tawait this.obterPainelDistribuicao(this.id);\r\n\t}\r\n\r\n\tpublic async obterDados() {\r\n\t\ttry {\r\n\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\tthis.peaService.obterPorId(this.id).then((res) => {\r\n\t\t\t\t\tthis.showPendencias(res?.pendencias);\r\n\r\n\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\tthis.model = res.dados;\r\n\t\t\t\t\t\tif (this.model.situacao.codigo !== 1) {\r\n\t\t\t\t\t\t\tthis.visualizar = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tthis.model.situacao.codigo !== 1 &&\r\n\t\t\t\t\t\t\tthis.model.situacao.codigo !== 2\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tthis.visualizarRelatoria = true;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (this.novoRegistro) {\r\n\t\t\t\t\t\t\tthis.titulo = \"Novo PEAC\";\r\n\t\t\t\t\t\t} else if (this.visualizar) {\r\n\t\t\t\t\t\t\tthis.titulo =\r\n\t\t\t\t\t\t\t\t\"Visualizar PEAC - \" + this.model.nome;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.titulo = \"Editar PEAC - \" + this.model.nome;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.form.patchValue({\r\n\t\t\t\t\t\t\tperiodoId: this.model.periodoId,\r\n\t\t\t\t\t\t\tindicadorId: this.model.indicadorId,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.situacao = this.model?.situacao?.codigo;\r\n\t\t\t\t\t\tthis.habilitarHomologarRejeitar =\r\n\t\t\t\t\t\t\tthis.model.situacao.codigo === 3;\r\n\t\t\t\t\t\tthis.habilitarUltimoNivelAprovacao =\r\n\t\t\t\t\t\t\tthis.model.situacao.codigo === 3;\r\n\t\t\t\t\t\tthis.peaHomologado = this.model.situacao.codigo === 4;\r\n\r\n\t\t\t\t\t\tthis.atualizarListaUgs(this.model.peaUnidadeGestora);\r\n\t\t\t\t\t\tthis.coordenacoesDataSource =\r\n\t\t\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\t\t\tthis.model.peaCoordenacao\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.coordenacoesDataSource._updateChangeSubscription();\r\n\t\t\t\t\t\tthis.coordenacaoSemDados =\r\n\t\t\t\t\t\t\tthis.coordenacoesDataSource.filteredData.length ===\r\n\t\t\t\t\t\t\t0;\r\n\r\n\t\t\t\t\t\tthis.obterCargaCriterios();\r\n\t\t\t\t\t\tthis.obterCapacidadeTrabalho(this.id);\r\n\r\n\t\t\t\t\t\tthis.obterPainelDistribuicao(this.id);\r\n\r\n\t\t\t\t\t\tthis.faixaClassificacaoService.obter().then((res) => {\r\n\t\t\t\t\t\t\tthis.pisoAlto = res.dados.pisoAlto\r\n\t\t\t\t\t\t\t\t.toFixed(4)\r\n\t\t\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t\t\t.replace(\".\", \",\");\r\n\t\t\t\t\t\t\tthis.tetoAlto = res.dados.tetoAlto\r\n\t\t\t\t\t\t\t\t.toFixed(4)\r\n\t\t\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t\t\t.replace(\".\", \",\");\r\n\t\t\t\t\t\t\tthis.pisoMedio = res.dados.pisoMedio\r\n\t\t\t\t\t\t\t\t.toFixed(4)\r\n\t\t\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t\t\t.replace(\".\", \",\");\r\n\t\t\t\t\t\t\tthis.tetoMedio = res.dados.tetoMedio\r\n\t\t\t\t\t\t\t\t.toFixed(4)\r\n\t\t\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t\t\t.replace(\".\", \",\");\r\n\t\t\t\t\t\t\tthis.pisoBaixo = res.dados.pisoBaixo\r\n\t\t\t\t\t\t\t\t.toFixed(4)\r\n\t\t\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t\t\t.replace(\".\", \",\");\r\n\t\t\t\t\t\t\tthis.tetoBaixo = res.dados.tetoBaixo\r\n\t\t\t\t\t\t\t\t.toFixed(4)\r\n\t\t\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t\t\t.replace(\".\", \",\");\r\n\r\n\t\t\t\t\t\t\tthis.modelFaixaPadrao = res.dados;\r\n\r\n\t\t\t\t\t\t\tif (!this.model.classificacaoPersonalizada) {\r\n\t\t\t\t\t\t\t\t//this.modelFaixa = this.modelFaixaPadrao;\r\n\t\t\t\t\t\t\t\tthis.modelFaixa = {\r\n\t\t\t\t\t\t\t\t\tpisoBaixo: this.modelFaixaPadrao?.pisoBaixo,\r\n\t\t\t\t\t\t\t\t\ttetoBaixo: this.modelFaixaPadrao?.tetoBaixo,\r\n\t\t\t\t\t\t\t\t\tpisoMedio: this.modelFaixaPadrao?.pisoMedio,\r\n\t\t\t\t\t\t\t\t\ttetoMedio: this.modelFaixaPadrao?.tetoMedio,\r\n\t\t\t\t\t\t\t\t\tpisoAlto: this.modelFaixaPadrao?.pisoAlto,\r\n\t\t\t\t\t\t\t\t\ttetoAlto: this.modelFaixaPadrao?.tetoAlto,\r\n\t\t\t\t\t\t\t\t} as IFaixaClassificacaoModel;\r\n\t\t\t\t\t\t\t\tthis.model.classificacaoPisoBaixo =\r\n\t\t\t\t\t\t\t\t\tthis.modelFaixaPadrao?.pisoBaixo ?? 0;\r\n\t\t\t\t\t\t\t\tthis.model.classificacaoTetoBaixo =\r\n\t\t\t\t\t\t\t\t\tthis.modelFaixaPadrao?.tetoBaixo ?? 0;\r\n\t\t\t\t\t\t\t\tthis.model.classificacaoPisoMedio =\r\n\t\t\t\t\t\t\t\t\tthis.modelFaixaPadrao?.pisoMedio ?? 0;\r\n\t\t\t\t\t\t\t\tthis.model.classificacaoTetoMedio =\r\n\t\t\t\t\t\t\t\t\tthis.modelFaixaPadrao?.tetoMedio ?? 0;\r\n\t\t\t\t\t\t\t\tthis.model.classificacaoPisoAlto =\r\n\t\t\t\t\t\t\t\t\tthis.modelFaixaPadrao?.pisoAlto ?? 0;\r\n\t\t\t\t\t\t\t\tthis.model.classificacaoTetoAlto =\r\n\t\t\t\t\t\t\t\t\tthis.modelFaixaPadrao?.tetoAlto ?? 0;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.modelFaixa = {\r\n\t\t\t\t\t\t\t\t\tpisoBaixo:\r\n\t\t\t\t\t\t\t\t\t\tthis.model.classificacaoPisoBaixo,\r\n\t\t\t\t\t\t\t\t\ttetoBaixo:\r\n\t\t\t\t\t\t\t\t\t\tthis.model.classificacaoTetoBaixo,\r\n\t\t\t\t\t\t\t\t\tpisoMedio:\r\n\t\t\t\t\t\t\t\t\t\tthis.model.classificacaoPisoMedio,\r\n\t\t\t\t\t\t\t\t\ttetoMedio:\r\n\t\t\t\t\t\t\t\t\t\tthis.model.classificacaoTetoMedio,\r\n\t\t\t\t\t\t\t\t\tpisoAlto: this.model.classificacaoPisoAlto,\r\n\t\t\t\t\t\t\t\t\ttetoAlto: this.model.classificacaoTetoAlto,\r\n\t\t\t\t\t\t\t\t} as IFaixaClassificacaoModel;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.form.patchValue(this.model);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.submit = false;\r\n\t\t\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t\t\tthis.router.navigate([\"/pea\"]);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.submit = false;\r\n\t\t\tthis.exibirMensagemErro(err.mensagem?.descricao);\r\n\t\t\tthis.router.navigate([\"/pea\"]);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic atualizarListaUgs(peaUnidadeGestora: IPeaUnidadeGestoraModel[]) {\r\n\t\tconst listaUgs = peaUnidadeGestora.map((_) => ({\r\n\t\t\t..._,\r\n\t\t\tnome: `${_.unidadeGestora.sigla} - ${_.unidadeGestora.nome}`,\r\n\t\t}));\r\n\t\tthis.ugDataSource.paginator = this.paginator;\r\n\t\tthis.ugDataSource.sort = this.sort;\r\n\t\tthis.ugDataSource.filterPredicate = (\r\n\t\t\tdata: { nome: string },\r\n\t\t\tfilterValue: string\r\n\t\t) => {\r\n\t\t\treturn (\r\n\t\t\t\t(data.nome || \"\").trim().toLowerCase().indexOf(filterValue) !==\r\n\t\t\t\t-1\r\n\t\t\t);\r\n\t\t};\r\n\t\tlistaUgs.sort((a, b) => a[\"nome\"].localeCompare(b[\"nome\"]));\r\n\t\tthis.ugDataSource = new MatTableDataSource(\r\n\t\t\tlistaUgs\r\n\t\t);\r\n\t\tthis.ugDataSource.sortingDataAccessor = defaultDataAcessor;\r\n\t\tthis.ugDataSource._updateChangeSubscription();\r\n\t\tthis.ugSemDados = this.ugDataSource.filteredData.length === 0;\r\n\t}\r\n\r\n\tpublic cancelar() {\r\n\t\tthis._location.back();\r\n\t}\r\n\r\n\tpublic obterCargaCriterios() {\r\n\t\tthis.peaService\r\n\t\t\t.obterCargaCriteriosPorId(this.id)\r\n\t\t\t.then((resCriterios) => {\r\n\t\t\t\tconst criterios = resCriterios.dados.map(\r\n\t\t\t\t\t(c) =>\r\n\t\t\t\t\t\t({\r\n\t\t\t\t\t\t\t...c,\r\n\t\t\t\t\t\t\tquestionariosEnviados:\r\n\t\t\t\t\t\t\t\tc.peaCriterioQuestionario.length > 0,\r\n\t\t\t\t\t\t} as ICargaCriterioPeaModel)\r\n\t\t\t\t);\r\n\t\t\t\tthis.peaQuestionario =\r\n\t\t\t\t\tcriterios.filter(\r\n\t\t\t\t\t\t(_) => _.criterio.tipoEntrada.nome === \"Questionario\"\r\n\t\t\t\t\t).length > 0;\r\n\t\t\t\tcriterios.forEach((element) => {\r\n\t\t\t\t\telement.peaCriterioQuestionario.forEach((item) => {\r\n\t\t\t\t\t\tthis.visualizarBotaoFormulario =\r\n\t\t\t\t\t\t\tthis.hoje.diff(item.dataLimite) >= 0 &&\r\n\t\t\t\t\t\t\titem.status == \"Expirado\";\r\n\t\t\t\t\t\tif (this.visualizarBotaoFormulario) {\r\n\t\t\t\t\t\t\tconst texto =\r\n\t\t\t\t\t\t\t\t\"O questionário: \" +\r\n\t\t\t\t\t\t\t\titem.criterio.nome +\r\n\t\t\t\t\t\t\t\t\" - não foi respondido pela unidade gestora - \" +\r\n\t\t\t\t\t\t\t\titem.unidadeGestora.nome +\r\n\t\t\t\t\t\t\t\t\" (prazo expirado).\";\r\n\t\t\t\t\t\t\tthis.exibirMensagemAlerta(texto);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\tthis.criterioDataSource =\r\n\t\t\t\t\tnew MatTableDataSource(criterios);\r\n\t\t\t\tthis.criterioDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.criterioSemDados =\r\n\t\t\t\t\tthis.criterioDataSource.filteredData.length === 0;\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic obterCapacidadeTrabalho(peaId: number): Promise {\r\n\t\treturn this.peaService\r\n\t\t\t.obterCapacidadeTrabalhoPorId(peaId)\r\n\t\t\t.then((resCapacidade) => {\r\n\t\t\t\tthis.showPendencias(resCapacidade?.pendencias);\r\n\r\n\t\t\t\tlet dadosPreparados = [];\r\n\t\t\t\tconst anos = [\r\n\t\t\t\t\t...new Set(resCapacidade.dados?.map((d) => d.ano)),\r\n\t\t\t\t];\r\n\r\n\t\t\t\tfor (const ano of anos) {\r\n\t\t\t\t\t// Header\r\n\t\t\t\t\tdadosPreparados.push({\r\n\t\t\t\t\t\tgrupo: true,\r\n\t\t\t\t\t\tano,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// Dados\r\n\t\t\t\t\tdadosPreparados = dadosPreparados.concat(\r\n\t\t\t\t\t\tresCapacidade.dados.filter((c) => c.ano === ano)\r\n\t\t\t\t\t);\r\n\t\t\t\t\t// Footer\r\n\t\t\t\t\tdadosPreparados.push({\r\n\t\t\t\t\t\tsubTotal: true,\r\n\t\t\t\t\t\tcapacidadeTotalAno: resCapacidade.dados\r\n\t\t\t\t\t\t\t.filter((c) => c.ano === ano)\r\n\t\t\t\t\t\t\t.map((c) => c.capacidadeTotalCoordenacao)\r\n\t\t\t\t\t\t\t.reduce((sum, record) => sum + record),\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tthis.capacidadeDataSource = new MatTableDataSource(\r\n\t\t\t\t\tdadosPreparados\r\n\t\t\t\t);\r\n\t\t\t\tthis.capacidadeDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.capacidadeSemDados =\r\n\t\t\t\t\tthis.capacidadeDataSource.filteredData.length === 0;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(\r\n\t\t\t\t\t\"Houve uma falha ao buscar os dados de Capacidade de Trabalho para esse PEAC.\"\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic async obterPainelDistribuicao(peaId: number): Promise {\r\n\t\tawait this.peaService\r\n\t\t\t.obterPainelDistribuicaoPorPeaId(peaId)\r\n\t\t\t.then((resPainel) => {\r\n\t\t\t\tif (!resPainel.dados) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.distribuicaoDataSource = new MatTableDataSource();\r\n\t\t\t\tthis.distribuicaoDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.distribuicaoNaoContempladosDataSource =\r\n\t\t\t\t\tnew MatTableDataSource();\r\n\t\t\t\tthis.distribuicaoNaoContempladosDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.distribuicaoPersonalizadoDataSource =\r\n\t\t\t\t\tnew MatTableDataSource();\r\n\t\t\t\tthis.distribuicaoPersonalizadoDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.distribuicaoNaoContempladosPersonalizadoDataSource =\r\n\t\t\t\t\tnew MatTableDataSource();\r\n\t\t\t\tthis.distribuicaoNaoContempladosPersonalizadoDataSource._updateChangeSubscription();\r\n\r\n\t\t\t\tthis.model.classificacaoPersonalizada =\r\n\t\t\t\t\tresPainel.dados.classificacaoPersonalizada;\r\n\r\n\t\t\t\tthis.pisoAlto =\r\n\t\t\t\t\tresPainel.dados.faixaClassificacaoPadrao.pisoAlto\r\n\t\t\t\t\t\t.toFixed(4)\r\n\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t.replace(\".\", \",\");\r\n\t\t\t\tthis.tetoAlto =\r\n\t\t\t\t\tresPainel.dados.faixaClassificacaoPadrao.tetoAlto\r\n\t\t\t\t\t\t.toFixed(4)\r\n\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t.replace(\".\", \",\");\r\n\t\t\t\tthis.pisoMedio =\r\n\t\t\t\t\tresPainel.dados.faixaClassificacaoPadrao.pisoMedio\r\n\t\t\t\t\t\t.toFixed(4)\r\n\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t.replace(\".\", \",\");\r\n\t\t\t\tthis.tetoMedio =\r\n\t\t\t\t\tresPainel.dados.faixaClassificacaoPadrao.tetoMedio\r\n\t\t\t\t\t\t.toFixed(4)\r\n\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t.replace(\".\", \",\");\r\n\t\t\t\tthis.pisoBaixo =\r\n\t\t\t\t\tresPainel.dados.faixaClassificacaoPadrao.pisoBaixo\r\n\t\t\t\t\t\t.toFixed(4)\r\n\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t.replace(\".\", \",\");\r\n\t\t\t\tthis.tetoBaixo =\r\n\t\t\t\t\tresPainel.dados.faixaClassificacaoPadrao.tetoBaixo\r\n\t\t\t\t\t\t.toFixed(4)\r\n\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t.replace(\".\", \",\");\r\n\r\n\t\t\t\tthis.modelFaixaPadrao =\r\n\t\t\t\t\tresPainel.dados.faixaClassificacaoPadrao;\r\n\t\t\t\tthis.modelFaixaPersonalizada =\r\n\t\t\t\t\tresPainel.dados.faixaClassificacaoPersonalizada;\r\n\r\n\t\t\t\tif (!this.model.classificacaoPersonalizada) {\r\n\t\t\t\t\tthis.modelFaixa = this.modelFaixaPadrao;\r\n\t\t\t\t\tthis.model.classificacaoPisoBaixo =\r\n\t\t\t\t\t\tthis.modelFaixaPadrao?.pisoBaixo ?? 0;\r\n\t\t\t\t\tthis.model.classificacaoTetoBaixo =\r\n\t\t\t\t\t\tthis.modelFaixaPadrao?.tetoBaixo ?? 0;\r\n\t\t\t\t\tthis.model.classificacaoPisoMedio =\r\n\t\t\t\t\t\tthis.modelFaixaPadrao?.pisoMedio ?? 0;\r\n\t\t\t\t\tthis.model.classificacaoTetoMedio =\r\n\t\t\t\t\t\tthis.modelFaixaPadrao?.tetoMedio ?? 0;\r\n\t\t\t\t\tthis.model.classificacaoPisoAlto =\r\n\t\t\t\t\t\tthis.modelFaixaPadrao?.pisoAlto ?? 0;\r\n\t\t\t\t\tthis.model.classificacaoTetoAlto =\r\n\t\t\t\t\t\tthis.modelFaixaPadrao?.tetoAlto ?? 0;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.modelFaixa = this.modelFaixaPersonalizada;\r\n\t\t\t\t\tthis.model.classificacaoPisoBaixo =\r\n\t\t\t\t\t\tthis.modelFaixaPersonalizada?.pisoBaixo ?? 0;\r\n\t\t\t\t\tthis.model.classificacaoTetoBaixo =\r\n\t\t\t\t\t\tthis.modelFaixaPersonalizada?.tetoBaixo ?? 0;\r\n\t\t\t\t\tthis.model.classificacaoPisoMedio =\r\n\t\t\t\t\t\tthis.modelFaixaPersonalizada?.pisoMedio ?? 0;\r\n\t\t\t\t\tthis.model.classificacaoTetoMedio =\r\n\t\t\t\t\t\tthis.modelFaixaPersonalizada?.tetoMedio ?? 0;\r\n\t\t\t\t\tthis.model.classificacaoPisoAlto =\r\n\t\t\t\t\t\tthis.modelFaixaPersonalizada?.pisoAlto ?? 0;\r\n\t\t\t\t\tthis.model.classificacaoTetoAlto =\r\n\t\t\t\t\t\tthis.modelFaixaPersonalizada?.tetoAlto ?? 0;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Padrão\r\n\t\t\t\t// Contempladas\r\n\t\t\t\tconst tabela = [];\r\n\t\t\t\tthis.columnsDistribuicao = [\r\n\t\t\t\t\t...new Set(\r\n\t\t\t\t\t\tresPainel.dados.painelDistribuicaoPadrao?.painel.map(\r\n\t\t\t\t\t\t\t(d) => d.ano.toString()\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t),\r\n\t\t\t\t];\r\n\r\n\t\t\t\tfor (const item of resPainel.dados.painelDistribuicaoPadrao?.painel.filter(\r\n\t\t\t\t\t(d) => d.contemplada\r\n\t\t\t\t)) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\ttabela.length === 0 ||\r\n\t\t\t\t\t\ttabela.findIndex((r) => !r[item.ano.toString()]) < 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tconst row = {};\r\n\t\t\t\t\t\trow[item.ano.toString()] = item.unidadeGestoraSigla;\r\n\t\t\t\t\t\trow[item.ano.toString() + \"_class\"] =\r\n\t\t\t\t\t\t\titem.blocoPainel.nome;\r\n\t\t\t\t\t\trow[item.ano.toString() + \"_indice\"] =\r\n\t\t\t\t\t\t\t(item.indicePriorizacao ?? 0)?.toFixed(4) ?? 0;\r\n\t\t\t\t\t\ttabela.push(row);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst row =\r\n\t\t\t\t\t\t\ttabela[\r\n\t\t\t\t\t\t\t\ttabela.findIndex((r) => !r[item.ano.toString()])\r\n\t\t\t\t\t\t\t];\r\n\t\t\t\t\t\trow[item.ano.toString()] = item.unidadeGestoraSigla;\r\n\t\t\t\t\t\trow[item.ano.toString() + \"_class\"] =\r\n\t\t\t\t\t\t\titem.blocoPainel.nome;\r\n\t\t\t\t\t\trow[item.ano.toString() + \"_indice\"] =\r\n\t\t\t\t\t\t\t(item.indicePriorizacao ?? 0)?.toFixed(4) ?? 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.distribuicaoDataSource = new MatTableDataSource(\r\n\t\t\t\t\ttabela\r\n\t\t\t\t);\r\n\t\t\t\tthis.distribuicaoDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.distribuicaoSemDados =\r\n\t\t\t\t\tthis.distribuicaoDataSource.filteredData.length === 0;\r\n\r\n\t\t\t\t// Não Contempladas\r\n\t\t\t\tconst tabelaNaoContemplados = [];\r\n\r\n\t\t\t\tfor (const item of resPainel.dados.painelDistribuicaoPadrao?.painel.filter(\r\n\t\t\t\t\t(d) => !d.contemplada\r\n\t\t\t\t)) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\ttabelaNaoContemplados.length === 0 ||\r\n\t\t\t\t\t\ttabelaNaoContemplados.findIndex(\r\n\t\t\t\t\t\t\t(r) => !r[item.ano.toString()]\r\n\t\t\t\t\t\t) < 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tconst row = {};\r\n\t\t\t\t\t\trow[item.ano.toString()] = item.unidadeGestoraSigla;\r\n\t\t\t\t\t\trow[item.ano.toString() + \"_indice\"] =\r\n\t\t\t\t\t\t\t(item.indicePriorizacao ?? 0)?.toFixed(4) ?? 0;\r\n\t\t\t\t\t\ttabelaNaoContemplados.push(row);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst row =\r\n\t\t\t\t\t\t\ttabelaNaoContemplados[\r\n\t\t\t\t\t\t\t\ttabelaNaoContemplados.findIndex(\r\n\t\t\t\t\t\t\t\t\t(r) => !r[item.ano.toString()]\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t];\r\n\t\t\t\t\t\trow[item.ano.toString()] = item.unidadeGestoraSigla;\r\n\t\t\t\t\t\trow[item.ano.toString() + \"_indice\"] =\r\n\t\t\t\t\t\t\t(item.indicePriorizacao ?? 0)?.toFixed(4) ?? 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.distribuicaoNaoContempladosDataSource =\r\n\t\t\t\t\tnew MatTableDataSource(tabelaNaoContemplados);\r\n\t\t\t\tthis.distribuicaoNaoContempladosDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.distribuicaoNaoContempladosSemDados =\r\n\t\t\t\t\tthis.distribuicaoNaoContempladosDataSource.filteredData\r\n\t\t\t\t\t\t.length === 0;\r\n\r\n\t\t\t\t// Personalizada\r\n\t\t\t\t// Contempladas\r\n\t\t\t\tif (resPainel.dados.painelDistribuicaoPersonalizado) {\r\n\t\t\t\t\tconst tabelaPersonalizada = [];\r\n\t\t\t\t\tthis.columnsDistribuicaoPersonalizado = [\r\n\t\t\t\t\t\t...new Set(\r\n\t\t\t\t\t\t\tresPainel.dados.painelDistribuicaoPersonalizado?.painel.map(\r\n\t\t\t\t\t\t\t\t(d) => d.ano.toString()\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t];\r\n\r\n\t\t\t\t\tfor (const item of resPainel.dados.painelDistribuicaoPersonalizado?.painel.filter(\r\n\t\t\t\t\t\t(d) => d.contemplada\r\n\t\t\t\t\t)) {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\ttabelaPersonalizada.length === 0 ||\r\n\t\t\t\t\t\t\ttabelaPersonalizada.findIndex(\r\n\t\t\t\t\t\t\t\t(r) => !r[item.ano.toString()]\r\n\t\t\t\t\t\t\t) < 0\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tconst row = {};\r\n\t\t\t\t\t\t\trow[item.ano.toString()] = item.unidadeGestoraSigla;\r\n\t\t\t\t\t\t\trow[item.ano.toString() + \"_class\"] =\r\n\t\t\t\t\t\t\t\titem.blocoPainel.nome;\r\n\t\t\t\t\t\t\trow[item.ano.toString() + \"_indice\"] =\r\n\t\t\t\t\t\t\t\t(item.indicePriorizacao ?? 0)?.toFixed(4) ?? 0;\r\n\t\t\t\t\t\t\ttabelaPersonalizada.push(row);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst row =\r\n\t\t\t\t\t\t\t\ttabelaPersonalizada[\r\n\t\t\t\t\t\t\t\t\ttabelaPersonalizada.findIndex(\r\n\t\t\t\t\t\t\t\t\t\t(r) => !r[item.ano.toString()]\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t];\r\n\t\t\t\t\t\t\trow[item.ano.toString()] = item.unidadeGestoraSigla;\r\n\t\t\t\t\t\t\trow[item.ano.toString() + \"_class\"] =\r\n\t\t\t\t\t\t\t\titem.blocoPainel.nome;\r\n\t\t\t\t\t\t\trow[item.ano.toString() + \"_indice\"] =\r\n\t\t\t\t\t\t\t\t(item.indicePriorizacao ?? 0)?.toFixed(4) ?? 0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.distribuicaoPersonalizadoDataSource =\r\n\t\t\t\t\t\tnew MatTableDataSource(tabelaPersonalizada);\r\n\t\t\t\t\tthis.distribuicaoPersonalizadoDataSource._updateChangeSubscription();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.distribuicaoPersonalizadoDataSource =\r\n\t\t\t\t\t\tnew MatTableDataSource([]);\r\n\t\t\t\t\tthis.distribuicaoPersonalizadoDataSource._updateChangeSubscription();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.distribuicaoSemDadosPersonalizado =\r\n\t\t\t\t\tthis.distribuicaoPersonalizadoDataSource.filteredData\r\n\t\t\t\t\t\t.length === 0;\r\n\r\n\t\t\t\t// Não Contempladas\r\n\t\t\t\tif (resPainel.dados.painelDistribuicaoPersonalizado) {\r\n\t\t\t\t\tconst tabelaNaoContempladosPersonalizada = [];\r\n\r\n\t\t\t\t\tfor (const item of resPainel.dados.painelDistribuicaoPersonalizado?.painel.filter(\r\n\t\t\t\t\t\t(d) => !d.contemplada\r\n\t\t\t\t\t)) {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\ttabelaNaoContempladosPersonalizada.length === 0 ||\r\n\t\t\t\t\t\t\ttabelaNaoContempladosPersonalizada.findIndex(\r\n\t\t\t\t\t\t\t\t(r) => !r[item.ano.toString()]\r\n\t\t\t\t\t\t\t) < 0\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tconst row = {};\r\n\t\t\t\t\t\t\trow[item.ano.toString()] = item.unidadeGestoraSigla;\r\n\t\t\t\t\t\t\trow[item.ano.toString() + \"_indice\"] =\r\n\t\t\t\t\t\t\t\t(item.indicePriorizacao ?? 0)?.toFixed(4) ?? 0;\r\n\t\t\t\t\t\t\ttabelaNaoContempladosPersonalizada.push(row);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconst row =\r\n\t\t\t\t\t\t\t\ttabelaNaoContempladosPersonalizada[\r\n\t\t\t\t\t\t\t\t\ttabelaNaoContempladosPersonalizada.findIndex(\r\n\t\t\t\t\t\t\t\t\t\t(r) => !r[item.ano.toString()]\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t];\r\n\t\t\t\t\t\t\trow[item.ano.toString()] = item.unidadeGestoraSigla;\r\n\t\t\t\t\t\t\trow[item.ano.toString() + \"_indice\"] =\r\n\t\t\t\t\t\t\t\t(item.indicePriorizacao ?? 0)?.toFixed(4) ?? 0;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.distribuicaoNaoContempladosPersonalizadoDataSource =\r\n\t\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\t\ttabelaNaoContempladosPersonalizada\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\tthis.distribuicaoNaoContempladosPersonalizadoDataSource._updateChangeSubscription();\r\n\t\t\t\t\tthis.distribuicaoNaoContempladosSemDadosPersonalizado =\r\n\t\t\t\t\t\tthis.distribuicaoNaoContempladosPersonalizadoDataSource\r\n\t\t\t\t\t\t\t.filteredData.length === 0;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.distribuicaoPersonalizadoDataSource =\r\n\t\t\t\t\t\tnew MatTableDataSource([]);\r\n\t\t\t\t\tthis.distribuicaoPersonalizadoDataSource._updateChangeSubscription();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(\r\n\t\t\t\t\t\"Houve uma falha ao buscar os dados desse PEAC.\"\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic agrupadorCapacidade(index: number, item: any): boolean {\r\n\t\treturn item.grupo;\r\n\t}\r\n\r\n\tpublic subTotalCapacidade(index: number, item: any): boolean {\r\n\t\treturn item.subTotal;\r\n\t}\r\n\r\n\tpublic async descricaoDiasUteis(\r\n\t\tcapacidade: IPeaCoordenacaoDiasUteisModel,\r\n\t\tvisualizar?: boolean\r\n\t) {\r\n\t\ttry {\r\n\t\t\tconst feriadosPorTipo = capacidade.extras.feriadosPorTipo as Record<\r\n\t\t\t\tEnumTipoFeriado,\r\n\t\t\t\tnumber\r\n\t\t\t>;\r\n\r\n\t\t\tconst coordenacao = (\r\n\t\t\t\tawait this.coordenacaoService.obterCapacidadePorAno(\r\n\t\t\t\t\tcapacidade.coordenacaoId,\r\n\t\t\t\t\tcapacidade.ano\r\n\t\t\t\t)\r\n\t\t\t).dados;\r\n\r\n\t\t\tconst auditoriasEspeciais = capacidade.extras\r\n\t\t\t\t.auditoriasEspeciaisGet || { id: \"\", valor: \"\" };\r\n\r\n\t\t\tconst feriadoEnumToKeyMap = {\r\n\t\t\t\t[EnumTipoFeriado.Nacional]: \"nacional\",\r\n\t\t\t\t[EnumTipoFeriado.Estadual]: \"estadual\",\r\n\t\t\t\t[EnumTipoFeriado.Municipal]: \"municipal\",\r\n\t\t\t\t[EnumTipoFeriado.PontoFacultativo]: \"pontoFacultativo\",\r\n\t\t\t\t[EnumTipoFeriado.Outros]: \"outros\",\r\n\t\t\t};\r\n\r\n\t\t\t// Extrair os dados necessários do objeto capacidade\r\n\t\t\tconst data = {\r\n\t\t\t\tano: capacidade.ano,\r\n\t\t\t\ttotalDiasAno: capacidade.extras.diasAno,\r\n\t\t\t\tdiasNaoUteis: {\r\n\t\t\t\t\tsabDom: capacidade.extras.diasFinaisSemana || 0,\r\n\t\t\t\t\tferNac:\r\n\t\t\t\t\t\tcapacidade.extras.feriadosPorTipo?.[\r\n\t\t\t\t\t\t\tferiadoEnumToKeyMap[EnumTipoFeriado.Nacional]\r\n\t\t\t\t\t\t] || 0,\r\n\t\t\t\t\tferEst:\r\n\t\t\t\t\t\tcapacidade.extras.feriadosPorTipo?.[\r\n\t\t\t\t\t\t\tferiadoEnumToKeyMap[EnumTipoFeriado.Estadual]\r\n\t\t\t\t\t\t] || 0,\r\n\t\t\t\t\tferMun:\r\n\t\t\t\t\t\tcapacidade.extras.feriadosPorTipo?.[\r\n\t\t\t\t\t\t\tferiadoEnumToKeyMap[EnumTipoFeriado.Municipal]\r\n\t\t\t\t\t\t] || 0,\r\n\t\t\t\t\tpontoFac:\r\n\t\t\t\t\t\tcapacidade.extras.feriadosPorTipo?.[\r\n\t\t\t\t\t\t\tferiadoEnumToKeyMap[\r\n\t\t\t\t\t\t\t\tEnumTipoFeriado.PontoFacultativo\r\n\t\t\t\t\t\t\t]\r\n\t\t\t\t\t\t] || 0,\r\n\t\t\t\t\toutros:\r\n\t\t\t\t\t\tcapacidade.extras.feriadosPorTipo?.[\r\n\t\t\t\t\t\t\tferiadoEnumToKeyMap[EnumTipoFeriado.Outros]\r\n\t\t\t\t\t\t] || 0,\r\n\t\t\t\t\ttotalDNU: capacidade.extras.totalDiasNaoUteis || 0,\r\n\t\t\t\t},\r\n\t\t\t\tdu: capacidade.extras.du || 0,\r\n\t\t\t\ttipoDispensa: capacidade.extras.tipoDispensa,\r\n\t\t\t\ttotalDispensasPadrao:\r\n\t\t\t\t\tcapacidade.extras.totalDispensasPadrao || 0,\r\n\t\t\t\tdiasDisponiveisTotais:\r\n\t\t\t\t\tcapacidade.extras.diasDisponiveisTotais || 0,\r\n\t\t\t\tdiasReservadosAuditoriasEspeciais:\r\n\t\t\t\t\tcapacidade.extras.diasReservadosAuditoriasEspeciais || 0,\r\n\t\t\t\tdiasDisponiveis: capacidade.extras.diasDisponiveis || 0,\r\n\t\t\t\tauditoriasEspeciais: {\r\n\t\t\t\t\tid: capacidade.extras.auditoriasEspeciaisGet.id,\r\n\t\t\t\t\tvalor: capacidade.extras.auditoriasEspeciaisGet.valor,\r\n\t\t\t\t},\r\n\t\t\t\tauditoriaEspecialDD: capacidade.extras.auditoriaEspecialDD,\r\n\t\t\t};\r\n\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = \"modal-component\";\r\n\t\t\tdialogConfig.width = \"1080px\";\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = true;\r\n\t\t\tdialogConfig.data = {\r\n\t\t\t\tcapacidade: data,\r\n\t\t\t\tcoordenacao,\r\n\t\t\t\tvisualizar,\r\n\t\t\t};\r\n\r\n\t\t\tthis.matDialog.open(ModalDescricaoDiasUteisComponent, dialogConfig);\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async descricaoPEAC(\r\n\t\tcapacidade: IPeaCoordenacaoDiasUteisModel,\r\n\t\tvisualizar?: boolean\r\n\t) {\r\n\t\ttry {\r\n\t\t\tconst coordenacao = (\r\n\t\t\t\tawait this.coordenacaoService.obterCapacidadePorAno(\r\n\t\t\t\t\tcapacidade.coordenacaoId,\r\n\t\t\t\t\tcapacidade.ano\r\n\t\t\t\t)\r\n\t\t\t).dados;\r\n\r\n\t\t\t// Extrair os dados necessários do objeto capacidade\r\n\t\t\tconst data = {\r\n\t\t\t\tcapacidade: {\r\n\t\t\t\t\tdiasDisponiveis: capacidade.extras.diasDisponiveis,\r\n\t\t\t\t\tqntDiasPorAuditor: capacidade.extras.qntDiasPorAuditor,\r\n\t\t\t\t\tnumAuditoriaPorEquipe:\r\n\t\t\t\t\t\tcapacidade.extras.numAuditoriaPorEquipe,\r\n\t\t\t\t\tnumAuditoriaPorEquipeArred:\r\n\t\t\t\t\t\tcapacidade.extras.numAuditoriaPorEquipeArred,\r\n\t\t\t\t\tnumEquipeDisponiveis:\r\n\t\t\t\t\t\tcapacidade.extras.numEquipeDisponiveis,\r\n\t\t\t\t\tcapacidadeTotalPorCoord:\r\n\t\t\t\t\t\tcapacidade.extras.capacidadeTotalPorCoord,\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t\t// Configuração do modal\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = \"modal-descricao-paac-component\";\r\n\t\t\tdialogConfig.width = \"600px\";\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = true;\r\n\t\t\tdialogConfig.data = data;\r\n\r\n\t\t\t// Abrir o modal\r\n\t\t\tconst modal = this.matDialog.open(\r\n\t\t\t\tModalDescricaoPEACComponent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t);\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async editarCapacidade(\r\n\t\tcapacidade: IPeaCoordenacaoCapacidadeModel,\r\n\t\tvisualizar?: boolean\r\n\t) {\r\n\t\ttry {\r\n\t\t\tconst coordenacao = (\r\n\t\t\t\tawait this.coordenacaoService.obterCapacidadePorAno(\r\n\t\t\t\t\tcapacidade.coordenacaoId,\r\n\t\t\t\t\tcapacidade.ano\r\n\t\t\t\t)\r\n\t\t\t).dados;\r\n\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = \"modal-component\";\r\n\t\t\tdialogConfig.width = \"1080px\";\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = true;\r\n\t\t\tdialogConfig.data = {\r\n\t\t\t\tcapacidade,\r\n\t\t\t\tcoordenacao,\r\n\t\t\t\tvisualizar,\r\n\t\t\t};\r\n\t\t\tconst modal = this.matDialog.open(\r\n\t\t\t\tModalCapacidadeComponent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t);\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async salvarDados(salvarEFechar: boolean) {\r\n\t\tthis.submit = true;\r\n\r\n\t\tif (this.form.invalid) {\r\n\t\t\tthis.exibirMensagemErro(\"Formulário invalido!\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tthis.ugDataSource.data.length === 0 ||\r\n\t\t\tthis.coordenacoesDataSource.data.length === 0\r\n\t\t) {\r\n\t\t\tthis.exibirMensagemErro(\r\n\t\t\t\t\"Informe alguma Unidade Gestora e alguma Coordenação\"\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.atualizarModel(this.form.value);\r\n\r\n\t\ttry {\r\n\t\t\tlet res: IBaseModel = null;\r\n\t\t\tObject.assign(this.modelDadosBasicos, this.form.value);\r\n\t\t\tif (this.novoRegistro) {\r\n\t\t\t\tres = await this.peaService.inserir(this.modelDadosBasicos);\r\n\t\t\t} else {\r\n\t\t\t\tswitch (this.aba) {\r\n\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\tres = await this.atualizarAbaDadosBasicos();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 4:\r\n\t\t\t\t\t\tres = await this.atualizarAbaDistribuicao();\r\n\t\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\t\tthis.obterAbaDistribuicao();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tconsole.warn(\"salvar não implementado\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tthis.exibirMensagemSucesso(res.mensagem.descricao);\r\n\t\t\t\tthis.salvarDadosPendente = false;\r\n\t\t\t\tif (\r\n\t\t\t\t\tres.dados?.pendencias?.pendencias &&\r\n\t\t\t\t\tres.dados?.pendencias?.pendencias.length > 0\r\n\t\t\t\t)\r\n\t\t\t\t\tthis.showPendencias(res?.dados?.pendencias?.pendencias);\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (salvarEFechar == true) this.router.navigate([\"/pea\"]);\r\n\t\t\telse {\r\n\t\t\t\tif (this.novoRegistro)\r\n\t\t\t\t\tthis.router.navigate([`/pea/${res.dados.id}`]);\r\n\t\t\t\tawait this.obterDadosBasicos();\r\n\t\t\t}\r\n\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tif (\r\n\t\t\t\t\tres.dados?.pendencias?.pendencias &&\r\n\t\t\t\t\tres.dados?.pendencias?.pendencias.length > 0\r\n\t\t\t\t) {\r\n\t\t\t\t\tthis.showPendencias(res?.dados?.pendencias?.pendencias);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconst validacoes = this.montarMensagensValidacao(res);\r\n\r\n\t\t\t\tif (validacoes.trim().length > 0)\r\n\t\t\t\t\tthis.exibirMensagemErro(validacoes);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err?.mensagem?.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async atualizarAbaDadosBasicos() {\r\n\t\tthis.modelDadosBasicos.peaUnidadeGestora = this.ugDataSource.data;\r\n\t\tthis.modelDadosBasicos.peaCoordenacao =\r\n\t\t\tthis.coordenacoesDataSource.data;\r\n\t\treturn this.peaService.atualizarDadosBasicos(this.modelDadosBasicos);\r\n\t}\r\n\r\n\tpublic async atualizarAbaDistribuicao() {\r\n\t\tif (this.model.classificacaoPersonalizada) {\r\n\t\t\tthis.model.classificacaoPisoBaixo = this.modelFaixa?.pisoBaixo ?? 0;\r\n\t\t\tthis.model.classificacaoTetoBaixo = this.modelFaixa?.tetoBaixo ?? 0;\r\n\t\t\tthis.model.classificacaoPisoMedio = this.modelFaixa?.pisoMedio ?? 0;\r\n\t\t\tthis.model.classificacaoTetoMedio = this.modelFaixa?.tetoMedio ?? 0;\r\n\t\t\tthis.model.classificacaoPisoAlto = this.modelFaixa?.pisoAlto ?? 0;\r\n\t\t\tthis.model.classificacaoTetoAlto = this.modelFaixa?.tetoAlto ?? 0;\r\n\t\t} else {\r\n\t\t\tthis.model.classificacaoPisoBaixo = null;\r\n\t\t\tthis.model.classificacaoTetoBaixo = null;\r\n\t\t\tthis.model.classificacaoPisoMedio = null;\r\n\t\t\tthis.model.classificacaoTetoMedio = null;\r\n\t\t\tthis.model.classificacaoPisoAlto = null;\r\n\t\t\tthis.model.classificacaoTetoAlto = null;\r\n\t\t}\r\n\r\n\t\tthis.model.validacaoFluxoAprovacao = null;\r\n\t\tthis.model.id = this.id;\r\n\r\n\t\treturn this.peaService.AtualizarFaixaClassificacao(this.model);\r\n\t}\r\n\r\n\tpublic async salvarDadosDistribuicao(salvarEFechar: boolean) {\r\n\t\tthis.submit = true;\r\n\t\tif (this.form.invalid) {\r\n\t\t\tthis.exibirMensagemErro(\"Formulário invalido!\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.atualizarModel(this.form.value);\r\n\r\n\t\tif (this.model.classificacaoPersonalizada) {\r\n\t\t\tthis.model.classificacaoPisoBaixo = this.modelFaixa?.pisoBaixo ?? 0;\r\n\t\t\tthis.model.classificacaoTetoBaixo = this.modelFaixa?.tetoBaixo ?? 0;\r\n\t\t\tthis.model.classificacaoPisoMedio = this.modelFaixa?.pisoMedio ?? 0;\r\n\t\t\tthis.model.classificacaoTetoMedio = this.modelFaixa?.tetoMedio ?? 0;\r\n\t\t\tthis.model.classificacaoPisoAlto = this.modelFaixa?.pisoAlto ?? 0;\r\n\t\t\tthis.model.classificacaoTetoAlto = this.modelFaixa?.tetoAlto ?? 0;\r\n\t\t} else {\r\n\t\t\tthis.model.classificacaoPisoBaixo = null;\r\n\t\t\tthis.model.classificacaoTetoBaixo = null;\r\n\t\t\tthis.model.classificacaoPisoMedio = null;\r\n\t\t\tthis.model.classificacaoTetoMedio = null;\r\n\t\t\tthis.model.classificacaoPisoAlto = null;\r\n\t\t\tthis.model.classificacaoTetoAlto = null;\r\n\t\t}\r\n\r\n\t\tthis.model.validacaoFluxoAprovacao = null;\r\n\r\n\t\ttry {\r\n\t\t\tlet res: IBaseModel = null;\r\n\r\n\t\t\tres = await this.peaService.atualizar(this.model);\r\n\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tthis.exibirMensagemSucesso(res.mensagem.descricao);\r\n\r\n\t\t\t\tif (salvarEFechar == true) this.router.navigate([\"/pea\"]);\r\n\t\t\t} else {\r\n\t\t\t\tconst validacoes = this.montarMensagensValidacao(res);\r\n\t\t\t\tif (validacoes.trim().length > 0) {\r\n\t\t\t\t\tthis.exibirMensagemErro(validacoes);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err?.mensagem?.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate atualizarModel(values: any) {\r\n\t\tObject.assign(this.model, values);\r\n\t}\r\n\r\n\tpublic async enviarAprovar() {\r\n\t\tconst perfis = await this.authService.obterPerfisSimplificado();\r\n\t\tconst inputOptions = new Map();\r\n\r\n\t\tperfis.dados.forEach((element) => {\r\n\t\t\tinputOptions.set(element.guid, element.nome);\r\n\t\t});\r\n\r\n\t\tSwal.fire({\r\n\t\t\ttitle: \"Enviar para aprovação\",\r\n\t\t\ttext: \"Selecione seu Perfil de envio para aprovação\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Enviar\",\r\n\t\t\tcancelButtonText: \"Cancelar\",\r\n\t\t\tinput: \"select\",\r\n\t\t\tinputOptions,\r\n\t\t}).then((res) => {\r\n\t\t\tif (res.isConfirmed) {\r\n\t\t\t\tthis.model.situacaoId = 2;\r\n\t\t\t\tthis.peaService\r\n\t\t\t\t\t.enviarAprovacao(this.id, res.value.toString())\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\t\tthis.exibirMensagemSucesso(\r\n\t\t\t\t\t\t\t\t\"Encaminhado para aprovação!\"\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tthis.router.navigate([`/pendencias`]);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\tthis.obterDados();\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic async exibirModalPeriodo() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.periodoService.obter(\"\", true);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tres.dados.sort(\r\n\t\t\t\t\t(d2, d1) =>\r\n\t\t\t\t\t\tnew Date(d1.dataInicio).getTime() -\r\n\t\t\t\t\t\tnew Date(d2.dataInicio).getTime()\r\n\t\t\t\t);\r\n\t\t\t\tconst modal = this.exibirModal(\"Selecionar Periodo\", res.dados);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\t\t\tthis.modelDadosBasicos.periodo = data;\r\n\t\t\t\t\t\tthis.modelDadosBasicos.periodoId = data.id;\r\n\t\t\t\t\t\tthis.form.controls[\"periodoId\"].setValue(data.id);\r\n\r\n\t\t\t\t\t\t// if (!this.novoRegistro) {\r\n\t\t\t\t\t\t// this.salvarDados(false);\r\n\t\t\t\t\t\t// this.obterDadosBasicos();\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async exibirModalIndicador() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.indicadorService.obter(\"\", true);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tres.dados.sort((a, b) => a[\"nome\"].localeCompare(b[\"nome\"]));\r\n\t\t\t\tconst modal = this.exibirModal(\r\n\t\t\t\t\t\"Selecionar Indicador\",\r\n\t\t\t\t\tres.dados\r\n\t\t\t\t);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\t\t\tthis.modelDadosBasicos.indicador = data;\r\n\t\t\t\t\t\tthis.modelDadosBasicos.indicadorId = data.id;\r\n\t\t\t\t\t\tthis.form.controls[\"indicadorId\"].setValue(data.id);\r\n\t\t\t\t\t\t// if (!this.novoRegistro) {\r\n\t\t\t\t\t\t// this.salvarDados(false);\r\n\t\t\t\t\t\t// this.obterDados();\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async exibirModalUg() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.ugService.obterAtivos();\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\t\tdialogConfig.id = \"modal-component\";\r\n\t\t\t\tdialogConfig.width = \"650px\";\r\n\t\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\t\tdialogConfig.disableClose = true;\r\n\t\t\t\tconst unidadesAdicionadas = [] as IUnidadeGestoraModel[];\r\n\t\t\t\tif (this.modelDadosBasicos.peaUnidadeGestora !== undefined) {\r\n\t\t\t\t\tthis.modelDadosBasicos.peaUnidadeGestora.forEach((d) =>\r\n\t\t\t\t\t\tunidadesAdicionadas.push(d.unidadeGestora)\r\n\t\t\t\t\t);\r\n\t\t\t\t\tdialogConfig.data = res.dados.filter(\r\n\t\t\t\t\t\t(d) => !unidadesAdicionadas.some((x) => d.id === x.id)\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdialogConfig.data = res.dados;\r\n\t\t\t\t\tthis.modelDadosBasicos.peaUnidadeGestora =\r\n\t\t\t\t\t\t[] as IPeaUnidadeGestoraModel[];\r\n\t\t\t\t}\r\n\t\t\t\tconst modal = this.matDialog.open(\r\n\t\t\t\t\tModalSelecionarUgComponent,\r\n\t\t\t\t\tdialogConfig\r\n\t\t\t\t);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\t\t\tif (Array.isArray(data)) {\r\n\t\t\t\t\t\t\tlet unidadeSelecionada =\r\n\t\t\t\t\t\t\t\t[] as IPeaUnidadeGestoraModel[];\r\n\t\t\t\t\t\t\tunidadeSelecionada = data.map(\r\n\t\t\t\t\t\t\t\t(d) =>\r\n\t\t\t\t\t\t\t\t\t({\r\n\t\t\t\t\t\t\t\t\t\tunidadeGestoraId: d.id,\r\n\t\t\t\t\t\t\t\t\t\tunidadeGestora: d,\r\n\t\t\t\t\t\t\t\t\t} as IPeaUnidadeGestoraModel)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tunidadeSelecionada.forEach((x) =>\r\n\t\t\t\t\t\t\t\tthis.modelDadosBasicos.peaUnidadeGestora.push(x)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.atualizarListaUgs(\r\n\t\t\t\t\t\t\tthis.modelDadosBasicos.peaUnidadeGestora\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async exibirModalCoordenacoes() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.coordenacaoService.obter(\"\", true);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\t\tdialogConfig.id = \"modal-component\";\r\n\t\t\t\tdialogConfig.width = \"650px\";\r\n\t\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\t\tdialogConfig.disableClose = true;\r\n\t\t\t\tconst coordenacoesAdicionadas = [] as ICoordenacaoModel[];\r\n\t\t\t\tif (this.modelDadosBasicos.peaCoordenacao !== undefined) {\r\n\t\t\t\t\tthis.modelDadosBasicos.peaCoordenacao.forEach((d) =>\r\n\t\t\t\t\t\tcoordenacoesAdicionadas.push(d.coordenacao)\r\n\t\t\t\t\t);\r\n\t\t\t\t\tdialogConfig.data = res.dados.filter(\r\n\t\t\t\t\t\t(d) =>\r\n\t\t\t\t\t\t\t!coordenacoesAdicionadas.some((x) => d.id === x.id)\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdialogConfig.data = res.dados;\r\n\t\t\t\t\tthis.modelDadosBasicos.peaCoordenacao =\r\n\t\t\t\t\t\t[] as IPeaCoordenacaoModel[];\r\n\t\t\t\t}\r\n\t\t\t\tconst modal = this.matDialog.open(\r\n\t\t\t\t\tModalSelecionarCoordenacoesComponent,\r\n\t\t\t\t\tdialogConfig\r\n\t\t\t\t);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\t\t\tif (Array.isArray(data)) {\r\n\t\t\t\t\t\t\tlet coordenacaoSelecionada =\r\n\t\t\t\t\t\t\t\t[] as IPeaCoordenacaoModel[];\r\n\t\t\t\t\t\t\tcoordenacaoSelecionada = data.map(\r\n\t\t\t\t\t\t\t\t(d) =>\r\n\t\t\t\t\t\t\t\t\t({\r\n\t\t\t\t\t\t\t\t\t\tcoordenacaoId: d.id,\r\n\t\t\t\t\t\t\t\t\t\tcoordenacao: d,\r\n\t\t\t\t\t\t\t\t\t} as IPeaCoordenacaoModel)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tcoordenacaoSelecionada.forEach((x) =>\r\n\t\t\t\t\t\t\t\tthis.modelDadosBasicos.peaCoordenacao.push(x)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.coordenacoesDataSource =\r\n\t\t\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\t\t\tthis.modelDadosBasicos.peaCoordenacao\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\tthis.coordenacoesDataSource._updateChangeSubscription();\r\n\t\t\t\t\t\tthis.coordenacaoSemDados =\r\n\t\t\t\t\t\t\tthis.coordenacoesDataSource.filteredData.length ===\r\n\t\t\t\t\t\t\t0;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic avancar() {\r\n\t\tthis.form.markAllAsTouched();\r\n\r\n\t\tlet invalid = false;\r\n\r\n\t\tif (this.form.invalid) {\r\n\t\t\tthis.exibirMensagemErro(\"Formulário inválido\");\r\n\t\t\tinvalid = true;\r\n\t\t}\r\n\t\tif (\r\n\t\t\t!this.model.peaCoordenacao ||\r\n\t\t\tthis.model.peaCoordenacao.length === 0\r\n\t\t) {\r\n\t\t\tthis.exibirMensagemErro(\r\n\t\t\t\t\"É obrigatório a seleção de pelo menos uma Coordenação!\"\r\n\t\t\t);\r\n\t\t\tinvalid = true;\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\t!this.model.peaUnidadeGestora ||\r\n\t\t\tthis.model.peaUnidadeGestora.length === 0\r\n\t\t) {\r\n\t\t\tthis.exibirMensagemAlerta(\r\n\t\t\t\t\"É obrigatório a seleção de pelo menos uma Unidade Gestora!\"\r\n\t\t\t);\r\n\t\t\tinvalid = true;\r\n\t\t}\r\n\r\n\t\tif (invalid) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.aba++;\r\n\t}\r\n\r\n\tpublic voltar() {\r\n\t\tthis.aba--;\r\n\t}\r\n\r\n\tpublic validar(): boolean {\r\n\t\treturn this.form.valid;\r\n\t}\r\n\r\n\tpublic excluirUg(ind: number) {\r\n\t\tSwal.fire({\r\n\t\t\ttitle: \"Excluir Unidade Gestora\",\r\n\t\t\ttext: \"Deseja realmente excluir a informação?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t}).then((resConfirm) => {\r\n\t\t\tif (resConfirm.isConfirmed) {\r\n\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\tthis.ugDataSource.data.splice(ind, 1);\r\n\t\t\t\tthis.atualizarListaUgs(this.ugDataSource.data);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic excluirCoordenacao(ind: number) {\r\n\t\tSwal.fire({\r\n\t\t\ttitle: \"Excluir Coordenação\",\r\n\t\t\ttext: \"Deseja realmente excluir a informação?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t}).then((resConfirm) => {\r\n\t\t\tif (resConfirm.isConfirmed) {\r\n\t\t\t\tthis.salvarDadosPendente = true;\r\n\t\t\t\tthis.coordenacoesDataSource.data.splice(ind, 1);\r\n\t\t\t\tthis.coordenacoesDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.coordenacaoSemDados =\r\n\t\t\t\t\tthis.coordenacoesDataSource.filteredData.length === 0;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t//0- Dados Básicos | 1-CargasCriterios | 2-Capacidade | 3-Ranking | 4-Distribuicao | 5-Relatoria | 6-LinhaDoTempo\r\n\tpublic async mudarAba(ind: number) {\r\n\t\tif (this.novoRegistro) {\r\n\t\t\tthis.exibirMensagemErro(\r\n\t\t\t\t\"Necessário salvar os dados antes de mudar de aba.\"\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.aba = ind;\r\n\r\n\t\tswitch (ind) {\r\n\t\t\tcase 0:\r\n\t\t\t\tthis.obterDadosBasicos();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 1:\r\n\t\t\t\tthis.obterAbaCargaCriterios();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 2:\r\n\t\t\t\tthis.obterAbaCapacidadeTrabalho();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 3:\r\n\t\t\t\tthis.obterAbaRanking();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 4:\r\n\t\t\t\tawait this.obterAbaDistribuicao();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 5:\r\n\t\t\t\tthis.obterDados();\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tconsole.warn(\"Aba não implementada\");\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic importarArquivoCriterio(id: number) {\r\n\t\ttry {\r\n\t\t\tconst respostas = this.ugDataSource.data.map(\r\n\t\t\t\t(u) =>\r\n\t\t\t\t\t({\r\n\t\t\t\t\t\tpeaId: this.id,\r\n\t\t\t\t\t\tcriterioId: id,\r\n\t\t\t\t\t\tunidadeGestoraId: u.unidadeGestoraId,\r\n\t\t\t\t\t\tunidadeGestora: u.unidadeGestora,\r\n\t\t\t\t\t} as IPeaCriterioRespostaModel)\r\n\t\t\t);\r\n\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = \"modal-component\";\r\n\t\t\tdialogConfig.width = \"700px\";\r\n\t\t\tdialogConfig.maxHeight = \"700px\";\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = true;\r\n\t\t\tdialogConfig.data = respostas;\r\n\t\t\tconst modal = this.matDialog.open(\r\n\t\t\t\tModalImportarArquivoCriterioComponent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t);\r\n\t\t\tmodal.afterClosed().subscribe(async (data) => {\r\n\t\t\t\tif (data) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\t\t\t\tconst res =\r\n\t\t\t\t\t\t\t\tawait this.peaService.enviarRespostasCriterio(\r\n\t\t\t\t\t\t\t\t\tthis.id,\r\n\t\t\t\t\t\t\t\t\trespostas.map((c) => ({\r\n\t\t\t\t\t\t\t\t\t\tpeaId: c.peaId,\r\n\t\t\t\t\t\t\t\t\t\tcriterioId: c.criterioId,\r\n\t\t\t\t\t\t\t\t\t\tunidadeGestoraId: c.unidadeGestoraId,\r\n\t\t\t\t\t\t\t\t\t\tvalorNumerico: c.valorNumerico,\r\n\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\t\t\tawait Promise.all([\r\n\t\t\t\t\t\t\t\t\tthis.obterDados(),\r\n\t\t\t\t\t\t\t\t\tthis.obterPainelDistribuicao(this.id),\r\n\t\t\t\t\t\t\t\t\tthis.peaService\r\n\t\t\t\t\t\t\t\t\t\t.obterCargaCriteriosPorId(this.id)\r\n\t\t\t\t\t\t\t\t\t\t.then((resCriterios) => {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.criterioDataSource =\r\n\t\t\t\t\t\t\t\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tresCriterios.dados\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\tthis.criterioDataSource._updateChangeSubscription();\r\n\t\t\t\t\t\t\t\t\t\t\tthis.criterioSemDados =\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.criterioDataSource\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.filteredData.length === 0;\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t]);\r\n\t\t\t\t\t\t\t\tthis.exibirMensagemSucesso(\r\n\t\t\t\t\t\t\t\t\tres.mensagem.descricao\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.exibirMensagemAlerta(\r\n\t\t\t\t\t\t\t\t\tres.mensagem.descricao\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\t\t\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t\t\t\tthis.router.navigate([\"/pea\"]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic preencherFormularioCriterio(id: number) {\r\n\t\ttry {\r\n\t\t\tconst criterio = this.criterioDataSource.data.find(\r\n\t\t\t\t(c) => c.criterioId === id\r\n\t\t\t);\r\n\t\t\tcriterio.peaCriterioResposta = criterio.peaCriterioResposta || [];\r\n\r\n\t\t\tlet respostas = this.ugDataSource.data.map((u) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\tcriterio.peaCriterioResposta.find(\r\n\t\t\t\t\t\t(r) => r.unidadeGestoraId === u.unidadeGestoraId\r\n\t\t\t\t\t) ||\r\n\t\t\t\t\t({\r\n\t\t\t\t\t\tpeaId: this.id,\r\n\t\t\t\t\t\tcriterioId: id,\r\n\t\t\t\t\t\tcriterio: criterio.criterio,\r\n\t\t\t\t\t\tunidadeGestoraId: u.unidadeGestoraId,\r\n\t\t\t\t\t\tunidadeGestora: u.unidadeGestora,\r\n\t\t\t\t\t} as IPeaCriterioRespostaModel)\r\n\t\t\t\t);\r\n\t\t\t});\r\n\r\n\t\t\trespostas = respostas.sort((a, b) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t+(a.unidadeGestora.nome > b.unidadeGestora.nome) ||\r\n\t\t\t\t\t+(a.unidadeGestora.nome === b.unidadeGestora.nome) - 1\r\n\t\t\t\t);\r\n\t\t\t});\r\n\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = \"modal-component\";\r\n\t\t\tdialogConfig.width = \"700px\";\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = true;\r\n\t\t\tdialogConfig.ariaLabel = criterio.criterio.nome;\r\n\t\t\tdialogConfig.data = respostas.sort((a, b) =>\r\n\t\t\t\ta[\"unidadeGestora\"].nome.localeCompare(b[\"unidadeGestora\"].nome)\r\n\t\t\t);\r\n\r\n\t\t\tconst modal = this.matDialog.open(\r\n\t\t\t\tModalPreencherFormularioComponent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t);\r\n\t\t\tmodal.afterClosed().subscribe(async (data) => {\r\n\t\t\t\tif (data) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\t\t\t\tconst res =\r\n\t\t\t\t\t\t\t\tawait this.peaService.enviarRespostasCriterio(\r\n\t\t\t\t\t\t\t\t\tthis.id,\r\n\t\t\t\t\t\t\t\t\trespostas.map((c) => ({\r\n\t\t\t\t\t\t\t\t\t\tpeaId: c.peaId,\r\n\t\t\t\t\t\t\t\t\t\tcriterioId: c.criterioId,\r\n\t\t\t\t\t\t\t\t\t\tunidadeGestoraId: c.unidadeGestoraId,\r\n\t\t\t\t\t\t\t\t\t\tvalorNumerico: c.valorNumerico,\r\n\t\t\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\t\t\tawait Promise.all([\r\n\t\t\t\t\t\t\t\t\tthis.obterDados(),\r\n\t\t\t\t\t\t\t\t\tthis.obterPainelDistribuicao(this.id),\r\n\t\t\t\t\t\t\t\t\tthis.peaService\r\n\t\t\t\t\t\t\t\t\t\t.obterCargaCriteriosPorId(this.id)\r\n\t\t\t\t\t\t\t\t\t\t.then((resCriterios) => {\r\n\t\t\t\t\t\t\t\t\t\t\tthis.criterioDataSource =\r\n\t\t\t\t\t\t\t\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tresCriterios.dados\r\n\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\tthis.criterioDataSource._updateChangeSubscription();\r\n\t\t\t\t\t\t\t\t\t\t\tthis.criterioSemDados =\r\n\t\t\t\t\t\t\t\t\t\t\t\tthis.criterioDataSource\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.filteredData.length === 0;\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t]);\r\n\t\t\t\t\t\t\t\tthis.exibirMensagemSucesso(\r\n\t\t\t\t\t\t\t\t\tres.mensagem.descricao\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t\t\t\t\tthis.router.navigate([\"/pea\"]);\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (err) {\r\n\t\t\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t\t\t\tthis.router.navigate([\"/pea\"]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic exibirRespostas(id: number) {\r\n\t\tconst respostas =\r\n\t\t\t(this.criterioDataSource.data.find((c) => c.criterioId === id)\r\n\t\t\t\t.peaCriterioResposta as []) || [];\r\n\t\tconst questionario =\r\n\t\t\t(this.criterioDataSource.data.find((c) => c.criterioId === id)\r\n\t\t\t\t.peaCriterioQuestionario as []) || [];\r\n\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component\";\r\n\t\tdialogConfig.width = \"700px\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = respostas\r\n\t\t\t.concat(questionario)\r\n\t\t\t.sort((a: ICargaCriterioPeaModel, b: ICargaCriterioPeaModel) =>\r\n\t\t\t\ta[\"unidadeGestora\"].nome.localeCompare(b[\"unidadeGestora\"].nome)\r\n\t\t\t);\r\n\t\tthis.matDialog.open(ModalVisualizarRespostasComponent, dialogConfig);\r\n\t}\r\n\r\n\tpublic formatarNumero(n: number) {\r\n\t\treturn n?.toFixed(4).toString().replace(\".\", \",\");\r\n\t}\r\n\r\n\tpublic async enviarQuestionario(\r\n\t\tmodelEnviarQuestionario: IEnviarQuestionarioModel\r\n\t) {\r\n\t\ttry {\r\n\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\tconst res = await this.peaService.enviarQuestionarios(\r\n\t\t\t\t\tthis.id,\r\n\t\t\t\t\tmodelEnviarQuestionario\r\n\t\t\t\t);\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.exibirMensagemSucesso(res.mensagem.descricao);\r\n\t\t\t\t\tthis.obterCargaCriterios();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async aprovar() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.peaService.aprovar(this.id);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tthis.exibirMensagemSucesso(\"Item aprovado com sucesso!\");\r\n\t\t\t\tthis.router.navigate([\"/pendencias\"]);\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async exibirModalEnviarQuestionarioCriterio() {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component\";\r\n\t\tdialogConfig.width = \"650px\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tModalEnviarQuestionarioCriterioComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\tif (data) {\r\n\t\t\t\tthis.enviarQuestionario(data);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic async exibirModalVisualizarQuestionarioCriterio() {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component\";\r\n\t\tdialogConfig.width = \"850px\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tconst res = await this.peaService.obterVisualizacaoQuestionario(\r\n\t\t\tthis.id\r\n\t\t);\r\n\t\tdialogConfig.data = res;\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tModalVisualizarQuestionarioCriterioComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n\t}\r\n\r\n\tpublic async confirmarCancelamento() {\r\n\t\tconst res = await this.peaService.questionariosRespondidos(this.id);\r\n\t\tif (res.sucesso) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: \"Cancelar Questionário\",\r\n\t\t\t\ttext: \"Deseja cancelar o envio dos questionarios?\",\r\n\t\t\t\ticon: \"warning\",\r\n\t\t\t\tshowCancelButton: true,\r\n\t\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\t\tcancelButtonText: \"Não\",\r\n\t\t\t}).then((resConfirm) => {\r\n\t\t\t\tif (resConfirm.isConfirmed) {\r\n\t\t\t\t\tthis.cancelarEnvioQuestionario();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else if (res.mensagem.nome === \"QuestionarioRespondido\") {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttitle: \"Cancelar Questionário\",\r\n\t\t\t\ttext: `${res.mensagem?.descricao}. Deseja cancelar o envio mesmo assim?`,\r\n\t\t\t\ticon: \"warning\",\r\n\t\t\t\tshowCancelButton: true,\r\n\t\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\t\tcancelButtonText: \"Não\",\r\n\t\t\t}).then((resConfirm) => {\r\n\t\t\t\tif (resConfirm.isConfirmed) {\r\n\t\t\t\t\tthis.cancelarEnvioQuestionario();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async cancelarEnvioQuestionario() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.peaService.enviarQuestionarioCancelado(\r\n\t\t\t\tthis.id\r\n\t\t\t);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tthis.exibirMensagemSucesso(\"Envio cancelado\");\r\n\t\t\t\tthis.obterCargaCriterios();\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic obterRankingPrioridade() {\r\n\t\tthis.rankingService\r\n\t\t\t.obterRankingDistribuicao(this.id, this.model.indicadorId, 1)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tconst lista = res.dados\r\n\t\t\t\t\t.filter((_) => !_.unidadeGestora.empresaPublica)\r\n\t\t\t\t\t.map((_) => ({\r\n\t\t\t\t\t\t..._,\r\n\t\t\t\t\t\tnome: _.unidadeGestora.nome,\r\n\t\t\t\t\t\tsigla: _.unidadeGestora.sigla,\r\n\t\t\t\t\t\tcodigoUg: _.unidadeGestora.codigoUg,\r\n\t\t\t\t\t}));\r\n\t\t\t\tthis.rankingPrioridadeDataSource =\r\n\t\t\t\t\tnew MatTableDataSource(lista);\r\n\t\t\t\tthis.rankingPrioridadeDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.semDadosRanking =\r\n\t\t\t\t\tthis.rankingPrioridadeDataSource.data.length === 0;\r\n\r\n\t\t\t\tconst listaPublicas = res.dados\r\n\t\t\t\t\t.filter((_) => _.unidadeGestora.empresaPublica)\r\n\t\t\t\t\t.map((_) => ({\r\n\t\t\t\t\t\t..._,\r\n\t\t\t\t\t\tnome: _.unidadeGestora.nome,\r\n\t\t\t\t\t\tsigla: _.unidadeGestora.sigla,\r\n\t\t\t\t\t\tcodigoUg: _.unidadeGestora.codigoUg,\r\n\t\t\t\t\t}));\r\n\t\t\t\tthis.rankingPrioridadeEmpresasPublicasDataSource =\r\n\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\tlistaPublicas\r\n\t\t\t\t\t);\r\n\t\t\t\tthis.rankingPrioridadeEmpresasPublicasDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.semDadosRankingEmpresaPublica =\r\n\t\t\t\t\tthis.rankingPrioridadeEmpresasPublicasDataSource.data\r\n\t\t\t\t\t\t.length === 0;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic gerarRankingDistribuicao() {\r\n\t\tthis.rankingService\r\n\t\t\t.gerarRankingDistribuicao(this.id, 1)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.showPendencias(res?.dados?.pendencias);\r\n\t\t\t\tthis.obterDados();\r\n\t\t\t\tthis.obterRankingPrioridade();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic async removerClassificacaoPersonalizada() {\r\n\t\tSwal.fire({\r\n\t\t\ttitle: \"Confirmação\",\r\n\t\t\ttext: \"Deseja realmente remover a classificação personalizada?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t}).then((res) => {\r\n\t\t\tif (res.isConfirmed) {\r\n\t\t\t\tthis.peaService\r\n\t\t\t\t\t.removerClassificacaoPersonalizada(this.model.id)\r\n\t\t\t\t\t.then((response) => {\r\n\t\t\t\t\t\tif (response.sucesso) {\r\n\t\t\t\t\t\t\tthis.exibirMensagemSucesso(\r\n\t\t\t\t\t\t\t\t\"Classificação personalizada removida com sucesso.\"\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tthis.distribuicaoPersonalizadoDataSource =\r\n\t\t\t\t\t\t\t\tnew MatTableDataSource([]);\r\n\t\t\t\t\t\t\tthis.distribuicaoPersonalizadoDataSource._updateChangeSubscription();\r\n\t\t\t\t\t\t\tthis.model.classificacaoPersonalizada = false;\r\n\t\t\t\t\t\t\tthis.distribuicaoSemDadosPersonalizado = true;\r\n\t\t\t\t\t\t\tthis.obterAbaDistribuicao();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.exibirMensagemAlerta(\r\n\t\t\t\t\t\t\t\tresponse.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tfalse\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. PEAC - Plano Estratégico\r\n de Auditoria e Controles
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n PEAC - Plano\r\n Estratégico de Auditoria e Controles\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Nome\r\n \r\n {{element.nome}} \r\n Periodo\r\n \r\n {{element.periodo?.nome}} \r\n Indicador\r\n \r\n {{element.indicador?.nome}} \r\n Status \r\n Ativo\r\n Inativo\r\n \r\n Situação\r\n \r\n Homologado\r\n Em\r\n Aprovação\r\n Em\r\n Elaboração\r\n
Período\r\n {{groupBy.nome}} -\r\n {{groupBy.dataInicio |\r\n date:'dd/MM/yyyy'}} a\r\n {{groupBy.dataFim |\r\n date:'dd/MM/yyyy'}} \r\n
\r\n
Nenhum\r\n registro encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { DebugElement, OnInit } from '@angular/core';\r\nimport { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { PeaService } from 'src/app/services/pea.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport { IPaaModel } from 'src/app/models/paa.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport Swal from 'sweetalert2';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\n\r\n\r\n@Component({\r\n selector: 'app-pea-list',\r\n templateUrl: './pea-list.component.html',\r\n styleUrls: ['./pea-list.component.scss'],\r\n})\r\n\r\n\r\nexport class PeaListComponent extends BaseListComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModelYears: Array;\r\n public enableSelectYear = false;\r\n public selectedYear: number;\r\n\r\n public displayedColumns: string[] = ['selecao', 'nome', 'periodo', 'indicador', 'situacao', 'status'];\r\n\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public filtro = {} as FiltroModel;\r\n\r\n public totalItens: number;\r\n public searchPesquisa: string;\r\n public pageEvent: any;\r\n\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private peaService: PeaService,\r\n private router: Router,\r\n public authService: AuthService,\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.configurarFiltro();\r\n this.buscar();\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPEA, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPEA, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPEA, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPEA, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPEA, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPEA, EnumAcaoRecurso.Visualizar);\r\n this.permissoes.gerarPAA = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPEA, EnumAcaoRecurso.GerarPAA);\r\n this.permissoes.imprimir = this.authService.possuiPermissao(EnumRecursoPerfil.ManterPEA, EnumAcaoRecurso.Imprimir);\r\n }\r\n\r\n public novo() {\r\n if (!this.permissoes.incluir) {\r\n this.exibirMensagemErro(\"Você não possui permissão para incluir um PEAC.\");\r\n return;\r\n } \r\n this.router.navigate(['/pea/novo']);\r\n }\r\n\r\n public atualizarFiltroStatus(valor) {\r\n this.filtro = {} as FiltroModel;\r\n this.searchAtivo = valor;\r\n this.buscar();\r\n }\r\n public buscar() {\r\n this.filtro.pesquisa = this.searchNome;\r\n this.peaService\r\n .obter(this.searchNome, this.searchAtivo, false, this.filtro)\r\n .then((res) => {\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n this.configurarFiltro();\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err?.mensagem?.descricao ?? \"Ocorreu um erro inesperado. Tente novamente mais tarde.\",\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n private configurarFiltro() {\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.pesquisa = this.searchNome;\r\n this.filtro.direcao = this.sort.direction;\r\n this.filtro.colunaOrder = this.sort.active;\r\n }\r\n\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n}\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n\r\n public reativar() {\r\n let id = this.modelsSelected()[0].id;\r\n if (!this.permissoes.inativarReativar) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Você não tem permissão para reativar PEAC.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n\r\n this.peaService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'PEAC reativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n text: err.mensagem.descricao,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar() {\r\n let id = this.modelsSelected()[0].id;\r\n if (!this.permissoes.inativarReativar) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: 'Você não tem permissão para inativar PEAC.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n\r\n this.peaService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'PEAC inativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar() {\r\n let id = this.modelsSelected()[0].id;\r\n if (!this.permissoes?.editar) {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Erro',\r\n text: 'Você não tem permissão para editar PEAC.',\r\n });\r\n return;\r\n }\r\n this.router.navigate([`/pea/${id}`]);\r\n }\r\n\r\n public modelsSelected(): Array{\r\n let retorno = this.dataSource.data.filter(x => x.selecionado === true);\r\n this.enableSelectYear = retorno.length == 1;\r\n return retorno;\r\n }\r\n\r\n public selecionar(item: any) { \r\n item.selecionado = !item.selecionado;\r\n\r\n this.consultarAnos();\r\n }\r\n\r\n public excluir() {\r\n let id = this.modelsSelected()[0].id;\r\n if (!this.permissoes?.excluir) {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Erro',\r\n text: 'Você não tem permissão para excluir PEAC.',\r\n });\r\n return;\r\n }\r\n\r\n this.peaService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'PEAC excluído com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n title: 'Atenção',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n title: 'Erro',\r\n showConfirmButton: false,\r\n timer: 5000\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public consultarAnos() {\r\n \r\n if (\r\n this.modelsSelected().length == 1 &&\r\n this.modelsSelected()[0] &&\r\n this.modelsSelected()[0].situacao &&\r\n this.modelsSelected()[0].situacao.descricao === 'Homologado'\r\n ) {\r\n this.peaService\r\n .obterAnosPaa(this.modelsSelected()[0].id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.selectedModelYears = res.dados;\r\n this.enableSelectYear = true;\r\n } else {\r\n this.enableSelectYear = false;\r\n }\r\n\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n text: err.mensagem.descricao,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.enableSelectYear = false;\r\n })\r\n }else{\r\n this.enableSelectYear = false;\r\n }\r\n }\r\n\r\n public relatorioSimplificado() {\r\n let ids = [] as any[];\r\n let id = this.modelsSelected()[0].id;\r\n ids.push(id);\r\n this.router.navigate([`/pea/${ids}/relatorio-consolidado`]);\r\n }\r\n\r\n public relatorioConsolidado() {\r\n const ids = this.modelsSelected().map(pea => pea.id);\r\n this.router.navigate([`/pea/${ids}/relatorio-consolidado`]);\r\n }\r\n\r\n public enviarParaAprovacao(id: number) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Recurso não disponível',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n\r\n public itemAgrupador(index: number, item: any): boolean {\r\n return item.grupo;\r\n }\r\n\r\n public botaoImpessaoIndividualHidden(): boolean {\r\n return !this.permissoes.imprimir || this.modelsSelected().length != 1;\r\n }\r\n\r\n public botaoImpressaoColetivaHidden(): boolean {\r\n return !this.permissoes.imprimir || this.modelsSelected().length <= 1;\r\n }\r\n\r\n \r\n public botaoEditarHidden(): boolean {\r\n return !this.permissoes.editar\r\n || this.modelsSelected().length != 1 \r\n || this.modelsSelected()[0].situacao.nome === 'EmAprovacao'\r\n || this.modelsSelected()[0].situacao.nome === 'Homologado'\r\n || !this.modelsSelected()[0].ativo;\r\n }\r\n\r\n public botaoReativarHidden() : boolean {\r\n return !this.permissoes.inativarReativar\r\n || this.modelsSelected().length != 1 \r\n || this.modelsSelected()[0].ativo\r\n || this.modelsSelected()[0].situacao.nome === 'EmAnalise'\r\n || this.modelsSelected()[0].situacao.nome === 'Homologado';\r\n }\r\n\r\n public botaoInativarHidden() : boolean {\r\n return !this.permissoes.inativarReativar\r\n || this.modelsSelected().length != 1 \r\n || this.modelsSelected()[0].situacao.nome === 'EmAnalise'\r\n || this.modelsSelected()[0].situacao.nome === 'EmAprovacao'\r\n || this.modelsSelected()[0].situacao.nome === 'Homologado'\r\n || !this.modelsSelected()[0].ativo;\r\n }\r\n\r\n public botaoExcluirHidden() : boolean {\r\n return !this.permissoes.excluir\r\n || this.modelsSelected().length != 1 \r\n || this.modelsSelected()[0].situacao.nome === 'Homologado'\r\n || this.modelsSelected()[0].situacao.nome === 'EmAprovacao';\r\n }\r\n\r\n public botaoVisualizarHidden() : boolean {\r\n return !this.permissoes.visualizar\r\n || this.modelsSelected().length != 1;\r\n }\r\n\r\n public botaoGerarPAAHidden() : boolean {\r\n return !this.permissoes.gerarPAA\r\n || this.modelsSelected().length != 1 \r\n || !this.enableSelectYear \r\n || !(this.modelsSelected()[0].situacao.nome === 'Homologado');\r\n }\r\n\r\n public selectAnoHidden() : boolean {\r\n return !this.permissoes.gerarPAA\r\n || this.modelsSelected().length != 1 \r\n || !this.enableSelectYear \r\n || !(this.modelsSelected()[0].situacao.nome === 'Homologado');\r\n }\r\n\r\n public async gerarPaa() {\r\n \r\n let id = this.modelsSelected()[0].id;\r\n if (this.permissoes.gerarPAA) {\r\n if (this.selectedYear) {\r\n const paa: IPaaModel = {} as IPaaModel;\r\n paa.ativo = true;\r\n paa.ano = this.selectedYear;\r\n paa.peaId = id;\r\n\r\n let res = await this.peaService.gerarPaa(id, paa);\r\n \r\n \r\n if(res.sucesso){\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.consultarAnos();\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n\r\n } else {\r\n this.exibirMensagemErro('Selecione um ano válido');\r\n }\r\n } else {\r\n this.exibirMensagemErro('Usuário não tem permissão para gerar PAAC.');\r\n return;\r\n }\r\n }\r\n \r\n public visualizar() {\r\n let id = this.modelsSelected()[0].id;\r\n if (!this.permissoes?.visualizar) {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Erro',\r\n text: 'Você não tem permissão para editar PEAC.',\r\n });\r\n return;\r\n }\r\n this.router.navigate([`/pea/${id}/visualizar`]);\r\n }\r\n}\r\n","
\r\n
0 ? 'always' : 'avoid'\r\n \">\r\n \r\n
\r\n
\r\n
\r\n

\r\n Relatório Consolidado - Período {{ report.periodo.nome }} -\r\n {{ report.periodo.dataInicio | date: \"dd/MM/yyyy\" }} a\r\n {{ report.periodo.dataFim | date: \"dd/MM/yyyy\" }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n

PEAC - {{ report.nome }}

\r\n
\r\n
\r\n
\r\n

Dados

\r\n
\r\n \r\n {{ report.periodo.nome }}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ ug.sigla }} - {{ ug.nome }}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ pc.sigla }} - {{ pc.nome }}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ pc.sigla }} - {{ pc.nome }}\r\n
AuditorDisponível para auditoria
{{ a.nome }}{{ a.disponivelAuditoria === true ? 'Sim' : 'Não' }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Capacidade de Trabalho

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Coordenação\r\n {{ element.coordenacaoNome }}\r\n \r\n Dias Disponíveis\r\n \r\n {{ element.diasDisponiveis }}\r\n \r\n Nº Equipes Disponíveis\r\n \r\n {{ element.equipesDisponiveis }}\r\n \r\n Quant. Dias
por Auditoria\r\n
\r\n {{ element.diasPorAuditoria }}\r\n \r\n Nº Auditorias
por Equipe\r\n
\r\n {{ element.auditoriasPorEquipe }}\r\n \r\n Capacidade Total
por Coordenação\r\n
\r\n {{ element.capacidadeTotalCoordenacao }}\r\n
\r\n Ano: {{ groupBy.ano }} \r\n
\r\n Capacidade de Trabalho Total no Ano:\r\n \r\n \r\n {{ groupBy.capacidadeTotalAno }} \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Indicador e Critérios

\r\n
\r\n
\r\n \r\n {{ report.indicador.nome }}\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n {{ criterio.nome }}\r\n
\r\n
\r\n \r\n {{ criterio.peso }}\r\n
\r\n
\r\n \r\n {{ criterio.tipoEntrada.nome }}\r\n
\r\n
\r\n\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
MétricaNota
\r\n {{ metrica.operacao1.descricao }}\r\n {{ metrica.valorNumerico1 | number: \"1.2\":\"pt\" }}\r\n 0\">{{ metrica.operacao2.descricao }}\r\n {{\r\n metrica.valorNumerico2 | number: \"1.2\":\"pt\"\r\n }}\r\n {{ metrica.nota }}
\r\n
\r\n
\r\n
\r\n

Dados do(s) critério(s) e nota(s):

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{ c.criterio.nome }}\r\n
Unidade GestoraValorNota
{{ n.sigla }}{{ n.valor | number: \"1.2\":\"pt\" }}{{ n.nota }}
\r\n
\r\n
\r\n
\r\n

Cálculo do Índice de Priorização:

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n Código UG\r\n \r\n {{ element.codigo }}\r\n \r\n Unidade Gestora\r\n \r\n {{ element.sigla }}\r\n \r\n {{ coluna }}
{{ obterPesoColuna(coluna) }}\r\n
\r\n {{ obterValorColuna(element, coluna) }}\r\n \r\n Valor de Risco\r\n \r\n {{ element.valorRisco }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Ranking das UGs com base no Índice de Priorização (Risco)

\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n Código UG\r\n \r\n {{ element.unidadeGestora.codigoUg }}\r\n \r\n Sigla UG\r\n \r\n {{ element.unidadeGestora.sigla }}\r\n \r\n Nome UG\r\n \r\n {{ element.unidadeGestora.nome }}\r\n \r\n Valor Risco\r\n \r\n {{ element.valorRisco }}\r\n
\r\n
\r\n\r\n

Empresas Públicas

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n Código UG (Dados consolidados na UG Mãe)\r\n \r\n {{ element.unidadeGestora.codigoUg }}\r\n \r\n Sigla UG\r\n \r\n {{ element.unidadeGestora.sigla }}\r\n \r\n Nome UG\r\n \r\n {{ element.unidadeGestora.nome }}\r\n \r\n Valor Risco\r\n \r\n {{ element.valorRisco }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Distribuição das auditorias por UG e Ano, conforme critério de\r\n priorização e faixa de risco inicialmente estabelecida\r\n

\r\n\r\n
\r\n
\r\n

Contempladas

\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
{{ ano }}
\r\n \r\n {{ distribuicao[ano] }}
({{ distribuicao[ano + \"_indice\"] }})\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Não Contempladas

\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
{{ ano }}
\r\n \r\n {{ distribuicao[ano] }}
({{ distribuicao[ano + \"_indice\"] }})\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Distribuição das auditorias por UG e Ano, conforme critério de\r\n priorização e faixa de risco ajustada de acordo com a Capacidade\r\n de Trabalho\r\n

\r\n\r\n
\r\n
\r\n \r\n {{ report.classificacaoPisoBaixo }} a\r\n {{ report.classificacaoTetoBaixo }}\r\n
\r\n
\r\n \r\n {{ report.classificacaoPisoMedio }} a\r\n {{ report.classificacaoTetoMedio }}\r\n
\r\n
\r\n \r\n {{ report.classificacaoPisoAlto }} a\r\n {{ report.classificacaoTetoAlto }}\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Contempladas

\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
{{ ano }}
\r\n \r\n {{ distribuicao[ano] }}
({{ distribuicao[ano + \"_indice\"] }})\r\n
\r\n
\r\n
\r\n\r\n
\r\n

Não Contempladas

\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
{{ ano }}
\r\n \r\n {{ distribuicao[ano] }}
({{ distribuicao[ano + \"_indice\"] }})\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Calendário

\r\n
\r\n
{{ ano.ano }}
\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Meses/dias12345678910111213141516171819202122232425262728293031Total de diasSab/DomFeriadoPonto FacultativoDias úteis
{{ mes.nome }}\r\n X\r\n \r\n {{ mes.totalDias }}\r\n \r\n {{ mes.totalSabadosEDomingos }}\r\n \r\n {{ mes.totalFeriados }}\r\n \r\n {{ mes.totalPontosFacultativos }}\r\n \r\n {{ mes.totalDiasUteis }}\r\n \r\n {{ mes.feriados }}\r\n
Total{{dias}}{{sabadoDomingo}}{{feriado}}{{pontoFacultativo}}{{diasUteis}}
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Sábados e domingos
Sábado ou Domingo (com feriado)
Ponto facultativo
Feriados nacionais
Feriados estaduais/municipais
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IImprimirPeaModel } from 'src/app/models/imprimir-pea.model';\r\nimport { IPeriodoModel } from 'src/app/models/periodo.model';\r\nimport { AprovacaoService } from 'src/app/services/aprovacao.service';\r\nimport { PeaService } from 'src/app/services/pea.service';\r\n\r\n@Component({\r\n selector: 'app-pea-relatorio',\r\n templateUrl: './pea-relatorio.component.html',\r\n styleUrls: ['./pea-relatorio.component.scss']\r\n})\r\nexport class PeaRelatorioComponent implements OnInit {\r\n\r\n homologado = false;\r\n idParam: number;\r\n consolidado = false;\r\n espelho = false;\r\n dias: number;\r\n sabadoDomingo: number;\r\n pontoFacultativo: number;\r\n feriado: number;\r\n diasUteis: number;\r\n\r\n reportPEAs: IImprimirPeaModel[] = [];\r\n\r\n periodo: IPeriodoModel;\r\n\r\n public columnsRanking = ['codigoUG', 'siglaUG', 'nomeUG', 'valorRisco'];\r\n public columnsCapacidade = [\r\n 'coordenacao',\r\n 'diasDisponiveis',\r\n 'equipesDisponiveis',\r\n 'diasPorAuditoria',\r\n 'auditoriasPorEquipe',\r\n 'capacidadeTotalCoordenacao'\r\n ];\r\n public capacidadeDataSource = new MatTableDataSource([]);\r\n public capacidadeSemDados = true;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private localeService: BsLocaleService,\r\n private peaService: PeaService,\r\n private aprovacaoService: AprovacaoService,) { }\r\n\r\n ngOnInit() {\r\n this.localeService.use('pt-br');\r\n\r\n const id = this.route.snapshot.paramMap.get('id');\r\n const path = this.route.snapshot.url.pop().toString();\r\n\r\n if (id) {\r\n this.idParam = parseInt(id, 10);\r\n }\r\n\r\n if (path === 'relatorio-consolidado') {\r\n this.consolidado = true;\r\n }\r\n\r\n if (path === 'espelho-relatorio-consolidado') {\r\n this.espelho = true;\r\n }\r\n\r\n this.obterDados();\r\n }\r\n\r\n public async obterDados() {\r\n try {\r\n await this.obterDadosPorId();\r\n } catch (err) {\r\n this.toastr.error('Ocorreu um erro inesperado, tente novamente mais tarde.', 'Atenção');\r\n this.router.navigate(['/pea']);\r\n }\r\n }\r\n\r\n public agrupadorCapacidade(index: number, item: any): boolean {\r\n return item.grupo;\r\n }\r\n\r\n public subTotalCapacidade(index: number, item: any): boolean {\r\n return item.subTotal;\r\n }\r\n\r\n public async obterDadosPorId() {\r\n let res: IBaseModel;\r\n\r\n if (this.consolidado) {\r\n const ids = this.route.snapshot.paramMap.get('id') || '';\r\n\r\n res = await this.peaService.imprimirPeaConsolidado(ids);\r\n }\r\n else if (this.espelho) {\r\n const avaliacao = await this.aprovacaoService.imprimir(this.idParam);\r\n if (avaliacao.dados != undefined) {\r\n res = {\r\n sucesso: avaliacao.sucesso,\r\n dados: JSON.parse(avaliacao.dados),\r\n mensagem: avaliacao.mensagem,\r\n resultadoValidacao: avaliacao.resultadoValidacao\r\n } as IBaseModel;\r\n }\r\n else {\r\n res = {\r\n sucesso: avaliacao.sucesso,\r\n dados: avaliacao.dados,\r\n mensagem: avaliacao.mensagem,\r\n resultadoValidacao: avaliacao.resultadoValidacao\r\n } as unknown as IBaseModel;\r\n }\r\n }\r\n else {\r\n const avaliacao = await this.peaService.imprimirPea(this.idParam);\r\n\r\n if(!avaliacao.sucesso){\r\n this.toastr.error(avaliacao.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/pea']);\r\n return null; \r\n }\r\n\r\n res = {\r\n sucesso: avaliacao.sucesso,\r\n dados: JSON.parse(avaliacao.dados),\r\n mensagem: avaliacao.mensagem,\r\n situacao: avaliacao.situacao\r\n } as IBaseModel;\r\n }\r\n\r\n res.dados.forEach(reportPEA => {\r\n reportPEA.capacidadeTrabalho = [];\r\n\r\n let dadosPreparados = [];\r\n const anos = [...new Set(reportPEA.coordenacaoCapacidade.map((d) => d.ano))];\r\n\r\n for (const ano of anos) {\r\n // Header\r\n dadosPreparados.push({\r\n grupo: true,\r\n ano,\r\n });\r\n\r\n // Dados\r\n dadosPreparados = dadosPreparados.concat(\r\n reportPEA.coordenacaoCapacidade.filter((c) => c.ano === ano)\r\n );\r\n\r\n // Footer\r\n dadosPreparados.push({\r\n subTotal: true,\r\n capacidadeTotalAno: reportPEA.coordenacaoCapacidade\r\n .filter((c) => c.ano === ano)\r\n .map((c) => c.capacidadeTotalCoordenacao)\r\n .reduce((sum, record) => sum + record),\r\n });\r\n reportPEA.capacidadeTrabalhoTotal = reportPEA.coordenacaoCapacidade.map(_ => _.capacidadeTotalCoordenacao).reduce((sum, current) => sum + current, 0);\r\n }\r\n\r\n\r\n this.capacidadeDataSource = new MatTableDataSource(\r\n dadosPreparados\r\n );\r\n this.capacidadeDataSource._updateChangeSubscription();\r\n this.capacidadeSemDados =\r\n this.capacidadeDataSource.filteredData.length === 0;\r\n\r\n reportPEA.unidadeGestora = reportPEA.unidadeGestora.sort((a, b) => a?.sigla.localeCompare(b?.sigla))\r\n reportPEA.coordenacao = reportPEA.coordenacao.sort((a, b) => a?.sigla.localeCompare(b?.sigla))\r\n reportPEA.rankingPrioridade = reportPEA.rankingDePrioridade?.filter(_ => !_.unidadeGestora.empresaPublica);\r\n reportPEA.rankingPrioridadeEmpresasPublicas = reportPEA.rankingDePrioridade?.filter(_ => _.unidadeGestora.empresaPublica);\r\n reportPEA.dadosDistribuicaoContempladas = [];\r\n reportPEA.dadosDistribuicaoNaoContempladas = [];\r\n reportPEA.dadosDistribuicaoContempladasPersonalizado = [];\r\n reportPEA.dadosDistribuicaoNaoContempladasPersonalizado = [];\r\n reportPEA.anos = [];\r\n\r\n this.obterValorRiscoPorUg(reportPEA.valorRiscoUnidadeGestoras)\r\n\r\n const anoInicial = new Date(reportPEA.periodo.dataInicio).getFullYear();\r\n const anoFim = new Date(reportPEA.periodo.dataFim).getFullYear();\r\n\r\n for (let i = anoInicial; i <= anoFim; i++) {\r\n reportPEA.anos.push(i);\r\n }\r\n\r\n // Padrao\r\n // Contempladas\r\n\r\n const distribuicaoContemplada = reportPEA.paineisDistribuicao?.painelDistribuicaoPadrao.painel.filter(d => d.contemplada) ?? [];\r\n const distribuicaoNaoContemplada = reportPEA.paineisDistribuicao?.painelDistribuicaoPadrao.painel.filter(d => !d.contemplada) ?? [];\r\n for (const item of distribuicaoContemplada) {\r\n if (reportPEA.dadosDistribuicaoContempladas.length === 0 || reportPEA.dadosDistribuicaoContempladas.findIndex(r => !r[item.ano.toString()]) < 0) {\r\n const row = {};\r\n row[item.ano.toString()] = item.unidadeGestoraSigla;\r\n row[item.ano.toString() + '_class'] = item.blocoPainel.nome;\r\n row[item.ano.toString() + '_indice'] = item.indicePriorizacao.toFixed(4);\r\n reportPEA.dadosDistribuicaoContempladas.push(row);\r\n } else {\r\n const row = reportPEA.dadosDistribuicaoContempladas[reportPEA.dadosDistribuicaoContempladas.findIndex(r => !r[item.ano.toString()])];\r\n row[item.ano.toString()] = item.unidadeGestoraSigla;\r\n row[item.ano.toString() + '_class'] = item.blocoPainel.nome;\r\n row[item.ano.toString() + '_indice'] = item.indicePriorizacao.toFixed(4);\r\n }\r\n }\r\n\r\n // Não Contempladas\r\n for (const item of distribuicaoNaoContemplada) {\r\n if (reportPEA.dadosDistribuicaoNaoContempladas.length === 0 || reportPEA.dadosDistribuicaoNaoContempladas.findIndex(r => !r[item.ano.toString()]) < 0) {\r\n const row = {};\r\n row[item.ano.toString()] = item.unidadeGestoraSigla;\r\n row[item.ano.toString() + '_indice'] = item.indicePriorizacao.toFixed(4);\r\n reportPEA.dadosDistribuicaoNaoContempladas.push(row);\r\n } else {\r\n const row = reportPEA.dadosDistribuicaoNaoContempladas[reportPEA.dadosDistribuicaoNaoContempladas.findIndex(r => !r[item.ano.toString()])];\r\n row[item.ano.toString()] = item.unidadeGestoraSigla;\r\n row[item.ano.toString() + '_indice'] = item.indicePriorizacao.toFixed(4);\r\n }\r\n }\r\n\r\n // Personalizado\r\n // Contempladas\r\n if (reportPEA.classificacaoPersonalizada) {\r\n\r\n const distribuicaoPersonalizadaContemplada = reportPEA.paineisDistribuicao?.painelDistribuicaoPersonalizado?.painel.filter(d => d.contemplada) ?? [];\r\n const distribuicaoPersonalizadaNaoContemplada = reportPEA.paineisDistribuicao?.painelDistribuicaoPersonalizado?.painel.filter(d => !d.contemplada) ?? [];\r\n\r\n for (const item of distribuicaoPersonalizadaContemplada) {\r\n if (reportPEA.dadosDistribuicaoContempladasPersonalizado.length === 0 || reportPEA.dadosDistribuicaoContempladasPersonalizado.findIndex(r => !r[item.ano.toString()]) < 0) {\r\n const row = {};\r\n row[item.ano.toString()] = item.unidadeGestoraSigla;\r\n row[item.ano.toString() + '_class'] = item.blocoPainel.nome;\r\n row[item.ano.toString() + '_indice'] = item.indicePriorizacao.toFixed(4);\r\n reportPEA.dadosDistribuicaoContempladasPersonalizado.push(row);\r\n } else {\r\n const row = reportPEA.dadosDistribuicaoContempladasPersonalizado[reportPEA.dadosDistribuicaoContempladasPersonalizado.findIndex(r => !r[item.ano.toString()])];\r\n row[item.ano.toString()] = item.unidadeGestoraSigla;\r\n row[item.ano.toString() + '_class'] = item.blocoPainel.nome;\r\n row[item.ano.toString() + '_indice'] = item.indicePriorizacao.toFixed(4);\r\n }\r\n }\r\n\r\n // Não Contempladas\r\n for (const item of distribuicaoPersonalizadaNaoContemplada) {\r\n if (reportPEA.dadosDistribuicaoNaoContempladasPersonalizado.length === 0 || reportPEA.dadosDistribuicaoNaoContempladasPersonalizado.findIndex(r => !r[item.ano.toString()]) < 0) {\r\n const row = {};\r\n row[item.ano.toString()] = item.unidadeGestoraSigla;\r\n row[item.ano.toString() + '_indice'] = item.indicePriorizacao.toFixed(4);\r\n reportPEA.dadosDistribuicaoNaoContempladasPersonalizado.push(row);\r\n } else {\r\n const row = reportPEA.dadosDistribuicaoNaoContempladasPersonalizado[reportPEA.dadosDistribuicaoNaoContempladasPersonalizado.findIndex(r => !r[item.ano.toString()])];\r\n row[item.ano.toString()] = item.unidadeGestoraSigla;\r\n row[item.ano.toString() + '_indice'] = item.indicePriorizacao.toFixed(4);\r\n }\r\n }\r\n }\r\n });\r\n\r\n res.dados.forEach(element => {\r\n element.anosCalendario.forEach(item => {\r\n this.dias = item.meses.filter(data => data.totalDias)\r\n .reduce((sum, current) => sum + current.totalDias, 0);\r\n this.sabadoDomingo = item.meses.filter(data => data.totalSabadosEDomingos)\r\n .reduce((sum, current) => sum + current.totalSabadosEDomingos, 0);\r\n this.pontoFacultativo = item.meses.filter(data => data.totalPontosFacultativos)\r\n .reduce((sum, current) => sum + current.totalPontosFacultativos, 0);\r\n this.feriado = item.meses.filter(data => data.totalFeriados)\r\n .reduce((sum, current) => sum + current.totalFeriados, 0);\r\n this.diasUteis = item.meses.filter(data => data.totalDiasUteis)\r\n .reduce((sum, current) => sum + current.totalDiasUteis, 0);\r\n })\r\n });\r\n this.reportPEAs = res.dados;\r\n \r\n //this.homologado = res.situacao == \"Homologado\";\r\n res.dados.forEach(pea => { \r\n if(pea.situacao.descricao != \"Homologado\") {\r\n this.homologado = false;\r\n }\r\n else{\r\n this.homologado = true;\r\n } \r\n });\r\n \r\n }\r\n\r\n public distribuicaoDataSource = new MatTableDataSource([]);\r\n public distruibuicaoSemDados = true;\r\n public columnsDistribuicaoOriginais1 = ['codigoUG', 'unidadeGestora'];\r\n public columnsDistribuicaoOriginais2 = ['valorRisco'];\r\n public columnsDistribuicao = [];\r\n public colunasAdicionarDistribuicao = [];\r\n\r\n public async obterValorRiscoPorUg(lista: any[]) {\r\n this.colunasAdicionarDistribuicao = [];\r\n this.columnsDistribuicao = [];\r\n this.columnsDistribuicao = this.columnsDistribuicao.concat(\r\n Object.assign([], this.columnsDistribuicaoOriginais1)\r\n );\r\n\r\n var colunasNomes: any = {};\r\n if (lista[0] && lista[0].criterio) {\r\n lista[0].criterio.forEach((element) => {\r\n const nomeColuna = element.nome;\r\n\r\n colunasNomes[nomeColuna.toString()] = nomeColuna\r\n\r\n this.columnsDistribuicao.push(nomeColuna);\r\n if (\r\n !this.colunasAdicionarDistribuicao.some((c) => c === nomeColuna)\r\n ) {\r\n this.colunasAdicionarDistribuicao.push(nomeColuna);\r\n }\r\n });\r\n }\r\n\r\n this.columnsDistribuicao = this.columnsDistribuicao.concat(\r\n Object.assign([], this.columnsDistribuicaoOriginais2)\r\n );\r\n\r\n this.distribuicaoDataSource = new MatTableDataSource(lista);\r\n this.distribuicaoDataSource._updateChangeSubscription();\r\n this.distruibuicaoSemDados =\r\n this.distribuicaoDataSource.filteredData.length === 0;\r\n }\r\n\r\n public obterPesoColuna(\r\n coluna: string\r\n ): string {\r\n if (!this.distribuicaoDataSource.data || !coluna) {\r\n return '';\r\n }\r\n\r\n const result = this.distribuicaoDataSource.data[0].criterio.find(\r\n (x) => x.nome == coluna\r\n );\r\n\r\n if (!result || !result.peso) {\r\n return '';\r\n }\r\n\r\n return result.peso.toString();\r\n }\r\n\r\n public obterValorColuna(\r\n element: any,\r\n coluna: string\r\n ): string {\r\n if (!element || !coluna) {\r\n return '';\r\n }\r\n\r\n const result = element.criterio.find(\r\n (x) => x.nome == coluna\r\n );\r\n\r\n if (!result || !result.nota) {\r\n return '';\r\n }\r\n\r\n return result.nota.toString();\r\n }\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate(['/pea']);\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { IFiltroPendenciaModel } from \"src/app/models/filtro-pendencia.model\";\r\nimport { IPendenciaModel } from \"src/app/models/pendencia.model\";\r\nimport { PendenciaService } from \"src/app/services/pendencia.service\";\r\nimport { BaseListComponent } from \"src/app/shared/components/base-list/base-list.component\";\r\n\r\n@Component({\r\n\tselector: \"app-pendencia-list\",\r\n\ttemplateUrl: \"./pendencia-list.component.html\",\r\n\tstyleUrls: [\"./pendencia-list.component.scss\"],\r\n})\r\nexport class PendenciaListComponent\r\n\textends BaseListComponent\r\n\timplements OnInit {\r\n\tpublic dataSource = new MatTableDataSource([]);\r\n\tpublic selectedModel: IPendenciaModel;\r\n\tpublic semDados = true;\r\n\tpublic searchNome: string;\r\n\tpublic searchStatus: number = 1;\r\n\tpublic filtro = {\r\n\t\titensPorPagina: 15,\r\n\t\tstatus: 1\r\n\t} as IFiltroPendenciaModel;\r\n\r\n\tpublic displayedColumns: string[] = [\r\n\t\t\"selecao\",\r\n\t\t\"tipo\",\r\n\t\t\"dataRecebimento\",\r\n\t\t\"dataPrazo\",\r\n\t\t\"status\",\r\n\t];\r\n\r\n\tpublic totalItens: number;\r\n\tpublic pageEvent: any;\r\n\r\n\t@ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n\t@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n\tconstructor(\r\n\t\tprivate pendenciaService: PendenciaService,\r\n\t\tprivate toastr: ToastrService,\r\n\t\tprivate router: Router\r\n\t) {\r\n\t\tsuper();\r\n\t\tthis.buscar();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.buscar();\r\n\t\tthis.configurarFiltro();\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tthis.configurarFiltro();\r\n\t\tthis.buscar();\r\n\t\tthis.dataSource.sort = this.sort;\r\n\t\tthis.dataSource.paginator = this.tableOnePaginator;\r\n\t\tthis.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n\t}\r\n\r\n\tpublic buscar() {\r\n\t\tthis.selectedModel = null;\r\n\r\n\t\tthis.pendenciaService\r\n\t\t\t.obter(this.filtro)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.dataSource = new MatTableDataSource(\r\n\t\t\t\t\tres.dados?.resultado\r\n\t\t\t\t);\r\n\r\n\t\t\t\tthis.totalItens = res.dados.totalItens;\r\n\t\t\t\tthis.dataSource.sort = this.sort;\r\n\t\t\t\tthis.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n\t\t\t\tthis.dataSource._updateChangeSubscription();\r\n\t\t\t\tthis.semDados = this.dataSource.filteredData.length === 0;\r\n\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.toastr.error(err?.mensagem?.descricao ?? err, \"Atenção\");\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic editar(pendencia: IPendenciaModel) {\r\n\t\tthis.router.navigate([pendencia.url]);\r\n\t}\r\n\r\n\tpublic sortingDataAccessor = (item, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"tipo\":\r\n\t\t\t\treturn item?.tipoDePendencia;\r\n\t\t\tcase \"dataRecebimento\":\r\n\t\t\t\treturn item?.dataDoRecebimento;\r\n\t\t\tcase \"dataPrazo\":\r\n\t\t\t\treturn item?.dataDoPrazo;\r\n\t\t\tcase \"status\":\r\n\t\t\t\treturn item?.status?.descricao;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n\tpublic configurarFiltro() {\r\n\t\tthis.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n\t\tthis.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n\t\tthis.filtro.pesquisa = this.searchNome;\r\n\t\tthis.filtro.status = this.searchStatus;\r\n\t\tthis.filtro.direcao = this.sort.direction;\r\n\t\tthis.filtro.colunaOrder = this.sort.active;\r\n\t}\r\n\r\n\tpageChanged(e) {\r\n\t\tthis.filtro.pagina = e.pageIndex + 1;\r\n\t\te.pageIndex = this.filtro.pagina;\r\n\t\tthis.filtro.itensPorPagina = e.pageSize;\r\n\t\tthis.buscar();\r\n\t}\r\n\r\n\tsortData(sort) {\r\n\t\tthis.filtro.colunaOrder = sort.active;\r\n\t\tthis.filtro.direcao = sort.direction;\r\n\t\tthis.buscar();\r\n }\r\n\r\n\tpublic selecionar(item: any) {\r\n\t\tthis.selectedModel =\r\n\t\t\t!this.selectedModel ||\r\n\t\t\t\t(this.selectedModel.id !== item.id)\r\n\t\t\t\t? item\r\n\t\t\t\t: null;\r\n\t}\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Pendências
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Pendências\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Tipo de Pendência {{element?.tipoDePendencia}} Data de Recebimento {{element?.dataDoRecebimento | date: 'shortDate'}} Data Prazo {{element?.dataDoPrazo | date: 'shortDate'}} Situação \r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n
\r\n
Sem dados a exibir
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { IPerguntaMetricaModel } from \"src/app/models/pergunta-metrica.model\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\n\r\n@Component({\r\n\tselector: \"app-modal-excluir-metrica\",\r\n\ttemplateUrl: \"./modal-excluir-metrica.component.html\",\r\n\tstyleUrls: [\"./modal-excluir-metrica.component.scss\"],\r\n})\r\nexport class ModalExcluirMetricaComponent implements OnInit {\r\n\tpublic metricasDataSource = new MatTableDataSource(\r\n\t\t[]\r\n\t);\r\n\tpublic semDados = true;\r\n\r\n\tconstructor(\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) data: any\r\n\t) {}\r\n\r\n\tngOnInit(): void {}\r\n\r\n\tonConfirm(): void {\r\n\t\tthis.dialogRef.close(true);\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tthis.dialogRef.close(false);\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\terror_outline\r\n\t
\r\n
\r\n
\r\n\t

Remover sub-pergunta

\r\n\t

\r\n\t\tTem certeza que deseja remover esta condição para habilitação da\r\n\t\tsub-pergunta? Esta ação não poderá ser desfeita!\r\n\t

\r\n
\r\n
\r\n\t\r\n\t\r\n
\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t

Adicionar Métrica

\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tCampo obrigatório\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t Adicionar\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t Cancelar\r\n\t\t\t\r\n\t\t
\r\n\t\r\n\r\n","import { AfterViewInit, Component, Inject, Input, OnInit } from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport Inputmask from \"inputmask\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { toIntlNumberString } from \"src/app/core/helpers/number.helper\";\r\nimport { IPerguntaMetricaModel } from \"src/app/models/pergunta-metrica.model\";\r\nimport { IPerguntaModel } from \"src/app/models/pergunta.model\";\r\nimport { PerguntaService } from \"src/app/services/pergunta.service\";\r\nimport { IEnumModel } from \"src/app/models/enum.model\";\r\nimport { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\nimport { MatAutocompleteModule } from \"@angular/material/autocomplete\";\r\nimport { ReactiveFormsModule } from \"@angular/forms\";\r\nimport { Observable } from \"rxjs\";\r\nimport { map, startWith } from \"rxjs/operators\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\n\r\n@Component({\r\n\tselector: \"app-modal-metrica-pergunta\",\r\n\ttemplateUrl: \"./modal-metrica-pergunta.component.html\",\r\n\tstyleUrls: [\"./modal-metrica-pergunta.component.scss\"],\r\n})\r\nexport class ModalMetricaPerguntaComponent\r\n\textends BaseFormComponent\r\n\timplements AfterViewInit, OnInit\r\n{\r\n\tpublic tipoEntrada: string;\r\n\tpublic enumTipoComparacao = [] as IEnumModel[];\r\n\tpublic model: IPerguntaModel = {} as IPerguntaModel;\r\n\tpublic element = {} as IPerguntaMetricaModel;\r\n\tpublic dataSource = new MatTableDataSource([]);\r\n\tpublic filtroPergunta: string | null = null;\r\n\tpublic perguntas: any;\r\n\tpublic subPergunta: any;\r\n\tperguntasFiltradas: Observable;\r\n\r\n\tpublic form = new FormGroup({\r\n\t\tid: new FormControl({ value: \"\", disabled: true }),\r\n\t\tnome: new FormControl(\"\", Validators.required),\r\n\t\tdescricao: new FormControl(\"\", Validators.required),\r\n\t\ttipoEntradaId: new FormControl(null, Validators.required),\r\n\t\tunidade: new FormControl(null, Validators.required),\r\n\t\tperguntaId: new FormControl(null),\r\n\t\tsubPergunta: new FormControl(null, Validators.required),\r\n\t});\r\n\r\n\tconstructor(\r\n\t\troute: ActivatedRoute,\r\n\t\ttoastr: ToastrService,\r\n\t\trouter: Router,\r\n\t\tlocaleService: BsLocaleService,\r\n\t\tmatDialog: MatDialog,\r\n\t\tprivate dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) data,\r\n\t\tprivate perguntaService: PerguntaService\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\t\tthis.element = data.element;\r\n\t\tthis.tipoEntrada = data.tipoEntrada;\r\n\t\tthis.enumTipoComparacao = data.enumTipoComparacao;\r\n\r\n\t\tthis.formMetrica = new FormGroup(\r\n\t\t\t{\r\n\t\t\t\toperacao1Id: new FormControl(\r\n\t\t\t\t\tthis.element?.operacao1Id,\r\n\t\t\t\t\tValidators.required\r\n\t\t\t\t),\r\n\t\t\t\tvalorNumerico1: new FormControl(\r\n\t\t\t\t\tthis.element?.valorNumerico1,\r\n\t\t\t\t\tValidators.required\r\n\t\t\t\t),\r\n\t\t\t\toperacao2Id: new FormControl(this.element?.operacao2Id),\r\n\t\t\t\tvalorNumerico2: new FormControl(this.element?.valorNumerico2),\r\n\t\t\t\tsubPergunta: new FormControl(\r\n\t\t\t\t\tthis.element?.subPergunta,\r\n\t\t\t\t\tValidators.required\r\n\t\t\t\t),\r\n\t\t\t\tnota: new FormControl(this.element?.nota),\r\n\t\t\t},\r\n\t\t\t{ validators: [this.ValidateRequiredOperacao2.bind(this)] }\r\n\t\t);\r\n\t}\r\n\r\n\tpublic formMetrica: FormGroup;\r\n\r\n\tngAfterViewInit() {\r\n\t\tInputmask().mask(document.querySelectorAll(\"input\"));\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.carregaTodasPerguntas();\r\n\t}\r\n\r\n\tprivate filter(value: string): any[] {\r\n\t\tconst filterValue = value.toLowerCase();\r\n\t\treturn this.perguntas.filter((option) =>\r\n\t\t\toption.nome.toLowerCase().includes(filterValue)\r\n\t\t);\r\n\t}\r\n\r\n\tpublic concluir() {\r\n\t\tconst operacao2Id = this.formMetrica.controls[\"operacao2Id\"];\r\n\r\n\t\tconst valorNumerico1 = parseFloat(\r\n\t\t\ttoIntlNumberString(\r\n\t\t\t\tthis.formMetrica.controls[\"valorNumerico1\"].value.toString()\r\n\t\t\t)\r\n\t\t);\r\n\t\tconst valorNumerico2 = this.formMetrica.controls[\"valorNumerico2\"].value\r\n\t\t\t? parseFloat(\r\n\t\t\t\t\ttoIntlNumberString(\r\n\t\t\t\t\t\tthis.formMetrica.controls[\r\n\t\t\t\t\t\t\t\"valorNumerico2\"\r\n\t\t\t\t\t\t].value.toString()\r\n\t\t\t\t\t)\r\n\t\t\t )\r\n\t\t\t: null;\r\n\r\n\t\toperacao2Id.setErrors(\r\n\t\t\t!operacao2Id.value &&\r\n\t\t\t\tthis.formMetrica.controls[\"valorNumerico2\"].value\r\n\t\t\t\t? { required: true }\r\n\t\t\t\t: null\r\n\t\t);\r\n\t\tthis.formMetrica.controls[\"valorNumerico2\"].setErrors(\r\n\t\t\toperacao2Id.value &&\r\n\t\t\t\t!this.formMetrica.controls[\"valorNumerico2\"].value\r\n\t\t\t\t? { required: true }\r\n\t\t\t\t: null\r\n\t\t);\r\n\r\n\t\tthis.formMetrica.markAllAsTouched();\r\n\r\n\t\tif (!this.formMetrica.valid) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst nota = this.formMetrica.controls[\"nota\"].value? parseFloat(\r\n\t\t\ttoIntlNumberString(\r\n\t\t\t\tthis.formMetrica.controls[\"nota\"].value.toString()\r\n\t\t\t)\r\n\t\t): null;\r\n\r\n\r\n\t\tconst modelMetrica = {\r\n\t\t\toperacao1Id: parseInt(\r\n\t\t\t\tthis.formMetrica.controls[\"operacao1Id\"].value,\r\n\t\t\t\tnull\r\n\t\t\t),\r\n\t\t\toperacao1: this.enumTipoComparacao.find(\r\n\t\t\t\t(t) =>\r\n\t\t\t\t\tt.codigo ===\r\n\t\t\t\t\tparseInt(\r\n\t\t\t\t\t\tthis.formMetrica.controls[\"operacao1Id\"].value,\r\n\t\t\t\t\t\tnull\r\n\t\t\t\t\t)\r\n\t\t\t),\r\n\t\t\toperacao2Id: parseInt(\r\n\t\t\t\tthis.formMetrica.controls[\"operacao2Id\"].value,\r\n\t\t\t\tnull\r\n\t\t\t),\r\n\t\t\toperacao2: this.enumTipoComparacao.find(\r\n\t\t\t\t(t) =>\r\n\t\t\t\t\tt.codigo ===\r\n\t\t\t\t\tparseInt(\r\n\t\t\t\t\t\tthis.formMetrica.controls[\"operacao2Id\"].value,\r\n\t\t\t\t\t\tnull\r\n\t\t\t\t\t)\r\n\t\t\t),\r\n\t\t\tvalorNumerico1,\r\n\t\t\tvalorNumerico2,\r\n\t\t\tsubPergunta: this.formMetrica.controls[\"subPergunta\"].value || null,\r\n\t\t\tnota,\r\n\t\t} as IPerguntaMetricaModel;\r\n\r\n\t\tthis.dialogRef.close(modelMetrica);\r\n\t}\r\n\r\n\tpublic cancelar() {\r\n\t\tthis.dialogRef.close(null);\r\n\t}\r\n\r\n\tpublic async carregaTodasPerguntas() {\r\n\t\tconst res = await this.perguntaService\r\n\t\t\t.obter(\"\", true)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.dataSource = new MatTableDataSource(res.dados);\r\n\t\t\t\tthis.perguntas = res.dados;\r\n\t\t\t\tif(this.element?.subPergunta){\r\n\t\t\t\t\tthis.formMetrica.get('subPergunta').setValue(this.element.subPergunta);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem);\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate ValidateRequiredOperacao2() {\r\n\t\treturn (formGroup: FormGroup) => {\r\n\t\t\tconst operacao2Id = formGroup.controls[\"operacao2Id\"];\r\n\t\t\tconst valorNumerico2 = formGroup.controls[\"valorNumerico2\"];\r\n\r\n\t\t\tif (operacao2Id.value && !valorNumerico2.value) {\r\n\t\t\t\toperacao2Id.setErrors(null);\r\n\t\t\t\tvalorNumerico2.setErrors({ required: true });\r\n\t\t\t} else if (!operacao2Id.value && valorNumerico2.value) {\r\n\t\t\t\toperacao2Id.setErrors({ required: true });\r\n\t\t\t\tvalorNumerico2.setErrors(null);\r\n\t\t\t} else {\r\n\t\t\t\toperacao2Id.setErrors(null);\r\n\t\t\t\tvalorNumerico2.setErrors(null);\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
    \r\n\t\t\t\t\t
  1. \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tPágina Inicial\r\n\t\t\t\t\t
  2. \r\n\t\t\t\t\t
  3. \r\n\t\t\t\t\t\tPerguntas\r\n\t\t\t\t\t
  4. \r\n\t\t\t\t\t
  5. {{ titulo }}
  6. \r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ titulo }}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\tDescrição\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tCampo obrigatório\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ i + 1 }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ opcao.nome }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tNenhuma opção disponível\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tMétricas\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.operacao1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.descricao\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.valorNumerico1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t| number\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"1.2\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"pt\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.operacao2\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.descricao\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement.valorNumerico2\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t| number\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"1.2\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: \"pt\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tSub-pergunta\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ element.subPergunta }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tNota\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ element.nota }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tAdicionar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tNenhuma métrica cadastrada\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t Salvar\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tSalvar\r\n\t\t\t\t\t\t\t\t\tSalvar e fechar\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Cancelar\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Sair\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n","import { Component, OnInit, ChangeDetectorRef } from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { IBaseModel } from \"src/app/models/base.model\";\r\nimport { IPerguntaMetricaModel } from \"src/app/models/pergunta-metrica.model\";\r\nimport { IEnumModel } from \"src/app/models/enum.model\";\r\nimport { IPerguntaOpcaoModel } from \"src/app/models/pergunta-opcao.model\";\r\nimport { IPerguntaModel } from \"src/app/models/pergunta.model\";\r\nimport { PerguntaService } from \"src/app/services/pergunta.service\";\r\nimport { TabelaDominioService } from \"src/app/services/tabela-dominio.service\";\r\nimport Swal from \"sweetalert2\";\r\nimport { BaseFormComponent } from \"../../shared/components/base-form/base-form.component\";\r\nimport { ModalMetricaPerguntaComponent } from \"./modal-metrica-pergunta/modal-metrica-pergunta.component\";\r\n\r\nimport {\r\n\tCdkDragDrop,\r\n\tmoveItemInArray,\r\n\ttransferArrayItem,\r\n} from \"@angular/cdk/drag-drop\";\r\nimport { ModalExcluirMetricaComponent } from \"./modal-metrica-pergunta/modal-excluir-metrica/modal-excluir-metrica.component\";\r\n\r\n@Component({\r\n\tselector: \"app-pergunta-form\",\r\n\ttemplateUrl: \"./pergunta-form.component.html\",\r\n\tstyleUrls: [\"./pergunta-form.component.scss\"],\r\n})\r\nexport class PerguntaFormComponent extends BaseFormComponent implements OnInit {\r\n\tpublic enumTipoEntrada = [] as IEnumModel[];\r\n\tpublic enumTipoComparacao = [] as IEnumModel[];\r\n\r\n\tpublic model: IPerguntaModel = {} as IPerguntaModel;\r\n\tpublic metricasDataSource = new MatTableDataSource(\r\n\t\t[]\r\n\t);\r\n\tpublic opcoesDataSource = [] as IPerguntaOpcaoModel[];\r\n\r\n\tpublic semDados = true;\r\n\tpublic semDadosMetrica = true;\r\n\tpublic permiteCadastroOpcoes = false;\r\n\r\n\tpublic form = new FormGroup({\r\n\t\tid: new FormControl({ value: \"\", disabled: true }),\r\n\t\tnome: new FormControl(\"\", Validators.required),\r\n\t\tdescricao: new FormControl(\"\", Validators.required),\r\n\t\ttipoEntradaId: new FormControl(null, Validators.required),\r\n\t\tnovaOpcao: new FormControl(\"\"),\r\n\t\tsubPergunta: new FormControl(\"\"),\r\n\t});\r\n\r\n\tconstructor(\r\n\t\troute: ActivatedRoute,\r\n\t\ttoastr: ToastrService,\r\n\t\trouter: Router,\r\n\t\tlocaleService: BsLocaleService,\r\n\t\tprivate perguntaService: PerguntaService,\r\n\t\tprivate tabelaDominioService: TabelaDominioService,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate dialog: MatDialog,\r\n\t\tprivate cdr: ChangeDetectorRef\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\r\n\t\tif (this.novoRegistro) {\r\n\t\t\tthis.titulo = \"Nova Pergunta\";\r\n\t\t}\r\n\t}\r\n\r\n\tonDrop(event: CdkDragDrop) {\r\n\t\tif (event.previousContainer === event.container) {\r\n\t\t\tmoveItemInArray(\r\n\t\t\t\tthis.opcoesDataSource,\r\n\t\t\t\tevent.previousIndex,\r\n\t\t\t\tevent.currentIndex\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tasync ngOnInit() {\r\n\t\ttry {\r\n\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\tconst res = await this.perguntaService.obterPorId(this.id);\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.model = res.dados;\r\n\r\n\t\t\t\t\tif (this.visualizar) {\r\n\t\t\t\t\t\tthis.titulo =\r\n\t\t\t\t\t\t\t\"Visualizar Pergunta - \" + this.model.nome;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.titulo = \"Editar Pergunta - \" + this.model.nome;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.metricasDataSource =\r\n\t\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\t\tthis.model.perguntaMetrica.sort((a, b) =>\r\n\t\t\t\t\t\t\t\ta.ordem > b.ordem ? 1 : -1\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\tthis.metricasDataSource._updateChangeSubscription();\r\n\t\t\t\t\tthis.semDados =\r\n\t\t\t\t\t\tthis.metricasDataSource.filteredData.length === 0;\r\n\t\t\t\t\tthis.semDadosMetrica = this.model.perguntaMetrica.length ? false : true;\r\n\t\t\t\t\tthis.opcoesDataSource = this.model.perguntaOpcao.sort(\r\n\t\t\t\t\t\t(a, b) =>\r\n\t\t\t\t\t\t\ta[\"ordem\"]\r\n\t\t\t\t\t\t\t\t.toString()\r\n\t\t\t\t\t\t\t\t.localeCompare(b[\"ordem\"].toString())\r\n\t\t\t\t\t);\r\n\t\t\t\t\tthis.semDados = this.opcoesDataSource.length === 0;\r\n\t\t\t\t\tthis.form.patchValue(this.model);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t\tthis.router.navigate([\"/perguntas\"]);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tawait Promise.all([\r\n\t\t\t\tthis.tabelaDominioService\r\n\t\t\t\t\t.obterTipoComparacao()\r\n\t\t\t\t\t.then((res) => (this.enumTipoComparacao = res.dados)),\r\n\t\t\t]);\r\n\r\n\t\t\t// Tabelas de domínio\r\n\t\t\tawait this.tabelaDominioService\r\n\t\t\t\t.obterTipoEntradaPergunta()\r\n\t\t\t\t.then((res) => (this.enumTipoEntrada = res.dados));\r\n\t\t\tthis.permiteCadastroOpcoes = this.model.tipoEntradaId === 3;\r\n\t\t\tthis.form.patchValue(this.model);\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\tthis.router.navigate([\"/perguntas\"]);\r\n\t\t}\r\n\t\tthis.form.patchValue(this.model);\r\n\t}\r\n\r\n\tpublic cancelar() {\r\n\t\tthis.submit = false;\r\n\t\tthis.router.navigate([\"/perguntas\"]);\r\n\t}\r\n\r\n\tpublic onChangeTipoEntrada(event: any) {\r\n\t\tthis.permiteCadastroOpcoes = event.target.value === \"3\";\r\n\t\tthis.model.tipoEntradaId = parseInt(event.target.value, 10);\r\n\t}\r\n\r\n\tpublic async salvarDados(salvarEFechar: boolean) {\r\n\t\tthis.submit = true;\r\n\t\tif (this.form.invalid) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"warning\",\r\n\t\t\t\ttext: \"Formulário Inválido\",\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tObject.assign(this.model, this.form.value);\r\n\t\tthis.model.perguntaMetrica = this.metricasDataSource.data;\r\n\t\tthis.atualizarModel(this.form.value);\r\n\r\n\t\tthis.model.perguntaOpcao = [];\r\n\t\tif (this.model.tipoEntradaId.toString() === \"3\") {\r\n\t\t\tthis.model.perguntaOpcao = this.opcoesDataSource.map((_, i) => ({\r\n\t\t\t\t..._,\r\n\t\t\t\tordem: i,\r\n\t\t\t}));\r\n\t\t}\r\n\t\tif (this.model.tipoEntradaId.toString() !== \"3\"){\r\n\t\t\tthis.model.perguntaOpcao = [];\r\n\t\t\tthis.opcoesDataSource = [];\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tlet res: IBaseModel;\r\n\r\n\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\tres = await this.perguntaService.atualizar(this.model);\r\n\t\t\t} else {\r\n\t\t\t\tres = await this.perguntaService.inserir(this.model);\r\n\t\t\t}\r\n\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tif (res.mensagem.nome === \"PerguntaEmUsoAlteradaNovasOpcoes\") {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttitle: \"A pergunta foi alterada com sucesso!\",\r\n\t\t\t\t\t\thtml:\r\n\t\t\t\t\t\t\t\"O(s) Critério(s) abaixo precisa(m) ser alterado(s) com métricas para a(s) nova(s) resposta(s):
\" +\r\n\t\t\t\t\t\t\tthis.montarMensagensValidacao(res),\r\n\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t}).then(() => {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.router.navigate([\"/perguntas\"]);\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tif (salvarEFechar) {\r\n\t\t\t\t\t\tthis.router.navigate([\"/perguntas\"]);\r\n\t\t\t\t\t} else if (this.novoRegistro) {\r\n\t\t\t\t\t\tthis.router.navigate([`/perguntas/${res.dados.id}`]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconst validacoes = this.montarMensagensValidacao(res);\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\ttext: `${res.mensagem.descricao}${validacoes}`,\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async onSubmit() {\r\n\t\tthis.salvarDados(false);\r\n\t}\r\n\r\n\tpublic incluirNovaOpcao() {\r\n\t\tconst novaOpcao = this.form.controls[\"novaOpcao\"].value;\r\n\t\tif (novaOpcao && novaOpcao.length > 0) {\r\n\t\t\tthis.opcoesDataSource.push({\r\n\t\t\t\tnome: novaOpcao,\r\n\t\t\t} as IPerguntaOpcaoModel);\r\n\t\t\tthis.semDados = false;\r\n\r\n\t\t\tthis.form.controls[\"novaOpcao\"].setValue(\"\");\r\n\t\t}\r\n\t}\r\n\r\n\tpublic excluirOpcao(ind: number) {\r\n\t\tconst index = this.opcoesDataSource.findIndex(item => item.id === ind);\r\n\t\tif (index !== -1) {\r\n\t\t\tthis.opcoesDataSource.splice(index, 1);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate atualizarModel(values: any) {\r\n\t\tObject.assign(this.model, values);\r\n\t}\r\n\r\n\tpublic onBack() {\r\n\t\tthis.submit = false;\r\n\t\tthis.router.navigate([\"/perguntas\"]);\r\n\t}\r\n\tpublic excluirMetrica(i: number) {\r\n\t\tconst dialogRef = this.dialog.open(ModalExcluirMetricaComponent, {\r\n\t\t\twidth: \"650px\",\r\n\t\t\tdata: { message: \"Confirmação de Exclusão\" },\r\n\t\t});\r\n\r\n\t\tdialogRef.afterClosed().subscribe((result) => {\r\n\t\t\tif (result) {\r\n\t\t\t\tthis.metricasDataSource.data.splice(i, 1);\r\n\t\t\t\tthis.metricasDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.semDados =\r\n\t\t\t\t\tthis.metricasDataSource.filteredData.length === 0;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic async exibirModalMetrica(\r\n\t\telement?: IPerguntaMetricaModel,\r\n\t\tindex?: number\r\n\t) {\r\n\t\tif (!this.model.tipoEntradaId) {\r\n\t\t\tthis.exibirMensagemAlerta(\r\n\t\t\t\t\"É necessário selecionar o Tipo de Entrada antes de definir as métricas\"\r\n\t\t\t);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlet modal: any;\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component\";\r\n\t\tdialogConfig.width = \"650px\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\r\n\t\tif (\r\n\t\t\tthis.model.tipoEntradaId === 1 ||\r\n\t\t\tthis.model.tipoEntradaId === 2 ||\r\n\t\t\tthis.model.tipoEntradaId === 3\r\n\t\t) {\r\n\t\t\tlet defineEntrada: any;\r\n\r\n\t\t\tswitch (this.model.tipoEntradaId) {\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\tdefineEntrada = \"inteiro\";\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\tdefineEntrada = \"decimal\";\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\tdefineEntrada = \"multiplaEscolha\";\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tdefineEntrada = \"inteiro\";\r\n\t\t\t}\r\n\r\n\t\t\tconst data = {\r\n\t\t\t\ttipoEntrada: defineEntrada,\r\n\t\t\t\tenumTipoComparacao: this.enumTipoComparacao,\r\n\t\t\t\telement,\r\n\t\t\t};\r\n\r\n\t\t\tdialogConfig.data = data;\r\n\t\t\tmodal = this.matDialog.open(\r\n\t\t\t\tModalMetricaPerguntaComponent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.exibirMensagemAlerta(\r\n\t\t\t\t\"As subperguntas só podem ser atribuídas as perguntas do tipo decimal, numérica e multipla escolha.\"\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\tif (data) {\r\n\t\t\t\tif (element) {\r\n\t\t\t\t\tthis.metricasDataSource.data.splice(index, 1);\r\n\t\t\t\t}\r\n\t\t\t\tthis.metricasDataSource.data.push(data);\r\n\t\t\t\tthis.metricasDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.semDadosMetrica = false;\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.cdr.detectChanges();\r\n\t}\r\n\r\n\tpublic drop(event: CdkDragDrop) {\r\n\t\tmoveItemInArray(\r\n\t\t\tthis.metricasDataSource.data,\r\n\t\t\tevent.previousIndex,\r\n\t\t\tevent.currentIndex\r\n\t\t);\r\n\t\tfor (let i = 0; i < this.metricasDataSource.data.length; i++) {\r\n\t\t\tthis.metricasDataSource.data[i].ordem = i + 1;\r\n\t\t}\r\n\r\n\t\tthis.metricasDataSource._updateChangeSubscription();\r\n\t}\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPerguntaModel } from 'src/app/models/pergunta.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { PerguntaService } from 'src/app/services/pergunta.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'tipoEntrada':\r\n return item.tipoEntrada.descricao.trim().toLowerCase(); \r\n case 'nome': return item.nome.trim().toLowerCase(); \r\n default:\r\n return item[property];\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-pergunta-list',\r\n templateUrl: './pergunta-list.component.html',\r\n styleUrls: ['./pergunta-list.component.scss']\r\n})\r\nexport class PerguntaListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IPerguntaModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'tipoEntrada', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private perguntaService: PerguntaService,\r\n private router: Router,\r\n private authService:AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/perguntas/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.perguntaService\r\n .obter(this.searchNome, this.searchAtivo, true)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemAlerta(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.perguntaService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Pergunta reativada com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.perguntaService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Pergunta inativada com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/perguntas/${id}`]);\r\n }\r\n\r\n public excluir(id: number) {\r\n this.perguntaService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Pergunta excluída com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n title: 'Erro',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n public visualizar(id: number) {\r\n this.router.navigate([`/perguntas/${id}/visualizar`]);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Perguntas
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Perguntas\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Nome {{element.nome}} Tipo de Entrada {{element.tipoEntrada.descricao}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Períodos\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IPeriodoModel } from 'src/app/models/periodo.model';\r\nimport { PeriodoService } from 'src/app/services/periodo.service';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\n\r\n@Component({\r\n selector: 'app-periodo-form',\r\n templateUrl: './periodo-form.component.html',\r\n styleUrls: ['./periodo-form.component.scss'],\r\n})\r\nexport class PeriodoFormComponent extends BaseFormComponent implements OnInit {\r\n public model: IPeriodoModel = {} as IPeriodoModel;\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n dataInicio: new FormControl('', Validators.required),\r\n dataFim: new FormControl('', Validators.required)\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private periodoService: PeriodoService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Período';\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.periodoService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n \r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Período - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Período - ' + this.model.nome;\r\n }\r\n\r\n this.model.dataInicio = new Date(this.model.dataInicio);\r\n this.model.dataFim = new Date(this.model.dataFim);\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/periodos']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/periodos']);\r\n } \r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean = false) {\r\n if (this.form.invalid) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Formulário invalido',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n\r\n this.submit = true;\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.periodoService.atualizar(this.model);\r\n } else {\r\n res = await this.periodoService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (salvarEFechar) {\r\n this.router.navigate(['/periodos']);\r\n }\r\n else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/periodos/${res.dados.id}`]);\r\n await this.ngOnInit();\r\n }\r\n } else {\r\n this.submit = false;\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(validacoes, true);\r\n }\r\n } catch (err) {\r\n this.submit = false;\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/periodos']);\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPeriodoModel } from 'src/app/models/periodo.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { PeriodoService } from 'src/app/services/periodo.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-periodo-list',\r\n templateUrl: './periodo-list.component.html',\r\n styleUrls: ['./periodo-list.component.scss'],\r\n})\r\n\r\nexport class PeriodoListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IPeriodoModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'dataInicio', 'dataFim', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private periodoService: PeriodoService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService,\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n\r\n public novo() {\r\n this.router.navigate(['/periodos/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.periodoService\r\n .obter(this.searchNome, this.searchAtivo, true)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemAlerta(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.periodoService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Período reativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.periodoService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Período inativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/periodos/${id}`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public excluir(id: number) {\r\n this.periodoService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Período excluído com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n title: 'PEAC Associado',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/periodos/${id}/visualizar`]);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Período
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Períodos\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Nome {{ element.nome }} Data Inicio {{ element.dataInicio | date:\"dd/MM/yyyy\" }} Data Fim {{ element.dataFim | date:\"dd/MM/yyyy\" }} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { IAssinaturaModel } from './../../../models/assinatura.model';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { IPlanejamentoImprimirModel } from 'src/app/models/planejamento-imprimir.model';\r\nimport { PlanejamentoService } from 'src/app/services/planejamento.service';\r\nimport Swal from 'sweetalert2';\r\nimport { toFormatValue, toRemoveCharacters } from 'src/app/shared/util/toFormatValue';\r\n\r\n@Component({\r\n selector: 'app-imprimir',\r\n templateUrl: './imprimir.component.html',\r\n styleUrls: ['./imprimir.component.scss']\r\n})\r\nexport class ImprimirComponent implements OnInit {\r\n\r\n public model: IPlanejamentoImprimirModel = {} as IPlanejamentoImprimirModel;\r\n public homologado = false;\r\n public id: number\r\n\r\n\r\n constructor(\r\n private planejamentoService: PlanejamentoService,\r\n public route: ActivatedRoute,\r\n ) {\r\n this.id = +this.route.snapshot.paramMap.get('id');\r\n }\r\n\r\n ngOnInit(): void {\r\n this.obter()\r\n }\r\n\r\n\r\n public obter(){\r\n this.planejamentoService.imprimir(this.id).then((res) => {\r\n if(res.sucesso){\r\n this.model = res.dados\r\n if (res?.dados?.status?.codigo === 4) {\r\n this.homologado = true;\r\n }\r\n }else{\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n }\r\n\r\n public cancelar() {\r\n window.history.back()\r\n }\r\n\r\n public print() {\r\n window.print();\r\n }\r\n\r\n public formatarInput(value) {\r\n return toFormatValue(value);\r\n }\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t

Informações Básicas  

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tNº OPA:\r\n\t\t\t\t\t\t\t

{{ model?.opa?.numero }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tOrigem da Auditoria:\r\n\t\t\t\t\t\t\t

{{ model?.opa?.origem?.descricao }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tData de Elaboração:\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\tmodel?.opa?.dataElaboracao\r\n\t\t\t\t\t\t\t\t\t\t| date: \"shortDate\"\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tTipo de Auditoria:\r\n\t\t\t\t\t\t\t

{{ model?.opa?.nomeTipoAuditoria }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tData prevista para Início:\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\tmodel?.opa?.dataInicioPrevista\r\n\t\t\t\t\t\t\t\t\t\t| date: \"shortDate\"\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tData prevista para Fim:\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\tmodel?.opa?.dataFimPrevista\r\n\t\t\t\t\t\t\t\t\t\t| date: \"shortDate\"\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tData início de realização:\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\tmodel?.opa?.dataInicioRealizacao\r\n\t\t\t\t\t\t\t\t\t\t| date: \"shortDate\"\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tData fim de realização:\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\tmodel?.opa?.dataFimRealizacao\r\n\t\t\t\t\t\t\t\t\t\t| date: \"shortDate\"\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tUG a ser Auditado:\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{ model?.opa?.siglaUg }}-{{\r\n\t\t\t\t\t\t\t\t\tmodel?.opa?.nomeUg\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tCoordenador da auditoria:\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\tmodel?.opa?.auditorCoordenacao?.nomeAuditor\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tObjeto:\r\n\t\t\t\t\t\t\t

{{ model?.opa?.objeto }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tStatus:\r\n\t\t\t\t\t\t\t

{{ model?.status?.descricao }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tSubtipos:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ item?.subTipoAuditoria?.nome }}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tAuditores:\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{ item?.nomeAuditor }}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tUnidades Gestoras:\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ item?.unidadeGestora?.sigla }}-{{\r\n\t\t\t\t\t\t\t\t\titem?.unidadeGestora?.nome\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t

Matriz de planejamento  

\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tNenhum registro encontrado\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tSubtipo:\r\n\t\t\t\t\t\t\t\t

{{ subtipo?.nome }}

\r\n\t\t\t\t\t\t\t
\r\n
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tMatriz:\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t{{ matriz?.matrizPlanejamento?.nome }}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tQuestão:\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t{{ item?.questao?.nome }}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t

Custos e Recursos  

\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tNenhum registro encontrado\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tItem:\r\n\t\t\t\t\t\t\t

{{ item?.nome }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tValor Unitário:\r\n\t\t\t\t\t\t\t

{{ formatarInput(item?.valorUnitario) }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tQuantidade:\r\n\t\t\t\t\t\t\t

{{ item?.quantidade }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t Valor Total:\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\tformatarInput(\r\n\t\t\t\t\t\t\t\t\t\titem?.quantidade * item?.valorUnitario\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t

Cronograma  

\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tNenhum registro encontrado\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tFase de Atividade:\r\n\t\t\t\t\t\t\t\t

{{ fase?.nome }}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tDias planejados:\r\n\t\t\t\t\t\t\t\t

{{ fase?.quantidadeDias }}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tAtividade:\r\n\t\t\t\t\t\t\t\t\t

{{ atividade?.nome }}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tDias Planejados:\r\n\t\t\t\t\t\t\t\t\t

{{ atividade?.quantidadeDias }}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tSubAtividade:\r\n\t\t\t\t\t\t\t\t\t

{{ sub?.nome }}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tDias Planejados:\r\n\t\t\t\t\t\t\t\t\t

{{ sub?.quantidadeDias }}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t

Amostra  

\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tNenhum registro encontrado\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tNome:\r\n\t\t\t\t\t\t\t

{{ amostra?.nome }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tDescrição:\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{ amostra?.descricao }}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tUnidade(s) gestora(s):\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{{ ug?.unidadeGestora?.sigla }}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tArquivos:\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{ arquivo?.nome }}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Solicitação técnica  

\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tNenhum registro encontrado\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tAssociado a:\r\n\t\t\t\t\t\t\t\t\t

{{ model?.opa?.numero }}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tNº Solicitação Técnica:\r\n\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t{{ solicitacao?.numero }}\r\n\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t

-

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tPrazo:\r\n\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\tsolicitacao?.prazo\r\n\t\t\t\t\t\t\t\t\t\t\t\t| date: \"shortDate\"\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tStatus:\r\n\t\t\t\t\t\t\t\t\t

{{ solicitacao?.status?.descricao }}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tAssunto:\r\n\t\t\t\t\t\t\t\t\t

{{ solicitacao?.assunto }}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tUnidade Gestora:\r\n\t\t\t\t\t\t\t\t\t

{{ ug?.siglaUg }} - {{ ug?.nomeUg }}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tResponsável:\r\n\t\t\t\t\t\t\t\t\t

{{ ug?.nomeAuditor }}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tItem Nº: \r\n\t\t\t\t\t\t\t\t\t

{{ item?.numero }}

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tTitulo:\r\n\t\t\t\t\t\t\t\t\t\t

{{ item?.titulo }}

\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tDescrição:\r\n\t\t\t\t\t\t\t\t\t\t

{{ item?.descricao }}

\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tArquivos do Item:\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t

{{ anexo?.nomeArquivo }}

\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tDescrição da Resposta:\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\t{{ item?.resposta?.descricao }}\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t\t\tNÃO RESPONDIDO\r\n\t\t\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tArquivos da Resposta:\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t

{{ anexo?.nomeArquivo }}

\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t

Aprovações  

\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tNenhum registro encontrado\r\n\t\t\t\t\t 0\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  1. \r\n\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t{{ item?.nome }}({{ item?.papel }})\r\n\t\t\t\t\t\t\t\t\t\taprovou.\r\n\t\t\t\t\t\t\t\t\t

    \r\n\r\n\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t{{ item?.nome }}({{ item?.papel }})\r\n\t\t\t\t\t\t\t\t\t\treprovou.\r\n\t\t\t\t\t\t\t\t\t

    \r\n\r\n\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t{{ item?.nome }}({{ item?.papel }})\r\n\t\t\t\t\t\t\t\t\t\tenviou para aprovação.\r\n\t\t\t\t\t\t\t\t\t

    \r\n\r\n\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t\t\t{{ item?.nome }}({{ item?.papel }})\r\n\t\t\t\t\t\t\t\t\t\thomologou.\r\n\t\t\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t\t
  2. \r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{subTipoAuditoria.nome}} - {{subTipoMatriz.matrizPlanejamento.nome}}

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
QUESTÕES DE AUDITORIACLASSIFICAÇÃO DA QUESTÃOINFORMAÇÕES REQUERIDAS / FONTES DE INFORMAÇÃOLEGISLAÇÃO APLICÁVELPOSSÍVEIS CONSTATAÇÕESPROCEDIMENTOSDETALHAMENTO DOS PROCEDIMENTOSTÉCNICAS
\r\n

{{ auxQuestao.questao.nome }}

\r\n

\r\n
\r\n

\r\n
\r\n

\r\n
\r\n

\r\n
\r\n

\r\n {{auxConstatacao.constatacao.nome}}\r\n

\r\n
\r\n

\r\n {{auxProcedimentoAuditoria.procedimentoAuditoria.nome}}\r\n

\r\n
\r\n

\r\n \r\n

\r\n
\r\n

\r\n \r\n
\r\n \r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IMatrizPlanejamentoModel } from 'src/app/models/matriz-planejamento.model';\r\nimport { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\nimport { MatrizPlanejamentoService } from 'src/app/services/matriz-planejamento.service';\r\nimport { PlanejamentoService } from 'src/app/services/planejamento.service';\r\n\r\n@Component({\r\n selector: 'app-matriz-planejamento-visualizar',\r\n templateUrl: './matriz-planejamento-visualizar.component.html',\r\n styleUrls: ['./matriz-planejamento-visualizar.component.scss'],\r\n})\r\nexport class MatrizPlanejamentoVisualizarComponent implements OnInit {\r\n idParam: number;\r\n public lista: ISubtipoAuditoriaModel[] = new Array();\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private localeService: BsLocaleService,\r\n private planejamentoService: PlanejamentoService\r\n ) { }\r\n\r\n async ngOnInit() {\r\n this.localeService.use('pt-br');\r\n\r\n const id = this.route.snapshot.paramMap.get('id');\r\n\r\n if (id) {\r\n this.idParam = parseInt(id, 10);\r\n }\r\n\r\n await this.obterDados();\r\n }\r\n\r\n public async obterDados() {\r\n try {\r\n const id = this.route.snapshot.paramMap.get('id');\r\n const idParam = parseInt(id, 10);\r\n await this.planejamentoService.obterAbaMatrizPorIdImprimir(7, idParam).then((res) => {\r\n if (res.sucesso) {\r\n this.lista = res.dados;\r\n console.log(this.lista);\r\n }\r\n }\r\n );\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n this.router.navigate([`/planejamento/${this.idParam}/planejar`]);\r\n }\r\n }\r\n\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate([`/planejamento/${this.idParam}/planejar`]);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Alocar Equipe

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n Auditores da {{coordenacaoNome}} \r\n {{element.nomeAuditor}} \r\n \r\n \r\n
\r\n
Nenhum\r\n Auditor para o Tipo de Auditoria
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n Auditores de outras Coordenações \r\n {{element.nomeAuditor}}
\r\n
Nenhum Auditor de outras Coordenações
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { MatTableDataSource } from '@angular/material/table';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, OnInit, Inject, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort, MatSortable } from '@angular/material/sort';\r\nimport { DateHelper } from 'src/app/core/helpers/date.helper';\r\nimport { IPlanejamentoEquipeModel } from 'src/app/models/planejamento-equipe.model';\r\nimport { IAuditorCoordenacaoModel } from 'src/app/models/auditor-coordenacao.model';\r\nimport { ITipoAuditoriaModel } from 'src/app/models/tipo-auditoria.model';\r\nimport { IPlanejamentoEquipeAuditorModel } from 'src/app/models/planejamento-equipe-auditor.model';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-alocar-equipe-planejamento',\r\n templateUrl: './modal-alocar-equipe-planejamento.component.html',\r\n styleUrls: ['./modal-alocar-equipe-planejamento.component.scss'],\r\n})\r\nexport class ModalAlocarEquipePlanejamentoComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild('tabela1') public tabela1: MatSort;\r\n @ViewChild('tabela2') public tabela2: MatSort;\r\n\r\n public model = {} as IPlanejamentoEquipeModel;\r\n public auditores = [] as IAuditorCoordenacaoModel[];\r\n public tipoAuditoria = {} as ITipoAuditoriaModel;\r\n public auditoresTipoAuditoria = [] as IAuditorCoordenacaoModel[];\r\n public coordenacaoNome: string;\r\n public auditoresTipoAuditoriaDataSource = new MatTableDataSource([]);\r\n public auditoresTipoAuditoriaSemDados = true;\r\n public submit = false;\r\n public novoAuditor: string;\r\n\r\n public auditoresOutrasCoordenacoesDataSource = new MatTableDataSource([]);\r\n public auditoresOutrasCoordenacoesSemDados = true;\r\n\r\n public auditoresConflito: IAuditorCoordenacaoModel[];\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n private dateHelper: DateHelper,\r\n @Inject(MAT_DIALOG_DATA) data\r\n ) {\r\n this.model = data.equipe;\r\n this.auditores = data.auditores;\r\n this.tipoAuditoria = data.tipoAuditoria;\r\n this.auditoresTipoAuditoria = data.auditoresTipoAuditoria;\r\n\r\n this.coordenacaoNome = this.tipoAuditoria?.coordenacao?.nome;\r\n\r\n if (this.model.dataInicio != null) {\r\n this.model.dataInicio = new Date(this.model.dataInicio);\r\n }\r\n\r\n if (this.model.dataFim != null) {\r\n this.model.dataFim = new Date(this.model.dataFim);\r\n }\r\n\r\n // remover os auditores da coordenação do tipo da auditoria da listagem completa de auditores\r\n this.auditoresTipoAuditoria.forEach(auditorTipoAuditoria => {\r\n this.auditores = this.auditores.filter(auditor => {\r\n return auditor.auditorId !== auditorTipoAuditoria.auditorId;\r\n });\r\n });\r\n\r\n this.marcarComoSelecionado(this.auditoresTipoAuditoria, this.model.auditores);\r\n this.marcarComoSelecionado(this.auditores, this.model.auditores);\r\n\r\n this.auditoresTipoAuditoria = this.auditoresTipoAuditoria.map(a => {\r\n var result = this.model.auditores.find(b => b.auditorId === a.auditorId)\r\n if(result?.auditorId) {\r\n a.selecionado = true;\r\n }\r\n return a;\r\n })\r\n\r\n this.auditoresTipoAuditoriaDataSource = new MatTableDataSource(this.auditoresTipoAuditoria);\r\n this.auditoresTipoAuditoriaSemDados = this.auditoresTipoAuditoriaDataSource.data.length === 0;\r\n this.auditoresTipoAuditoriaDataSource._updateChangeSubscription();\r\n\r\n\r\n this.auditoresOutrasCoordenacoesDataSource = new MatTableDataSource(this.auditores);\r\n this.auditoresOutrasCoordenacoesSemDados = this.auditoresOutrasCoordenacoesDataSource.data.length === 0;\r\n this.auditoresOutrasCoordenacoesDataSource._updateChangeSubscription();\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n ngAfterViewInit(): void {\r\n this.tabela1.sort({ id: 'nome', start: 'asc' } as MatSortable);\r\n this.auditoresTipoAuditoriaDataSource.sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'nome':\r\n return item.nomeAuditor;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n this.auditoresTipoAuditoriaDataSource.sort = this.tabela1;\r\n\r\n this.tabela2.sort({ id: 'nome', start: 'asc' } as MatSortable);\r\n this.auditoresOutrasCoordenacoesDataSource.sortingDataAccessor = (\r\n item,\r\n property\r\n ) => {\r\n switch (property) {\r\n case 'nome':\r\n return item.nomeAuditor;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n this.auditoresOutrasCoordenacoesDataSource.sort = this.tabela2;\r\n }\r\n\r\n public async concluir() {\r\n this.submit = true;\r\n this.model.dataInicio = this.dateHelper.truncateDate(this.model.dataInicio);\r\n this.model.dataFim = this.dateHelper.truncateDate(this.model.dataFim);\r\n\r\n if (!this.model.dataInicio || !this.model.dataFim) {\r\n return;\r\n }\r\n\r\n if (this.model.dataInicio.getTime() > this.model.dataFim.getTime()) {\r\n this.exibirMensagemAlerta('Data inicial não pode ser maior que a data final');\r\n return;\r\n }\r\n\r\n let auditoresSelecionados = this.auditoresTipoAuditoriaDataSource.data.filter(d => d.selecionado);\r\n auditoresSelecionados = auditoresSelecionados.concat(this.auditoresOutrasCoordenacoesDataSource.data.filter(d => d.selecionado));\r\n\r\n // verifica se os auditores anteriores continuam selecionados\r\n this.model.auditores = this.model.auditores.filter(auditor => {\r\n return auditoresSelecionados.filter(as => as.auditorId === auditor.auditorId).length > 0;\r\n });\r\n\r\n // remove os autidores que já estavam na equipe\r\n auditoresSelecionados = auditoresSelecionados.filter(auditor => {\r\n return this.model.auditores.filter(a => a.auditorId === auditor.auditorId).length === 0;\r\n });\r\n\r\n // contem algum auditor selecionado\r\n let auditoresQueEstavamAnteriormente = this.model.auditores.filter(auditor => {\r\n return auditoresSelecionados.filter(a => a.auditorId === auditor.auditorId).length === 0;\r\n });\r\n\r\n if (auditoresSelecionados.length === 0 && auditoresQueEstavamAnteriormente.length == 0) {\r\n this.exibirMensagemAlerta('Informe algum Auditor');\r\n return;\r\n }\r\n if (auditoresSelecionados.length !== 0) {\r\n auditoresSelecionados.forEach(auditor => {\r\n const novoAuditor = { auditorId: auditor.auditorId, nomeAuditor: auditor.nomeAuditor, planejamentoEquipeId: this.model.planejamentoId } as IPlanejamentoEquipeAuditorModel;\r\n this.model.auditores.push(novoAuditor);\r\n });\r\n }\r\n this.dialogRef.close(this.model);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n private marcarComoSelecionado(auditores: IAuditorCoordenacaoModel[], auditoresSelecionados: IPlanejamentoEquipeAuditorModel[]){\r\n auditores.forEach(auditor => {\r\n auditor.selecionado = auditoresSelecionados.filter(as => as.auditorId === auditor.auditorId).length > 0;\r\n });\r\n }\r\n\r\n private exibirMensagemAlerta(mensagem: string) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: mensagem,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\n\r\n@Component({\r\n selector: 'app-modal-ug-planejamento',\r\n templateUrl: './modal-ug-planejamento.component.html',\r\n styleUrls: ['./modal-ug-planejamento.component.scss']\r\n})\r\nexport class ModalUgPlanejamentoComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public semDados = false;\r\n public displayedColumns = ['selecao', 'sigla', 'nome'];\r\n public elementosSelecionados = false;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.dataSource = new MatTableDataSource(data);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.filterPredicate = (data: { nome: string, sigla: string }, filterValue: string) => {\r\n return (data.nome || '').trim().toLowerCase().indexOf(filterValue) !== -1 || (data.sigla || '').trim().toLowerCase().indexOf(filterValue) !== -1;\r\n };\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public filtrar(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public selecionarTodos() {\r\n this.dataSource.data.forEach(d => d.selecionado = !this.elementosSelecionados);\r\n this.elementosSelecionados = !this.elementosSelecionados;\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.dataSource.data.filter(d => d.selecionado));\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Adicionar Unidades Gestoras

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Id {{element.id}} Sigla {{element.sigla}} Nome {{element.nome}}
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Planejamento\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n {{ titulo }}\r\n

\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n Subtipo\r\n \r\n {{ element?.subTipoAuditoria?.nome }}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n Nenhum Subtipo vinculado\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Equipe de Auditores \r\n \r\n {{element.nomeAuditor}} \r\n {{element.nomeAuditor}} \r\n \r\n
\r\n \r\n
\r\n
\r\n
Nenhum Auditor vinculado
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { ManterMatrizPlanejamentoService } from 'src/app/services/manter-matriz-planejamento.service';\r\nimport { IPlanejamentoUGSubtipoSalvarModel, IUgSubtipoModel } from './../../models/planejamento-subtipo-auditoria.model';\r\nimport { Component, OnInit, ViewChild, AfterViewInit, Output, EventEmitter, AfterContentChecked } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IPlanejamentoModel } from 'src/app/models/planejamento.model';\r\nimport { IPlanejamentoSubtipoAuditoriaModel } from 'src/app/models/planejamento-subtipo-auditoria.model';\r\nimport { IPlanejamentoUnidadeGestoraModel } from 'src/app/models/planejamento-unidade-gestora.model';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\nimport { IPlanejamentoEquipeModel } from 'src/app/models/planejamento-equipe.model';\r\nimport { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\nimport { IAuditorCoordenacaoModel } from 'src/app/models/auditor-coordenacao.model';\r\nimport { ICustoRecursoPlanejamentoModel } from 'src/app/models/custo-recurso-planejamento.model';\r\nimport { PlanejamentoService } from 'src/app/services/planejamento.service';\r\nimport { CoordenacaoService } from 'src/app/services/coordenacao.service';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport { SubtipoAuditoriaService } from 'src/app/services/subtipo-auditoria.service';\r\nimport { TipoAuditoriaService } from 'src/app/services/tipo-auditoria.service';\r\nimport { PaaService } from 'src/app/services/paa.service';\r\nimport { IPlanejamentoEquipeAuditorModel } from 'src/app/models/planejamento-equipe-auditor.model';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { ModalConfirmarInativacaoComponent } from 'src/app/shared/components/modal-confirmar-inativacao/modal-confirmar-inativacao.component';\r\nimport { ModalUgPlanejamentoComponent } from './modal-ug-planejamento/modal-ug-planejamento.component';\r\nimport { ModalAlocarEquipePlanejamentoComponent } from 'src/app/pages/planejamento-form/modal-alocar-equipe/modal-alocar-equipe-planejamento.component';\r\nimport { DateHelper } from 'src/app/core/helpers/date.helper';\r\nimport Swal from 'sweetalert2';\r\nimport { toFormatValue, toRemoveCharacters} from 'src/app/shared/util/toFormatValue';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { IRelatoriaCapituloModel } from 'src/app/models/relatoria-capitulo.model';\r\nimport { IModeloRelatoria } from 'src/app/shared/components/relatoria/relatoria.component';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { AbaMatrizPlanejamentoComponent } from 'src/app/shared/components/aba-matriz-planejamento/aba-matriz-planejamento.component';\r\n\r\n@Component({\r\n selector: 'app-planejamento-form',\r\n templateUrl: './planejamento-form.component.html',\r\n styleUrls: ['./planejamento-form.component.scss'],\r\n})\r\nexport class PlanejamentoFormComponent extends BaseFormComponent implements OnInit, AfterViewInit {\r\n //Informações Básicas\r\n public model: IPlanejamentoModel = {} as IPlanejamentoModel;\r\n public modelPlanejamentoSubtipoAuditoria: IPlanejamentoSubtipoAuditoriaModel = {} as IPlanejamentoSubtipoAuditoriaModel;\r\n public modelPlanejamentoUnidadeGestora: IPlanejamentoUnidadeGestoraModel = {} as IPlanejamentoUnidadeGestoraModel;\r\n public coordenadoresAuditoria = [] as IAuditorCoordenacaoModel[];\r\n public subtipoDataSource = new MatTableDataSource([]);\r\n public unidadeGestoraDataSource = new MatTableDataSource([]);\r\n public auditoresDataSource = new MatTableDataSource([]);\r\n public subtipoSemDados = true;\r\n public unidadeGestoraSemDados = true;\r\n public auditoresSemDados = true;\r\n public numeroOpa: string;\r\n public displayedColumnsUg: string[] = ['ug', 'subtipo', 'actions'];\r\n public dadosObtidosPlanejamento: IPlanejamentoEquipeModel = {} as IPlanejamentoEquipeModel;\r\n public hiddenEdicao: boolean = false;\r\n\r\n public relatoriaDados: IRelatoriaCapituloModel[] = null;\r\n public modelRelatoria: IModeloRelatoria = {} as IModeloRelatoria;\r\n @Output() public handlerInit: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('TableOnePaginator', {static: true}) tableOnePaginator: MatPaginator;\r\n @ViewChild('tabela1', {static: true}) tabela1: MatSort;\r\n\r\n @ViewChild('TableTwoPaginator', {static: true}) tableTwoPaginator: MatPaginator;\r\n @ViewChild('tabela2', {static: true}) tabela2: MatSort;\r\n @ViewChild(AbaMatrizPlanejamentoComponent, { static: true }) abaMatrizPlanejamento : AbaMatrizPlanejamentoComponent;\r\n\r\n // Custos e Recursos\r\n public modelCustoRecursoPlanejamento: ICustoRecursoPlanejamentoModel = {} as ICustoRecursoPlanejamentoModel;\r\n public custoRecursoColunas = ['selecao', 'nome', 'valorUnitario', 'quantidade', 'valorTotal'];\r\n public custoRecursoPlanejamentoDataSource = new MatTableDataSource([]);\r\n public custoRecursoPlanejamentoSemDados = true;\r\n public searchAtivo = true;\r\n public permissoes: IPermissaoModel;\r\n public statusPlanejamento: number;\r\n \r\n\r\n public formCustoRecurso = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n valorUnitario: new FormControl('', Validators.required),\r\n quantidade: new FormControl('', Validators.required),\r\n });\r\n\r\n public aba = 0;\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n periodoId: new FormControl(null, Validators.required),\r\n origemAuditoria: new FormControl('', Validators.required),\r\n indicadorId: new FormControl(null, Validators.required)\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private planejamentoService: PlanejamentoService,\r\n private subtipoAuditoriaService: SubtipoAuditoriaService,\r\n private coordenacaoService: CoordenacaoService,\r\n private tipoAuditoriaService: TipoAuditoriaService,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n private paaService: PaaService,\r\n public matDialog: MatDialog,\r\n private dateHelper: DateHelper,\r\n private serviceMatriz: ManterMatrizPlanejamentoService,\r\n private activatedRoute: ActivatedRoute,\r\n private authService: AuthService\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.titulo = 'Planejar';\r\n }\r\n\r\n\r\n async ngOnInit() {\r\n this.setarPermissoes();\r\n await this.obterDados();\r\n const numeroAba = this.activatedRoute.snapshot.queryParamMap.get('aba');\r\n if (numeroAba) { this.mudarAba(Number(numeroAba)); }\r\n this.router.url.includes(\"aba=6\") ? this.mudarAba(6) : null;\r\n if(window?.history?.state?.aba) this.mudarAba(window.history.state.aba)\r\n }\r\n \r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.enviarParaAprovacao = this.authService.possuiPermissao(EnumRecursoPerfil.Planejamento, EnumAcaoRecurso.EnviarParaAprovacao);\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n\r\n }\r\n\r\n // Informações Básicas\r\n public async obterDados() {\r\n\r\n try {\r\n this.obterCoordenadoresAuditoria();\r\n this.planejamentoService.obterPorId(this.id).then((res) => {\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n this.numeroOpa = res.dados.opa.numero;\r\n this.statusPlanejamento = res.dados.status.codigo;\r\n if(this.statusPlanejamento == 2 || this.statusPlanejamento == 4)\r\n this.hiddenEdicao = true;\r\n this.popularListasInformacoesBasicas(this.model);\r\n\r\n // listagem subtipos\r\n this.subtipoDataSource = new MatTableDataSource(this.model.planejamentoSubTipoAuditoria);\r\n this.subtipoDataSource.sort = this.tabela1;\r\n this.subtipoDataSource.paginator = this.tableOnePaginator;\r\n this.subtipoDataSource._updateChangeSubscription();\r\n this.subtipoSemDados = this.subtipoDataSource.filteredData.length === 0;\r\n\r\n } else {\r\n this.submit = false;\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/planejamento']);\r\n return;\r\n }\r\n });\r\n this.obterAlocarEquipe();\r\n } catch (err) {\r\n this.submit = false;\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem?.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/planejamento']);\r\n }\r\n }\r\n\r\n public obterAlocarEquipe() {\r\n this.planejamentoService.obterAlocarEquipe(this.id).then(res => {\r\n var result: any[] = res.dados as unknown as any[]\r\n var auditores = [];\r\n if(result.length > 0) {\r\n result.forEach(a=> auditores.push({ auditorId: a?.auditorId, nomeAuditor: a?.nomeAuditor ?? a.id, id: a?.id }));\r\n }\r\n this.model.planejamentoEquipe = {dataInicio: res.dados[0]?.dataInicio, dataFim: res.dados[0]?.dataFim, auditores} as IPlanejamentoEquipeModel;\r\n this.dadosObtidosPlanejamento = {dataInicio: res.dados[0]?.dataInicio, dataFim: res.dados[0]?.dataFim, auditores} as IPlanejamentoEquipeModel;\r\n\r\n this.auditoresDataSource = new MatTableDataSource(this.model.planejamentoEquipe.auditores);\r\n this.auditoresDataSource.sort = this.tabela2;\r\n this.auditoresDataSource.paginator = this.tableTwoPaginator;\r\n this.auditoresDataSource._updateChangeSubscription();\r\n this.auditoresSemDados = this.auditoresDataSource.filteredData.length === 0;\r\n\r\n if (this.model.planejamentoEquipe.auditores.length > 0) {\r\n this.obterDispensasPorPeriodo(false);\r\n }\r\n\r\n });\r\n }\r\n\r\n formatarInput(value) {\r\n return toFormatValue(value);\r\n }\r\n\r\n public popularListasInformacoesBasicas(model: IPlanejamentoModel){\r\n this.model.unidadeGestora = [] as IPlanejamentoUnidadeGestoraModel[];\r\n this.model.planejamentoEquipe = { auditores: [] as IPlanejamentoEquipeAuditorModel[] } as IPlanejamentoEquipeModel;\r\n if (model.unidadeGestora) model.unidadeGestora = [] as IPlanejamentoUnidadeGestoraModel[];\r\n if (!model.planejamentoEquipe) model.planejamentoEquipe = { auditores: [] as IPlanejamentoEquipeAuditorModel[] } as IPlanejamentoEquipeModel;\r\n }\r\n\r\n\r\n public obterCoordenadoresAuditoria(){\r\n this.coordenacaoService\r\n .obterCoordenadoresAtivos()\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.coordenadoresAuditoria = res.dados;\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public async onSubmitInformacoesBasicas() {\r\n this.submit = true;\r\n this.model.planejamentoSubTipoAuditoria = this.subtipoDataSource.data;\r\n this.model.unidadeGestora = this.unidadeGestoraDataSource.data;\r\n try{\r\n const res = await this.planejamentoService.atualizar(this.model)\r\n if(res.sucesso){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }else{\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n };}catch(err){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public excluirElementoSubtipo(indice: number) {\r\n this.auditoresDataSource.data.splice(indice, 1);\r\n this.auditoresDataSource._updateChangeSubscription();\r\n this.auditoresSemDados = this.auditoresDataSource.filteredData.length === 0;\r\n }\r\n\r\n public excluirSubtipo(element: number, subtipoId: number) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = { titulo: 'Tem certeza que deseja excluir esse registro?' };\r\n const modal = this.matDialog.open(\r\n ModalConfirmarInativacaoComponent,\r\n dialogConfig\r\n );\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n const subtipo = this.subtipoDataSource.data[element];\r\n subtipo.justificativa = data;\r\n subtipo.excluido = true;\r\n this.planejamentoService.excluirSubtipoAuditoria(this.id, subtipoId, { Justificativa: data }).then(res => {\r\n if (res.sucesso) {\r\n this.abaMatrizPlanejamento.excluirRegistro(subtipoId);\r\n this.exibirMensagemSucesso(' Subtipo, desvinculado com sucesso!'); \r\n } else {\r\n this.exibirMensagemErro(' Ocorreu um erro!');\r\n }\r\n })\r\n this.handlerInit.next(true);\r\n this.atualizarSubtipos();\r\n }\r\n });\r\n }\r\n\r\n private atualizarSubtipos(){\r\n this.subtipoDataSource = new MatTableDataSource(this.model.planejamentoSubTipoAuditoria);\r\n this.subtipoDataSource.sort = this.tabela1;\r\n this.subtipoDataSource.paginator = this.tableOnePaginator;\r\n this.subtipoDataSource._updateChangeSubscription();\r\n this.subtipoSemDados = this.subtipoDataSource.filteredData.length === 0;\r\n }\r\n\r\n public async exibirModalSubtipo(){\r\n try {\r\n\r\n const res = await this.subtipoAuditoriaService.obterAtivos();\r\n if (res.sucesso) {\r\n\r\n // Deixar subtipos selecionados\r\n const getSubtiposSelecionados: ISubtipoAuditoriaModel[] = res.dados.map(a => {\r\n let subtipoSelecionado = this.subtipoDataSource.data.find(b => b?.subTipoAuditoria?.id === a?.id);\r\n let subtipoJustificativa = this.subtipoDataSource.data.find(b => b?.subTipoAuditoria?.id === a?.id)?.justificativa;\r\n if(subtipoJustificativa) a.justificativa = subtipoJustificativa;\r\n if(subtipoSelecionado?.subTipoAuditoria?.id) a.selecionado = true;\r\n return a;\r\n });\r\n\r\n // Remover subtipos da listagens quando tiver justificativa\r\n const getSubtiposSemJustificativa: ISubtipoAuditoriaModel[] = getSubtiposSelecionados.filter(a => {\r\n if (!a?.justificativa) {\r\n return a;\r\n }\r\n })\r\n\r\n const modal = this.exibirModalMultiselect('Adicionar Subtipo', getSubtiposSemJustificativa, 'Salvar');\r\n modal.afterClosed().subscribe((data: ISubtipoAuditoriaModel[]) => {\r\n if (data) {\r\n if (Array.isArray(data)) {\r\n let subtiposAuditoriaSelecionados: ISubtipoAuditoriaModel[] = data;\r\n var subtipoAuditoria: number[] = subtiposAuditoriaSelecionados.map(x => x.id);\r\n this.planejamentoService.salvarSubtipoAuditoria(this.id, { subtipoAuditoria }).then(res => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(' Subtipo, vinculado com sucesso!');\r\n this.abaMatrizPlanejamento.obter();\r\n\r\n } else {\r\n this.exibirMensagemErro(' Ocorreu um erro!');\r\n }\r\n });\r\n this.obterDados();\r\n this.atualizarSubtipos();\r\n this.ngOnInit();\r\n }\r\n }\r\n });\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public async exibirModalUnidadeGestora() {\r\n try {\r\n\r\n const res = await this.unidadeGestoraService.obterAtivos();\r\n if (res.sucesso) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = res.dados;\r\n const modal = this.matDialog.open(\r\n ModalUgPlanejamentoComponent,\r\n dialogConfig\r\n );\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n let unidadeGestoraSelecionados = [] as IUnidadeGestoraModel[];\r\n unidadeGestoraSelecionados = data.map(d => (d as IUnidadeGestoraModel));\r\n unidadeGestoraSelecionados.forEach(x => this.model.unidadeGestora.push({unidadeGestoraId: x.id, unidadeGestora: x} as IPlanejamentoUnidadeGestoraModel));\r\n\r\n if (this.unidadeGestoraDataSource.data.map(x=> unidadeGestoraSelecionados.find(z=> z.id == x.unidadeGestoraId)).length > 0) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Unidade gestora já cadastrada nesse planejamento',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n }\r\n this.atualizarUnidadeGestora();\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public unidadeGestoraSelecionada(event: any[]) {\r\n let UgSubTipo: IPlanejamentoUGSubtipoSalvarModel = {\r\n ugSubTipo: event.map(a => { return { unidadeGestoraId: a?.unidadeGestora?.id, subTipoAuditoriaId: a?.subtipoAuditoria?.subTipoAuditoria?.id ?? a?.subtipoAuditoria?.id}})\r\n } as IPlanejamentoUGSubtipoSalvarModel;\r\n\r\n (async () => {\r\n const res = await this.planejamentoService.salvarUgSubtipo(this.id, UgSubTipo);\r\n res.sucesso ? this.exibirMensagemSucesso(' Item adicionado com sucesso!') : this.exibirMensagemErro(' Ocorreu um erro!');\r\n this.obterDados();\r\n })()\r\n }\r\n\r\n public excluirUg(event: any) {\r\n this.planejamentoService.desvincularUgSubtipo(this.id, event.subtipoId, event.ugId).then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(' UG desvinculada com sucesso!')\r\n } else {\r\n this.exibirMensagemErro(' Ocorreu um erro!')\r\n }\r\n }).catch(() => this.exibirMensagemErro(' Ocorreu um erro!'))\r\n this.obterDados();\r\n }\r\n\r\n private atualizarAuditores(salvar: boolean){\r\n this.auditoresDataSource = new MatTableDataSource(this.model.planejamentoEquipe.auditores);\r\n this.auditoresDataSource.sort = this.tabela2;\r\n this.auditoresDataSource.paginator = this.tableTwoPaginator;\r\n this.auditoresDataSource._updateChangeSubscription();\r\n this.auditoresSemDados = this.auditoresDataSource.filteredData.length === 0;\r\n\r\n if (salvar)this.planejamentoService\r\n .salvarAlocarEquipe(this.id, { auditorId: this.auditoresDataSource.data.map(a => a.auditorId ), dataFim: this.model.planejamentoEquipe.dataFim , dataInicio: this.model.planejamentoEquipe.dataInicio })\r\n .then(res => {\r\n res.sucesso ? this.exibirMensagemSucesso(' Equipe, vinculada com sucesso!') : this.exibirMensagemErro(' Ocorreu um erro!');\r\n }).finally(() => this.obterAlocarEquipe());\r\n }\r\n\r\n public obterDispensasPorPeriodo(salvar: boolean) {\r\n this.paaService\r\n .obterDispensasPeriodo(this.dateHelper.toString(this.model.planejamentoEquipe.dataInicio), this.dateHelper.toString(this.model.planejamentoEquipe.dataFim))\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.model.planejamentoEquipe.auditores.forEach(auditor => {\r\n auditor.indisponivelPeriodo = res.dados.filter(a => a.auditor.auditorId === auditor.auditorId).length > 0;\r\n });\r\n }\r\n })\r\n .finally(() => {\r\n this.atualizarAuditores(salvar);\r\n });\r\n }\r\n\r\n public async exibirModalAlocarEquipe() {\r\n try {\r\n const auditoresTipoAuditoria = this.model.idTipoAuditoria === 0 ? [] as IAuditorCoordenacaoModel[] : (\r\n await this.tipoAuditoriaService.obterAuditoresCoordenacaoTipoAuditoria(this.model.idTipoAuditoria)\r\n ).dados;\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.maxHeight = '80vh';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n\r\n dialogConfig.data = { equipe: this.dadosObtidosPlanejamento, auditores: this.coordenadoresAuditoria, tipoAuditoria: this.model.opa?.tipoAuditoria, auditoresTipoAuditoria };\r\n const modal = this.matDialog.open(\r\n ModalAlocarEquipePlanejamentoComponent,\r\n dialogConfig\r\n );\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n this.model.planejamentoEquipe = data;\r\n if (this.model.planejamentoEquipe.auditores.length > 0) {\r\n this.model.planejamentoEquipe.auditores = this.model.planejamentoEquipe.auditores.map(a => {\r\n let buscarAuditores = this.dadosObtidosPlanejamento.auditores.find(b => b.auditorId === a.auditorId);\r\n if (buscarAuditores.id) a.id = buscarAuditores.id;\r\n return a;\r\n })\r\n this.obterDispensasPorPeriodo(true);\r\n }\r\n }\r\n });\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public excluirAuditor(indice: number) {\r\n this.auditoresDataSource.data.splice(indice, 1);\r\n this.auditoresDataSource._updateChangeSubscription();\r\n this.auditoresSemDados = this.auditoresDataSource.filteredData.length === 0;\r\n }\r\n\r\n public desvincularAlocarEquipe(idEquipeAlocada: number) {\r\n Swal.fire({\r\n title: \"Excluir Registro\",\r\n text: \"Tem certeza que deseja excluir esse Registro?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then((res) => {\r\n if (res.value) {\r\n this.planejamentoService.desvincularAlocarEquipe(this.id, idEquipeAlocada)\r\n .then(res => {\r\n if(res.sucesso) {\r\n this.exibirMensagemSucesso(' Equipe, desvinculada com sucesso!');\r\n } else {\r\n this.exibirMensagemErro(' Ocorreu um erro!')\r\n }\r\n }).then(() => this.obterDados());\r\n }})\r\n }\r\n\r\n public excluirUnidadeGestora(indice: number) {\r\n this.unidadeGestoraDataSource.data.splice(indice, 1);\r\n this.unidadeGestoraDataSource._updateChangeSubscription();\r\n this.unidadeGestoraSemDados = this.unidadeGestoraDataSource.filteredData.length === 0;\r\n }\r\n\r\n private atualizarUnidadeGestora(){\r\n this.unidadeGestoraDataSource = new MatTableDataSource(this.model.unidadeGestora);\r\n this.unidadeGestoraDataSource._updateChangeSubscription();\r\n this.unidadeGestoraSemDados = this.unidadeGestoraDataSource.filteredData.length === 0;\r\n }\r\n // fim informações básicas\r\n\r\n\r\n public mudarAba(ind: number) {\r\n this.aba = ind;\r\n }\r\n\r\n public enviarParaAprovacao() {\r\n this.planejamentoService.enviarAprovacao(this.id).then((res) => {\r\n if(res.sucesso){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/planejamento']);\r\n }else{\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n }).catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n\r\n }\r\n\r\n public onBack() {\r\n window.history.back()\r\n }\r\n\r\n}\r\n","import { UnidadeGestoraService } from './../../services/unidade-gestora.service';\r\nimport { CoordenacaoService } from './../../services/coordenacao.service';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { SubtipoAuditoriaService } from './../../services/subtipo-auditoria.service';\r\nimport { TipoAuditoriaService } from './../../services/tipo-auditoria.service';\r\nimport { AfterViewInit, Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { IPlanejamentoModel } from 'src/app/models/planejamento.model';\r\nimport { PlanejamentoService } from 'src/app/services/planejamento.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport { Router } from '@angular/router';\r\nimport Swal from 'sweetalert2';\r\nimport { ITipoAuditoriaModel } from 'src/app/models/tipo-auditoria.model';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\nimport { IOsaFiltroModel } from 'src/app/models/osa-filtro-model';\r\nimport { IAuditorCoordenacaoModel } from 'src/app/models/auditor-coordenacao.model';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\n\r\n@Component({\r\n selector: 'app-planejamento-list',\r\n templateUrl: './planejamento-list.component.html',\r\n styleUrls: ['./planejamento-list.component.scss']\r\n})\r\nexport class PlanejamentoListComponent extends BaseListComponent implements AfterViewInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IPlanejamentoModel;\r\n public displayedColumns: string[] = ['selecao', 'numero', 'orgaoAuditado', 'origem', 'ano', 'dataInicio', 'dataFim', 'status', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public filtroModel;\r\n public coordenadores = [] as IAuditorCoordenacaoModel[];\r\n public tiposAuditoria = [] as ITipoAuditoriaModel[];\r\n public subtiposAuditoria = [] as ISubtipoAuditoriaModel[];\r\n public unidadesGestoras = [] as IUnidadeGestoraModel[];\r\n public situacoes = [{codigo: 1, descricao: 'Todos'}, {codigo: 2, descricao: 'Ativos'}, {codigo: 3, descricao: 'Inativos'}] as IEnumModel[];\r\n public status = [{codigo: 1, descricao: 'Em Elaboração'}, {codigo: 2, descricao: 'Em Aprovação'}, {codigo: 3, descricao: 'Em Homologacao'}, {codigo: 4, descricao: 'Homologado'}, {codigo: 5, descricao: 'Elaborar'}, {codigo: 6, descricao: 'Em Execução'}]\r\n public origem = [{codigo: 1, descricao: 'Planejada'}, {codigo: 2, descricao: 'Especial'}]\r\n\r\n public form: FormGroup = this.fb.group({\r\n numeroOpa: [''],\r\n origemAuditoria: [''],\r\n tiposAuditoriaId: [''],\r\n unidadeGestora: [''],\r\n dataElaboracao: [''],\r\n dataInicio: [''],\r\n dataFim: [''],\r\n objeto: [''],\r\n subtipoAuditoria: [''],\r\n auditor: [''],\r\n coordenador: [''],\r\n status: [''],\r\n situacoes: [''],\r\n\r\n });\r\n\r\n public totalItens: number;\r\n public filtro: FiltroModel = {} as FiltroModel;\r\n public pageEvent: any;\r\n\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n public fb: FormBuilder,\r\n public planejamentoService: PlanejamentoService,\r\n public tipoAuditoriaService: TipoAuditoriaService,\r\n public subtipoAuditoriaService: SubtipoAuditoriaService,\r\n public coordenacaoService: CoordenacaoService,\r\n public unidadeGestoraService: UnidadeGestoraService,\r\n public router: Router,\r\n public authService: AuthService,\r\n ) {\r\n super();\r\n }\r\n \r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Planejamento, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Planejamento, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Planejamento, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Planejamento, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Planejamento, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Planejamento, EnumAcaoRecurso.Visualizar);\r\n this.permissoes.planejar = this.authService.possuiPermissao(EnumRecursoPerfil.Planejamento, EnumAcaoRecurso.Planejar);\r\n }\r\n\r\n \r\n ngAfterViewInit(): void {\r\n this.configFiltro();\r\n this.buscar();\r\n }\r\n\r\n public pesquisar() {\r\n\r\n this.planejamentoService.obterFiltrado(this.form.value)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.totalItens = res.dados.totalItens;\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n private obterTiposAuditoria() {\r\n this.tipoAuditoriaService\r\n .obterAtivos()\r\n .then((res) => {\r\n this.tiposAuditoria = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n private obterUnidadesGestoras() {\r\n\r\n this.unidadeGestoraService\r\n .obterAtivos()\r\n .then((res) => {\r\n this.unidadesGestoras = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n private obterCoordenadores(){\r\n this.coordenacaoService\r\n .obterCoordenadoresAtivos()\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.coordenadores = res.dados;\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n private obterSubtiposAuditoria() {\r\n this.subtipoAuditoriaService\r\n .obterAtivos()\r\n .then((res) => {\r\n this.subtiposAuditoria = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n\r\n public buscar() {\r\n this.obterTiposAuditoria();\r\n this.obterSubtiposAuditoria();\r\n this.obterCoordenadores();\r\n this.obterUnidadesGestoras();\r\n\r\n this.selectedModel = null;\r\n\r\n this.planejamentoService\r\n .obterFiltrado(this.filtro)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/planejamento/${id}/visualizar`]);\r\n }\r\n\r\n public imprimir(id: number) {\r\n this.router.navigate([`/planejamento/${id}/imprimir`]);\r\n }\r\n\r\n public planejar(id: number){\r\n this.router.navigate([`/planejamento/${id}/planejar`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n\r\n configFiltro() {\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator?.pageSize;\r\n this.filtro.colunaOrder = \"Id\";\r\n this.filtro.direcao = this.sort?.direction;\r\n\r\n const filtrado = {};\r\n\r\n Object.keys(this.form.value).forEach(a => {\r\n if (this.form.value[a] && this.form.value[a] !== '' && this.form.value[a] !== null && this.form.value[a] !== undefined && Object.keys(this.form.value[a]).length > 0) {\r\n filtrado[a] = this.form.value[a];\r\n }\r\n });\r\n\r\n Object.assign(this.filtro, filtrado)\r\n }\r\n\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n }\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n\r\n this.buscar();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Planejamento
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Planejamento\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{ element.descricao }}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{ element.nome }}\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{unidade.sigla}}\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{auditor.nomeAuditor}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{auditor.nomeAuditor}}\r\n \r\n
\r\n
\r\n \r\n \r\n {{ status.descricao }}\r\n \r\n
\r\n
\r\n \r\n \r\n {{ situacao.descricao }}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Pesquisar\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Nº OPA {{element?.numero}} UG Auditada {{element?.orgaoAuditado?.sigla}} Origem {{element?.origem?.descricao}} Ano {{element?.ano}} Data Inicio {{element?.dataInicio | date:'dd/MM/yyyy'}} Data Fim {{element?.dataFim | date:'dd/MM/yyyy'}} Status \r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Sem dados a exibir
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { IPeaCriterioQuestionarioModel } from 'src/app/models/pea-criterio-questionario.model';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IQuestionarioModel } from 'src/app/models/questionario.model';\r\nimport { QuestionarioService } from 'src/app/services/questionario.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport { IListaQuestionarioRespostaUGModel, IQuestionarioUGModel } from 'src/app/models/questionario-ug.model';\r\nimport { EntendendoEntidadeService } from 'src/app/services/entendendo-entidade.service';\r\nimport { FiltroQuestionarioUG } from 'src/app/models/filtro-questionario-ug.model';\r\nimport { SharedService } from \"../../services/shared.service\";\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n\r\n switch (property) {\r\n case 'nomefuncionalidade':\r\n return item.nomefuncionalidade.trim().toLowerCase();;\r\n case 'ug':\r\n return item.ugSigla.trim().toLowerCase();;\r\n case 'responsavel':\r\n return item.nomeResponsavel.trim().toLowerCase();;\r\n case 'dataEnvio':\r\n return item.dataCriacaoFormatada.trim().toLowerCase();;\r\n case 'dataPrazo':\r\n return item.dataPrazo.trim().toLowerCase();;\r\n default:\r\n return item[property];\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-pre-planejamento-list',\r\n templateUrl: './pre-planejamento-list.component.html',\r\n styleUrls: ['./pre-planejamento-list.component.scss']\r\n})\r\nexport class PrePlanejamentoListComponent extends BaseListComponent {\r\n\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IListaQuestionarioRespostaUGModel;\r\n public searchNome: string;\r\n public filtro = {} as FiltroQuestionarioUG;\r\n public displayedColumns: string[] = ['selecao', 'nomeFuncionalidade', 'siglaUG', 'responsavel', 'dataEnvio', 'dataPrazo', 'status'];\r\n public totalItens: number;\r\n public pageEvent: any;\r\n public semDados = true;\r\n private segmentoUrl: string;\r\n public documento: string;\r\n public isPEA: boolean;\r\n\r\n@ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private questionarioUGService: EntendendoEntidadeService,\r\n private router: Router,\r\n private toastr: ToastrService,\r\n private sharedService: SharedService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n this.filtro.pesquisa = this.searchNome;\r\n this.questionarioUGService\r\n .ObterQuestionarioPendente(this.filtro)\r\n .then((res) => {\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.totalItens = res.dados.totalItens;\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n }\r\n\r\n public responder(id : number) {\r\n if(this.selectedModel.tipoQuestionarioId === 11){\r\n this.router.navigate([`universo-auditavel-preechimento-form`]);\r\n this.sharedService.setParams(this.selectedModel.idUG, id, this.selectedModel.tipoUniversoId, 'preechimento-ug');\r\n }else{\r\n this.router.navigate([`questionario/pre-planejamento-resposta/${id}`]);\r\n\r\n }\r\n }\r\n public print(id : number){\r\n this.router.navigate([`questionario/pre-planejamento-resposta/${id}/imprimir`]);\r\n }\r\n\r\n public visualizarQuestionario(id: number) {\r\n this.router.navigate([`questionario/pre-planejamento-resposta/${id}/visualizar`]);\r\n }\r\n\r\n\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.documentoId ? item : null;\r\n }\r\n\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.filtro.situacao = \"Todos\";\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t Lista de\r\n\t\t\t\t\t\t\tQuestionários\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t Responder\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t Visualizar\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t Imprimir\r\n\t\t\t\t\t\t\t\t \t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t \t
\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Nome da Funcionalidade {{element.nomeFuncionalidade}} UG {{element.siglaUG}} Responsável {{element.responsavel}} Data de Envio {{element.dataEnvio}} Data Prazo {{element.dataPrazo}} Status {{element.status}}
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tNenhum questionário disponível\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-modal-concordar',\r\n templateUrl: './modal-concordar.component.html',\r\n styleUrls: ['./modal-concordar.component.scss']\r\n})\r\nexport class ModalConcordarComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef) { }\r\n\r\n onConfirm(): void {\r\n // Ação de confirmação\r\n this.dialogRef.close(true);\r\n }\r\n\r\n onCancel(): void {\r\n // Ação de cancelamento\r\n this.dialogRef.close(false);\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

\r\n warning\r\n Concordar com a(s) Resposta(s) Selecionada(s)?\r\n

\r\n\r\n\r\n

Caso confirme, todas as respostas serão finalizadas!

\r\n
\r\n\r\n\r\n \r\n \r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { EnumStatusAvaliacaoQuestionarioUG } from 'src/app/models/enum/status-avaliacao-questionario-ug.enum';\r\nimport { EnumTipoAvaliacaoQuestionarioUG } from 'src/app/models/enum/tipo-avaliacao-questionario-ug.enum';\r\nimport { EnumTipoDocumentoAprovacao } from 'src/app/models/enum/tipo-documento-aprovacao.enum';\r\nimport { EnumTipoQuestionarioUG } from 'src/app/models/enum/tipo-questionario-ug.enum';\r\nimport { AvaliacaoRequest } from 'src/app/models/questionario-ug.model';\r\nimport { QuestionarioUGRespostaService } from 'src/app/services/questionarioug-resposta.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\n\r\n@Component({\r\n selector: 'app-modal-contestar',\r\n templateUrl: './modal-contestar.component.html',\r\n styleUrls: ['./modal-contestar.component.scss']\r\n})\r\nexport class ModalContestarComponent extends BaseFormComponent implements OnInit {\r\n form: FormGroup; // Declarando o FormGroup\r\n opcoesAvaliacao = [\r\n { value: EnumStatusAvaliacaoQuestionarioUG.concordo, label: 'Concordo' },\r\n { value: EnumStatusAvaliacaoQuestionarioUG.concordoParcialmente, label: 'Concordo Parcialmente' },\r\n { value: EnumStatusAvaliacaoQuestionarioUG.discordo, label: 'Discordo' }\r\n ];\r\n EnumStatusAvaliacaoQuestionarioUG = EnumStatusAvaliacaoQuestionarioUG;\r\n avaliacao: AvaliacaoRequest;\r\n public titulo: string;\r\n htmlResposta: SafeHtml | undefined;\r\n perguntaOpcao: any;\r\n\r\n\r\n constructor(\r\n public route: ActivatedRoute,\r\n public toastr: ToastrService,\r\n public router: Router,\r\n public localeService: BsLocaleService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n private sanitizer: DomSanitizer,\r\n private fb: FormBuilder,\r\n private questionarioUGRespostaService: QuestionarioUGRespostaService,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.form = this.fb.group({\r\n pergunta: [this.data.pergunta],\r\n resposta: [this.data.resposta],\r\n tipoEntrada: [this.data.tipoEntrada],\r\n respostaRevisada: [''] , // Adicione o controle para resposta revisada\r\n statusAvaliacao: [null] // Adicione o controle para o select\r\n });\r\n\r\n this.perguntaOpcao = this.data.perguntaOpcao;\r\n\r\n // Log de debug para verificar mudanças no campo statusAvaliacao\r\n this.form.get('statusAvaliacao')?.valueChanges.subscribe((value) => {\r\n console.log('Valor selecionado:', value);\r\n if (value === '1') {\r\n console.log('Campo Resposta Revisada será ocultado.');\r\n }\r\n })\r\n\r\n if(this.data.tipoQuestionarioId == EnumTipoQuestionarioUG.EntendendoEntidade){\r\n this.titulo = \"Entendendo a Entidade \";\r\n }else if (this.data.tipoQuestionarioId == EnumTipoQuestionarioUG.MaturidadeRisco){\r\n this.titulo = \"Maturidade de gestão de risco\";\r\n }\r\n const respostaHTML = this.data.resposta;\r\n\r\n // Atualize o controle do formulário\r\n this.form.get('resposta')?.setValue(respostaHTML);\r\n\r\n // Sanitizar o HTML para exibição segura\r\n this.htmlResposta = this.sanitizer.bypassSecurityTrustHtml(respostaHTML);\r\n\r\n }\r\n\r\n config: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n // ['bold']\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n cancelar(){\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = { interno: true };\r\n this.matDialog.open(ModalCancelarComponent, dialogConfig).afterClosed();\r\n\r\n }\r\n salvar(salvarEFechar: boolean){\r\n const idsSelecionadosString: string = [this.data.ids].join(',');\r\n this.avaliacao = {\r\n statusAvaliacao: this.form.value.statusAvaliacao,\r\n texto: this.form.value.respostaRevisada,\r\n tipoAvaliacao: EnumTipoAvaliacaoQuestionarioUG.replica\r\n };\r\n\r\n this.questionarioUGRespostaService.fazerAvaliacaoOuReplica(idsSelecionadosString, this.avaliacao)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n if(salvarEFechar){\r\n this.dialogRef.close();\r\n }\r\n this.exibirMensagemSucesso('Avaliacao Realizada com Sucesso');\r\n window.location.reload();\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n\r\n}\r\n}\r\n","\r\n
\r\n
\r\n

{{titulo}} - Fornecer Réplica

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n Resposta Revisada \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{ item.nome }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n","
\r\n \r\n
\r\n

Delegar Questionário

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Delegar\r\n \r\n \r\n \r\n
\r\n \r\n ","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IResponsavelUnidadeGestoraModel } from 'src/app/models/responsavel-unidade-gestora.model';\r\nimport { QuestionarioUGRespostaService } from 'src/app/services/questionarioug-resposta.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-delegar',\r\n templateUrl: './modal-delegar.component.html',\r\n styleUrls: ['./modal-delegar.component.scss']\r\n})\r\nexport class ModalDelegarComponent implements OnInit {\r\n questionarioId: any;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n private questionarioUGService: QuestionarioUGRespostaService,\r\n public router: Router,\r\n public toastr: ToastrService,\r\n @Inject(MAT_DIALOG_DATA) data\r\n ) { \r\n this.model = data.dados;\r\n this.questionarioId = data.questionarioId;\r\n }\r\n\r\n public model: IResponsavelUnidadeGestoraModel;\r\n public idResponsavel;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n\r\n async delegar() {\r\n this.questionarioUGService\r\n .DelegarQuestionario(this.questionarioId, this.idResponsavel)\r\n .then((res) => {\r\n this.dialogRef.close(true);\r\n }\r\n)}\r\n\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IArquivoModel } from 'src/app/models/arquivo.model';\r\nimport { AvaliacaoRequest, IListaQuestionarioRespostaUGModel, QuestionarioUGItensResposta } from 'src/app/models/questionario-ug.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { EntendendoEntidadeService } from 'src/app/services/entendendo-entidade.service';\r\nimport { PerguntaService } from 'src/app/services/pergunta.service';\r\nimport { QuestionarioUGRespostaService } from 'src/app/services/questionarioug-resposta.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ModalDelegarComponent } from './modal-delegar/modal-delegar.component';\r\nimport { ResponsaveisService } from 'src/app/services/responsaveis.service ';\r\nimport { MatCheckboxChange } from '@angular/material/checkbox';\r\nimport { ModalContestarComponent } from './modal-contestar/modal-contestar.component';\r\nimport Swal from 'sweetalert2';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { EnumStatusAvaliacaoQuestionarioUG } from 'src/app/models/enum/status-avaliacao-questionario-ug.enum';\r\nimport { EnumTipoAvaliacaoQuestionarioUG } from 'src/app/models/enum/tipo-avaliacao-questionario-ug.enum';\r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\nimport { SharedService } from \"../../services/shared.service\";\r\n\r\ninterface Question {\r\n question: string;\r\n responseType: string;\r\n status: string;\r\n formControlName: string;\r\n assignedTo?: string;\r\n}\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-pre-planejamento-resposta-form',\r\n templateUrl: './pre-planejamento-resposta-form.component.html',\r\n styleUrls: ['./pre-planejamento-resposta-form.component.scss']\r\n})\r\nexport class PrePlanejamentoRespostaFormComponent extends BaseFormComponent implements OnInit {\r\n public model= {} as IListaQuestionarioRespostaUGModel;\r\n formGroup: FormGroup;\r\n arquivo: File | null = null;\r\n //displayedColumns: string[] = ['checkbox', 'question', 'responseType', 'status', 'response', 'assignedTo'];\r\n displayedColumns: string[] = ['pergunta', 'tipoEntrada', 'status', 'nomeDelegadoA'];\r\n displayedColumnsName: string[] = ['Pergunta/Seção', 'Tipo de Entrada', 'Status', 'Delegado a']\r\n public dataSource = new MatTableDataSource([]);\r\n public dataSource2: any[] = [];\r\n imprimir: boolean;\r\n contestado: boolean = false;\r\n selectedItems: QuestionarioUGItensResposta[] = [];\r\n selectedIds: number[] = [];\r\n exibeCamposStatusEmReplica: boolean;\r\n habilitaBotaoFinalizar: boolean = false;\r\n avaliacao: AvaliacaoRequest;\r\n isDisabledStatusEmReplica: boolean = false;\r\n selection = new SelectionModel(true, []);\r\n tipoQuestionario: number;\r\n config: AngularEditorConfig = {\r\n editable: !this.visualizar,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n constructor(private fb: FormBuilder,\r\n private questionarioUGService: QuestionarioUGRespostaService,\r\n toastr: ToastrService,\r\n route: ActivatedRoute,\r\n router: Router,\r\n private authService: AuthService,\r\n localeService: BsLocaleService,\r\n private perguntaService: PerguntaService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private responsaveisService: ResponsaveisService,\r\n public matDialog: MatDialog,\r\n private sharedService: SharedService\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n this.formGroup = this.fb.group({\r\n checkboxs: this.fb.array([]),\r\n respostas: this.fb.array([]),\r\n arquivos: this.fb.array([]) // Novo FormArray para os arquivos\r\n });\r\n this.unidadeGestoraId = 307;\r\n\r\n }\r\n private unidadeGestoraId = 307;\r\n\r\n\r\n ngOnInit(): void {\r\n this.buscar();\r\n this.tipoQuestionario = this.sharedService.getTipoQuestionario();\r\n this.route.data.subscribe(data => {\r\n this.imprimir = data['imprimir']; // Acesse o valor de imprimir dos dados da rota\r\n });\r\n }\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n\r\n async onSalvar(salvarEFechar: boolean) {\r\n const respostasFormArray = this.formGroup.get('respostas') as FormArray;\r\n this.dataSource.data.forEach((item, index) => {\r\n item.resposta = respostasFormArray.at(index).value;\r\n });\r\n const res = await this.questionarioUGService.salvarRespostasQuestionarioPorId(this.id, this.dataSource.data);\r\n if (res.sucesso) {\r\n if(salvarEFechar == true)\r\n {\r\n this.router.navigate([`/questionario/pre-planejamento`]);\r\n }\r\n else\r\n {\r\n this.exibirMensagemSucesso('Registro Salvo com Sucesso!')\r\n this.buscar();\r\n window.location.reload();\r\n }\r\n\r\n }\r\n else\r\n {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n\r\n }\r\n\r\n\r\nasync onEnviar(){\r\n const respostasFormArray = this.formGroup.get('respostas') as FormArray;\r\n this.dataSource.data.forEach((item, index) => {\r\n item.resposta = respostasFormArray.at(index).value;\r\n });\r\n\r\n this.questionarioUGService.enviarRespostasQuestionarioPorId(this.id, this.dataSource.data)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n\r\n this.router.navigate([`/questionario/pre-planejamento`]);\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n\r\n }\r\n onCancelar(){\r\n if(this.visualizar || this.imprimir){\r\n this.router.navigate([`/questionario/pre-planejamento`]);\r\n }else{\r\n Swal.fire({\r\n title: 'Atenção',\r\n text: \"Todas as informações preenchidas serão perdidas. Deseja continuar? \",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n if (res.value) {\r\n this.router.navigate([`/questionario/pre-planejamento`]);\r\n }\r\n })\r\n }\r\n }\r\n\r\n async modalDelegar(){\r\n const idsParaDelegar = this.selectedIds;\r\n const res = await this.responsaveisService.obter(\r\n this.model.idUG, '','','', true\r\n );\r\n\r\n const selectedItemIds = this.selectedItems.map(item => item.idItemQuestionario);\r\n\r\n if (res.sucesso) {\r\n try {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '500px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n questionarioId: idsParaDelegar,\r\n dados: res.dados,\r\n };\r\n\r\n const modal = this.matDialog.open(\r\n ModalDelegarComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe(async (result) => {\r\n if (result === true) {\r\n this.submit = true;\r\n this.buscar();\r\n this.exibirMensagemSucesso(\"Registro delegado com sucesso\");\r\n }\r\n });\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n }\r\n\r\n enviarArquivo(){\r\n\r\n }\r\n\r\n onConcordar(){\r\n\r\n let idsSelecionados: number[] = [];\r\n if(this.selectedIds.length > 0){\r\n idsSelecionados = this.selectedIds;\r\n }else{\r\n // @ts-ignore\r\n idsSelecionados = this.selection.selected.map(item => {\r\n if (item.idTipoSecaoOuPergunta != 1) {\r\n return item.idItemQuestionario;\r\n }\r\n return null;\r\n }).filter(id => id !== null);\r\n }\r\n\r\n if(!idsSelecionados || idsSelecionados.length == 0){\r\n this.exibirMensagemErro(\"Favor selecionar ao menos 1 pergunta.\")\r\n return false;\r\n }\r\n\r\n const idsSelecionadosString: string = idsSelecionados.join(',');\r\n this.avaliacao = {\r\n statusAvaliacao: EnumStatusAvaliacaoQuestionarioUG.concordo,\r\n texto: \"\",\r\n tipoAvaliacao: EnumTipoAvaliacaoQuestionarioUG.replica\r\n };\r\n\r\n Swal.fire({\r\n title: 'Atenção',\r\n text: \"Concordar com as respostas selecionadas? Caso confirme, todas serão finalizadas! \",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n if(res.isConfirmed)\r\n this.questionarioUGService.fazerAvaliacaoOuReplica(idsSelecionadosString, this.avaliacao)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Registro Atualizado com sucesso');\r\n this.buscar();\r\n this.selectedIds = [];\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n })\r\n\r\n }\r\n\r\n onContestar(){\r\n\r\n const idsSelecionados = this.selectedIds;\r\n const idsSelecionadosString: string = idsSelecionados.join(',');\r\n const perguntaSelecionada = this.model.respostas.find(item => idsSelecionados.includes(item.idItemQuestionario));\r\n // Verifica se há mais de uma pergunta selecionada\r\n if (idsSelecionados.length > 1) {\r\n this.exibirMensagemAlerta('Só pode ter um registro selecionado para contestar');\r\n return;\r\n }\r\n\r\n // Verifica se há pelo menos uma pergunta selecionada\r\n if (idsSelecionados.length === 0) {\r\n this.exibirMensagemAlerta('Selecione uma pergunta para contestar');\r\n return;\r\n }\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '1000px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n ids: idsSelecionadosString,\r\n pergunta: perguntaSelecionada.pergunta,\r\n resposta: perguntaSelecionada.resposta,\r\n tipoQuestionarioId: this.model.tipoQuestionarioId,\r\n tipoEntrada: perguntaSelecionada.tipoEntrada,\r\n perguntaOpcao: perguntaSelecionada.perguntaOpcao,\r\n tipoQuestionario: this.tipoQuestionario,\r\n idQuestionario: this.id\r\n };\r\n\r\n const modal = this.matDialog.open(ModalContestarComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if(data.success){\r\n // this.buscar();\r\n // window.location.reload();\r\n this.selection.clear();\r\n this.buscar();\r\n\r\n }\r\n })\r\n\r\n }\r\n\r\n onFinalizar(){\r\n\r\n let idsSelecionados: number[] = [];\r\n if(this.selectedIds.length > 0){\r\n idsSelecionados = this.selectedIds;\r\n }else{\r\n // @ts-ignore\r\n idsSelecionados = this.selection.selected.map(item => {\r\n if (item.idTipoSecaoOuPergunta != 1) {\r\n return item.idItemQuestionario;\r\n }\r\n return null;\r\n }).filter(id => id !== null);\r\n }\r\n const idsSelecionadosString: string = idsSelecionados.join(',');\r\n\r\n this.questionarioUGService.FinalizarPerguntaQuestionario(idsSelecionadosString)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(\"Registro finalizado com sucesso!\");\r\n this.buscar();\r\n window.location.reload();\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n\r\n }\r\n\r\n buscar() {\r\n this.questionarioUGService.ObterRespostaQuestionario(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n if(this.model.status == 'Em réplica')\r\n {\r\n this.config.editable = false;\r\n this.isDisabledStatusEmReplica = true;\r\n this.exibeCamposStatusEmReplica = true;\r\n this.displayedColumns = ['pergunta', 'tipoEntrada', 'status', 'nomeDelegadoA', 'tipoAvaliacaoAuditor', 'avaliacaoAuditor'];\r\n this.displayedColumnsName = ['Pergunta/Seção', 'Tipo de Entrada', 'Status', 'Delegado a', 'Avaliação do Auditor', 'Resposta Revidada do Auditor']\r\n }\r\n else\r\n {\r\n this.displayedColumns = ['pergunta', 'tipoEntrada', 'status', 'nomeDelegadoA'];\r\n this.displayedColumnsName = ['Pergunta/Seção', 'Tipo de Entrada', 'Status', 'Delegado a']\r\n this.exibeCamposStatusEmReplica = false;\r\n }\r\n this.dataSource = new MatTableDataSource(res.dados.respostas);\r\n this.dataSource2 = res.dados.respostas;\r\n // Limpa o FormArray antes de adicionar novos controles\r\n const respostasFormArray = this.formGroup.get('respostas') as FormArray;\r\n respostasFormArray.clear();\r\n\r\n //const checkboxesFormArray = this.fb.array([]); // Novo FormArray para os checkboxes\r\n const checkboxesFormArray = this.formGroup.get('checkboxs') as FormArray;\r\n checkboxesFormArray.clear();\r\n this.selectedIds = [];\r\n this.selection.clear();\r\n\r\n // Adiciona controles ao FormArray dinamicamente\r\n res.dados.respostas.forEach(item => {\r\n respostasFormArray.push(new FormControl(item.resposta));\r\n checkboxesFormArray.push(new FormControl(item.selected || false));\r\n });\r\n if (this.model.status == 'Contestado'){\r\n this.contestado = true;\r\n this.config.editable = false\r\n }\r\n\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => this.exibirMensagemErro(err));\r\n }\r\n\r\n buscarArquivoAnexado() {\r\n this.questionarioUGService.ObterRespostaQuestionario(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n this.dataSource = new MatTableDataSource(res.dados.respostas);\r\n this.dataSource2 = res.dados.respostas;\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => this.exibirMensagemErro(err));\r\n }\r\n\r\n\r\n\r\n toggleSelectAll(checked: boolean) {\r\n const checkboxesFormArray = this.formGroup.get('checkboxes') as FormArray;\r\n if (checkboxesFormArray) {\r\n const checkboxesFormArray = this.formGroup.get('checkboxes') as FormArray;\r\n checkboxesFormArray.controls.forEach(control => control.setValue(checked));\r\n } else {\r\n return false; // Ou qualquer valor padrão que faça sentido no seu contexto\r\n }\r\n }\r\n\r\n\r\n\r\n isIndeterminate() {\r\n const checkboxesFormArray = this.formGroup.get('checkboxes') as FormArray;\r\n if (checkboxesFormArray) { // Adicione esta verificação\r\n const numSelected = checkboxesFormArray.controls.filter(control => control.value).length;\r\n return numSelected > 0 && numSelected < checkboxesFormArray.controls.length;\r\n } else {\r\n return false; // Ou qualquer valor padrão que faça sentido no seu contexto\r\n }\r\n }\r\n\r\n updateSelectedItems(item: QuestionarioUGItensResposta) {\r\n if (item.selected) {\r\n this.selectedItems.push(item);\r\n } else {\r\n const index = this.selectedItems.findIndex(selectedItem => selectedItem === item);\r\n if (index > -1) {\r\n this.selectedItems.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n onFileSelected(event: any, index: number): void {\r\n const file: File = event.target.files[0];\r\n if (file) {\r\n // Verifica se a extensão do arquivo é PDF\r\n const fileExtension = file.name.split('.').pop()?.toLowerCase();\r\n\r\n const allowedExtensions = ['pdf', 'jpg', 'jpeg', 'jpe', 'jfif', 'gif', 'png', 'bmp', 'tiff', 'exif', 'doc', 'docx', 'zip', 'csv', 'txt', 'xls', 'ppt', 'pps', 'odt', 'odf', 'html'];\r\n\r\n if (!allowedExtensions.includes(fileExtension)) {\r\n this.toastr.error('Extensão do arquivo selecionado não é válida !!!', 'Extensão inválida');\r\n this.arquivo = null;\r\n } else {\r\n this.arquivo = file;\r\n // AQUI COMEÇA UMA NOVA HISTORIA E OUTRA TENTATIVA\r\n const idItemQuestionario = this.dataSource.data[index].idItemQuestionario;\r\n\r\n const arquivoModel: IArquivoModel = {\r\n id: 0,\r\n nomeArquivo: this.arquivo.name,\r\n entidadeArquivo: 1,\r\n arquivo: this.arquivo,\r\n url: ''\r\n };\r\n\r\n this.questionarioUGService.anexarArquivo(idItemQuestionario ,arquivoModel).then(\r\n (response) => {\r\n this.buscarArquivoAnexado();\r\n // importante nao colocar o reload aqui, senao os dados digitados na pagina sao perdidos bug 38698\r\n // window.location.reload();\r\n },\r\n (error) => {\r\n this.exibirMensagemErro(error.mensagem.descricao);\r\n }\r\n );\r\n }\r\n }\r\n}\r\n\r\n\r\n getRespostaFormControl(index: number): FormControl {\r\n const respostasFormArray = this.formGroup.get('respostas') as FormArray;\r\n const control = respostasFormArray.at(index) as FormControl;\r\n if (this.visualizar || this.imprimir) {\r\n control.disable();\r\n } else {\r\n control.enable();\r\n }\r\n\r\n return control;\r\n }\r\n\r\n getCheckBoxFormControl(index: number): FormControl {\r\n const checkBoxsFormArray = this.formGroup.get('checkboxs') as FormArray;\r\n return checkBoxsFormArray.at(index) as FormControl;\r\n }\r\n\r\n getArquivoFormControl(index: number): FormControl {\r\n const arquivosFormArray = this.formGroup.get('arquivos') as FormArray;\r\n return arquivosFormArray.at(index) as FormControl;\r\n}\r\n // toggleAll(event:any){\r\n // if (event.checked) {\r\n // this.selection.select(...this.dataSource2);\r\n // this.dataSource2.forEach((item)=>{\r\n //\r\n // if(item.idTipoSecaoOuPergunta == 2){\r\n // this.selectedIds.push(item.idItemQuestionario);\r\n // }\r\n // });\r\n //\r\n // } else {\r\n // this.selection.clear();\r\n // this.selectedIds.pop();\r\n // }\r\n // this.habilitaBotaoFinalizar = !this.selection.isEmpty();\r\n // }\r\n\r\n masterToggle() {\r\n if(this.isAllSelected()){\r\n this.selection.clear();\r\n this.habilitaBotaoFinalizar = false;\r\n }else {\r\n this.dataSource2.forEach(row => this.selection.select(row));\r\n this.habilitaBotaoFinalizar = true;\r\n }\r\n }\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.dataSource2.filter(x => x.idTipoSecaoOuPergunta != 1).length;\r\n return numSelected === numRows;\r\n\r\n }\r\n checkExists(value):boolean{\r\n return this.selectedIds.includes(value);\r\n }\r\nonCheckboxChange(event: MatCheckboxChange, element: any) {\r\n if (event.checked) {\r\n if(!this.checkExists(element.idItemQuestionario)){\r\n this.selectedIds.push(element.idItemQuestionario);\r\n this.selection.toggle(element);\r\n }\r\n } else {\r\n const index = this.selectedIds.indexOf(element.idItemQuestionario);\r\n if (index > -1) {\r\n this.selectedIds.splice(index, 1);\r\n this.selection.deselect(element);\r\n }\r\n }\r\n this.habilitaBotaoFinalizar = this.selectedIds.length > 0;\r\n}\r\n\r\nisAllFinalized() {\r\n const filteredItems = this.dataSource.data.filter(item => item.idTipoSecaoOuPergunta === 2);\r\n const allFinalized = filteredItems.every(item => item.status === 'Finalizado' || item.status === 'Contestado');\r\n return allFinalized;\r\n}\r\n\r\nisStatusEmReplica(){\r\n return this.model.status == 'Em réplica';\r\n}\r\n\r\nisHabilitaBotaoFinalizar(){\r\n return this.habilitaBotaoFinalizar;\r\n}\r\n\r\nDesabilitaBotaoDelegar(){\r\n return this.selectedIds.length == 0;\r\n}\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Visualização de procedimento auditoria

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Nome {{ element.tecnicaAuditoria.nome }}
\r\n
Nenhuma técnica de auditoria cadastrada
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { IProcedimentoTecnicaAuditoriaModel } from 'src/app/models/procedimento-tecnica-auditoria.model';\r\nimport { IQuestaoProcedimentoAuditoriaModel } from 'src/app/models/questao-procedimento-auditoria.model';\r\nimport { IProcedimentoAuditoriaModel } from 'src/app/models/procedimento-auditoria.model';\r\nimport { ProcedimentoAuditoriaService } from 'src/app/services/procedimento-auditoria.service';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\n\r\n@Component({\r\n selector: 'app-modal-procedimento-auditoria',\r\n templateUrl: './modal-procedimento-auditoria.component.html',\r\n styleUrls: ['./modal-procedimento-auditoria.component.scss']\r\n})\r\n\r\nexport class ModalProcedimentoAuditoriaComponent implements OnInit {\r\n public modelQuestaoProcedimentoAuditoria: IQuestaoProcedimentoAuditoriaModel = {} as IQuestaoProcedimentoAuditoriaModel;\r\n public model: IProcedimentoAuditoriaModel = {} as IProcedimentoAuditoriaModel;\r\n public tecnicaAuditoriaDataSource = new MatTableDataSource([]);\r\n\r\n public semDados = true;\r\n public visualizacao = true;\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n fonteInformacao: new FormControl('', Validators.required),\r\n detalhamentoProcedimento: new FormControl('', Validators.required),\r\n });\r\n\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n private procedimentoAuditoriaService: ProcedimentoAuditoriaService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.modelQuestaoProcedimentoAuditoria = data;\r\n }\r\n\r\n config: AngularEditorConfig = {\r\n editable: false,\r\n spellcheck: false,\r\n sanitize: false,\r\n height: '10rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [[], []],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n async ngOnInit() {\r\n const res = await this.procedimentoAuditoriaService.obterPorId(this.modelQuestaoProcedimentoAuditoria.procedimentoAuditoriaId);\r\n\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n this.tecnicaAuditoriaDataSource = new MatTableDataSource\r\n (\r\n this.model.procedimentoTecnicaAuditoria\r\n );\r\n this.tecnicaAuditoriaDataSource._updateChangeSubscription();\r\n this.semDados = this.tecnicaAuditoriaDataSource.filteredData.length === 0;\r\n }\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Procedimento\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Nome {{ element.tecnicaAuditoria.nome }}\r\n
\r\n \r\n
\r\n
\r\n
Nenhuma técnica de auditoria cadastrada
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IProcedimentoAuditoriaModel } from 'src/app/models/procedimento-auditoria.model';\r\nimport { IQuestaoConstatacaoModel } from 'src/app/models/questao-constatacao.model';\r\nimport { IMatrizPlanejamentoModel } from 'src/app/models/matriz-planejamento.model';\r\nimport { IQuestaoProcedimentoAuditoriaModel } from 'src/app/models/questao-procedimento-auditoria.model';\r\nimport { ISubtipoAuditoriaMatrizPlanejamentoModel } from 'src/app/models/subtipo-auditoria-matriz-planejamento.model';\r\nimport { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\nimport { IQuestaoModel } from 'src/app/models/questao.model';\r\nimport { IProcedimentoTecnicaAuditoriaModel } from 'src/app/models/procedimento-tecnica-auditoria.model';\r\nimport { IMatrizPlanejamentoQuestaoModel } from 'src/app/models/matriz-planejamento-questao.model';\r\nimport { ProcedimentoAuditoriaService } from 'src/app/services/procedimento-auditoria.service';\r\nimport { TecnicaAuditoriaService } from 'src/app/services/tecnica-auditoria.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-procedimento-auditoria-form',\r\n templateUrl: './procedimento-auditoria-form.component.html',\r\n styleUrls: ['./procedimento-auditoria-form.component.scss']\r\n})\r\nexport class ProcedimentoAuditoriaFormComponent extends BaseFormComponent implements OnInit {\r\n public model: IProcedimentoAuditoriaModel = {} as IProcedimentoAuditoriaModel;\r\n public modelMatrizPlanejamento: IMatrizPlanejamentoModel = {} as IMatrizPlanejamentoModel;\r\n public modelProcedimentoTecnicaAuditoria: IProcedimentoTecnicaAuditoriaModel = {} as IProcedimentoTecnicaAuditoriaModel;\r\n public modelSubtipoAuditoria: ISubtipoAuditoriaModel = {} as ISubtipoAuditoriaModel;\r\n public tecnicaAuditoriaDataSource = new MatTableDataSource([]);\r\n public listaConstatacao = new MatTableDataSource([]);\r\n public listaProcedimentoAuditoria = new MatTableDataSource([]);\r\n public listaQuestao = new MatTableDataSource([]);\r\n public listaMatrizPlanejamento = new MatTableDataSource([]);\r\n public salvar: boolean;\r\n\r\n public rotaPrefixoSubtipoAuditoria = undefined;\r\n public rotaPrefixoMatrizPlanejamento = undefined;\r\n public semDados = true;\r\n public modelQuestao: IQuestaoModel = {} as IQuestaoModel;\r\n\r\n public isModal: boolean = false;\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n fonteInformacao: new FormControl('', Validators.required),\r\n detalhamentoProcedimento: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private procedimentoAuditoriaService: ProcedimentoAuditoriaService,\r\n private tecnicaAuditoriaService: TecnicaAuditoriaService,\r\n public matDialog: MatDialog,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public dados: any\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if(dados?.isModal) this.isModal = dados?.isModal;\r\n if(dados.model?.id) {\r\n this.id = dados?.data?.id;\r\n this.novoRegistro = !this.id ? true : false;\r\n }\r\n }\r\n\r\n\r\n config: AngularEditorConfig = {\r\n editable: !this.visualizar,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n async ngOnInit() {\r\n this.state();\r\n try {\r\n if (!this.novoRegistro && this.id) {\r\n const res = await this.procedimentoAuditoriaService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n this.tecnicaAuditoriaDataSource = new MatTableDataSource\r\n (\r\n this.model.procedimentoTecnicaAuditoria\r\n );\r\n this.tecnicaAuditoriaDataSource._updateChangeSubscription();\r\n this.semDados = this.tecnicaAuditoriaDataSource.filteredData.length === 0;\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n // this.router.navigate(['/procedimento-auditoria']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n // this.router.navigate(['/procedimento-auditoria']);\r\n }\r\n this.atribuirTitulo();\r\n }\r\n\r\n public async state() {\r\n // model questao\r\n this.modelQuestao = window.history.state.model;\r\n // model Subtipo Auditoria\r\n this.modelSubtipoAuditoria = window.history.state.modelSubtipoAuditoria;\r\n // model matriz planejamento\r\n this.modelMatrizPlanejamento = window.history.state.modelMatrizPlanejamento;\r\n // lista procedimento\r\n this.listaProcedimentoAuditoria = window.history.state.listaProcedimentoAuditoria;\r\n // lista questão\r\n this.listaQuestao = window.history.state.listaQuestao;\r\n // lista constatacao\r\n this.listaConstatacao = window.history.state.listaConstatacao;\r\n // lista Matriz Planejamento\r\n this.listaMatrizPlanejamento = window.history.state.listaMatrizPlanejamento;\r\n // rota\r\n if (window.history.state.rotaPrefixoSubtipoAuditoria) {\r\n this.rotaPrefixoSubtipoAuditoria = window.history.state.rotaPrefixoSubtipoAuditoria;\r\n }\r\n if (window.history.state.rotaPrefixoMatrizPlanejamento) {\r\n this.rotaPrefixoMatrizPlanejamento = window.history.state.rotaPrefixoMatrizPlanejamento;\r\n }\r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean = false) {\r\n this.salvar = true;\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n\r\n this.atualizarModel(this.form.value);\r\n this.model.procedimentoTecnicaAuditoria = this.tecnicaAuditoriaDataSource.data;\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.procedimentoAuditoriaService.atualizar(this.model);\r\n } else {\r\n res = await this.procedimentoAuditoriaService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro salvo com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (salvarEFechar){\r\n if (this.modelQuestao && !this.isModal) {\r\n this.router.navigate(['/questao/novo'], {\r\n state: {\r\n model: this.modelQuestao,\r\n modelMatrizPlanejamento: this.modelMatrizPlanejamento,\r\n modelSubtipoAuditoria: this.modelSubtipoAuditoria,\r\n listaProcedimentoAuditoria: this.listaProcedimentoAuditoria,\r\n listaConstatacao: this.listaConstatacao,\r\n listaQuestao: this.listaQuestao,\r\n listaMatrizPlanejamento: this.listaMatrizPlanejamento,\r\n rotaPrefixoSubtipoAuditoria: this.rotaPrefixoSubtipoAuditoria,\r\n rotaPrefixoMatrizPlanejamento: this.rotaPrefixoMatrizPlanejamento\r\n }\r\n });\r\n }else{\r\n if(!this.isModal) this.router.navigate(['/procedimento-auditoria']);\r\n this.dialogRef.close();\r\n }\r\n }else {\r\n if (this.novoRegistro) {\r\n this.router.navigate([`/procedimento-auditoria/${res.dados.id}`]);\r\n await this.ngOnInit(); \r\n }\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: validacoes,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public incluirTecnicaAuditoria() {\r\n if (this.tecnicaAuditoriaDataSource.data.findIndex(a => a.tecnicaAuditoriaId === this.modelProcedimentoTecnicaAuditoria.tecnicaAuditoriaId) >= 0) {\r\n this.exibirMensagemAlerta('Técnica de auditoria já cadastrado nesse procedimento');\r\n return;\r\n }\r\n\r\n this.tecnicaAuditoriaDataSource.data.push(cloneDeep(this.modelProcedimentoTecnicaAuditoria));\r\n this.tecnicaAuditoriaDataSource._updateChangeSubscription();\r\n this.modelProcedimentoTecnicaAuditoria = {} as IProcedimentoTecnicaAuditoriaModel;\r\n this.semDados = false;\r\n }\r\n\r\n public excluirTecnicaAuditoria(ind: number) {\r\n this.tecnicaAuditoriaDataSource.data.splice(ind, 1);\r\n this.tecnicaAuditoriaDataSource._updateChangeSubscription();\r\n this.semDados = this.tecnicaAuditoriaDataSource.filteredData.length === 0;\r\n }\r\n\r\n public async exibirModalTecnicaAuditoria() {\r\n try {\r\n const res = await this.tecnicaAuditoriaService.obter('', true);\r\n if (res.sucesso) {\r\n const dadosFiltrados = res.dados.filter(tecnicaAuditoria => tecnicaAuditoria.ativo);\r\n const modal = this.exibirModal('Selecionar Técnica de Auditoria', dadosFiltrados);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.modelProcedimentoTecnicaAuditoria.tecnicaAuditoriaId = data.id;\r\n this.modelProcedimentoTecnicaAuditoria.tecnicaAuditoria = data;\r\n }\r\n }\r\n );\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n if(this.isModal) {\r\n this.dialogRef.close();\r\n return;\r\n }\r\n if (this.modelQuestao) {\r\n this.router.navigate(['/questao/novo'], {\r\n state: {\r\n model: this.modelQuestao,\r\n modelMatrizPlanejamento: this.modelMatrizPlanejamento,\r\n modelSubtipoAuditoria: this.modelSubtipoAuditoria,\r\n listaProcedimentoAuditoria: this.listaProcedimentoAuditoria,\r\n listaConstatacao: this.listaConstatacao,\r\n listaQuestao: this.listaQuestao,\r\n listaMatrizPlanejamento: this.listaMatrizPlanejamento,\r\n rotaPrefixoSubtipoAuditoria: this.rotaPrefixoSubtipoAuditoria,\r\n rotaPrefixoMatrizPlanejamento: this.rotaPrefixoMatrizPlanejamento\r\n }\r\n });\r\n }else{\r\n this.router.navigate(['/procedimento-auditoria']);\r\n }\r\n }\r\n\r\n atribuirTitulo(){\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Procedimento';\r\n } else {\r\n this.titulo = 'Editar Procedimento - ' + this.model.nome;\r\n }\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Procedimento - ' + this.model.nome;\r\n }\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { IProcedimentoAuditoriaModel } from 'src/app/models/procedimento-auditoria.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { ProcedimentoAuditoriaService } from 'src/app/services/procedimento-auditoria.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-procedimento-auditoria-list',\r\n templateUrl: './procedimento-auditoria-list.component.html',\r\n styleUrls: ['./procedimento-auditoria-list.component.scss']\r\n})\r\nexport class ProcedimentoAuditoriaListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IProcedimentoAuditoriaModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private procedimentoAuditoriaService: ProcedimentoAuditoriaService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/procedimento-auditoria/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.procedimentoAuditoriaService\r\n .obter(this.searchNome, this.searchAtivo, false)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.procedimentoAuditoriaService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro reativado com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.procedimentoAuditoriaService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro inativado com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/procedimento-auditoria/${id}`]);\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/procedimento-auditoria/${id}/visualizar`]);\r\n }\r\n\r\n public excluir(id: number) {\r\n this.procedimentoAuditoriaService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro excluído com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Procedimentos
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Procedimentos\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Procedimento {{element.nome}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Sem dados a exibir
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Questão Auditoria\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Nome {{ element.constatacao.nome }}\r\n
\r\n \r\n \r\n
\r\n
\r\n
Nenhuma constatação cadastrada
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Nome {{ element.procedimentoAuditoria.nome }}\r\n
\r\n \r\n \r\n
\r\n
\r\n
Nenhum procedimento auditoria\r\n cadastrada
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n\r\n Ultrapassou o limite de 500 caracteres\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { ProcedimentoAuditoriaFormComponent } from \"src/app/pages/procedimento-auditoria-form/procedimento-auditoria-form.component\";\r\nimport { data } from \"jquery\";\r\nimport { AfterViewInit, Component, Inject, OnInit, ViewChild } from \"@angular/core\";\r\nimport { AbstractControl, FormControl, FormGroup, MaxLengthValidator, ValidatorFn, Validators } from \"@angular/forms\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogConfig,\r\n\tMatDialogRef,\r\n\tMAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport * as cloneDeep from \"lodash/cloneDeep\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { IBaseModel } from \"src/app/models/base.model\";\r\nimport { IQuestaoModel } from \"src/app/models/questao.model\";\r\nimport { IMatrizPlanejamentoModel } from \"src/app/models/matriz-planejamento.model\";\r\nimport { IQuestaoConstatacaoModel } from \"src/app/models/questao-constatacao.model\";\r\nimport { IQuestaoProcedimentoAuditoriaModel } from \"src/app/models/questao-procedimento-auditoria.model\";\r\nimport { IMatrizPlanejamentoQuestaoModel } from \"src/app/models/matriz-planejamento-questao.model\";\r\nimport { ISubtipoAuditoriaModel } from \"src/app/models/subtipo-auditoria.model\";\r\nimport { ISubtipoAuditoriaMatrizPlanejamentoModel } from \"src/app/models/subtipo-auditoria-matriz-planejamento.model\";\r\nimport { ProcedimentoAuditoriaService } from \"src/app/services/procedimento-auditoria.service\";\r\nimport { QuestaoService } from \"src/app/services/questao.service\";\r\nimport { ConstatacaoService } from \"src/app/services/constatacao.service\";\r\nimport { BaseFormComponent } from \"../../shared/components/base-form/base-form.component\";\r\nimport { AngularEditorConfig } from \"@kolkov/angular-editor\";\r\n\r\nimport { ModalConstatacaoComponent } from \"../constatacao-form/modal-constatacao/modal-constatacao.component\";\r\nimport { ModalProcedimentoAuditoriaComponent } from \"../procedimento-auditoria-form/modal-procedimento-auditoria/modal-procedimento-auditoria.component\";\r\nimport Swal from \"sweetalert2\";\r\nimport { ConstatacaoFormComponent } from \"../constatacao-form/constatacao-form.component\";\r\nimport { angularEditorConfig } from \"src/app/shared/util/angularEditorConfig\";\r\n\r\n@Component({\r\n\tselector: \"app-questao-form\",\r\n\ttemplateUrl: \"./questao-form.component.html\",\r\n\tstyleUrls: [\"./questao-form.component.scss\"],\r\n})\r\nexport class QuestaoFormComponent extends BaseFormComponent implements OnInit, AfterViewInit {\r\n\r\n\t@ViewChild(\"maxLengthEditor\") private angularEditor: any;\r\n\t@ViewChild(\"maxLengthEditorLegislacao\") private angularEditorLegislacao: any;\r\n\r\n\tpublic model: IQuestaoModel = {} as IQuestaoModel;\r\n\tpublic manterMatrizPlanejamento: IQuestaoModel = {} as IQuestaoModel;\r\n\tpublic modelQuestaoConstatacao: IQuestaoConstatacaoModel =\r\n\t\t{} as IQuestaoConstatacaoModel;\r\n\tpublic modelMatrizPlanejamento: IMatrizPlanejamentoModel =\r\n\t\t{} as IMatrizPlanejamentoModel;\r\n\tpublic constatacaoDataSource =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic listaQuestao =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic listaMatrizPlanejamento: ISubtipoAuditoriaMatrizPlanejamentoModel =\r\n\t\t{} as ISubtipoAuditoriaMatrizPlanejamentoModel;\r\n\r\n\tpublic modelSubtipoAuditoria: ISubtipoAuditoriaModel =\r\n\t\t{} as ISubtipoAuditoriaModel;\r\n\tpublic modelQuestaoProcedimentoAuditoria: IQuestaoProcedimentoAuditoriaModel =\r\n\t\t{} as IQuestaoProcedimentoAuditoriaModel;\r\n\tpublic procedimentoAuditoriaDataSource =\r\n\t\tnew MatTableDataSource([]);\r\n\r\n\tpublic rotaPrefixoSubtipoAuditoria = undefined;\r\n\tpublic rotaPrefixoMatrizPlanejamento = undefined;\r\n\tpublic semDadosConstatacao = true;\r\n\tpublic semDadosProcedimentoAuditoria = true;\r\n\tpublic salvar: boolean;\r\n\tpublic questaoId: number = null;\r\n\tpublic tipoTrabalho: string;\r\n\tpublic tipoTrabalhoId: number;\r\n public subTipoAuditoriaId: number;\r\n\tpublic texto: string;\r\n\r\n\tpublic form = new FormGroup({\r\n\t\tnome: new FormControl(\"\", Validators.required),\r\n\t\tclassificacao: new FormControl(\"\", Validators.required),\r\n\t\tdescricao: new FormControl(\"\", [Validators.required, this.editorMaxLength(500)]),\r\n\t\tlegislacaoAplicavelCriterio: new FormControl(\"\", Validators.required),\r\n\t});\r\n\r\n\tpublic isModal: boolean = false;\r\n\r\n\tpublic config: AngularEditorConfig = angularEditorConfig(\r\n\t\t\"Digite aqui...\",\r\n\t\t\"150px\",\r\n\t\t\"100%\",\r\n\t\ttrue\r\n\t);\r\n\r\n\teditorMaxLength(maxlength): ValidatorFn {\r\n\t\treturn (control: AbstractControl): { [key: string]: any } => {\r\n\t\t\tvar regex = /(<([^>]+)>)/ig;\r\n\t\t\tvar value = control.value;\r\n\t\t\tvar result = value.replace(regex, \"\");\r\n\t\t\tif (result.length > maxlength) {\r\n\t\t\t\treturn { 'maxlengthError': true };\r\n\t\t\t} else {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tpublic route: ActivatedRoute,\r\n\t\tpublic toastr: ToastrService,\r\n\t\tpublic router: Router,\r\n\t\tpublic localeService: BsLocaleService,\r\n\t\tpublic questaoService: QuestaoService,\r\n\t\tpublic constatacaoService: ConstatacaoService,\r\n\t\tpublic procedimentoAuditoriaService: ProcedimentoAuditoriaService,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tpublic dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public dados: any\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\r\n\t\tif (!(Object.keys(dados).length === 0)) {\r\n\t\t\t!(dados?.data === undefined)\r\n\t\t\t\t? (this.novoRegistro = false)\r\n\t\t\t\t: (this.novoRegistro = true);\r\n\t\t\tthis.isModal = true;\r\n\t\t\tthis.manterMatrizPlanejamento = dados?.data;\r\n\t\t\tthis.id = dados?.data?.id;\r\n\t\t\tthis.tipoTrabalho = dados?.tipoTrabalho?.nome;\r\n\t\t\tthis.tipoTrabalhoId = dados?.tipoTrabalhoId;\r\n this.subTipoAuditoriaId = dados?.subTipoAuditoriaId;\r\n\t\t\tthis.novoRegistro = this.id == undefined;\r\n\t\t\tthis.visualizar = dados?.visualizar;\r\n\t\t\tthis.config.enableToolbar = !dados?.visualizar;\r\n\t\t\tthis.config.editable = !dados?.visualizar;\r\n\t\t\tthis.config.showToolbar = !dados?.visualizar;\r\n\t\t}\r\n\r\n\t\tif (this.novoRegistro) {\r\n\t\t\tthis.titulo = \"Nova Questão Auditoria\";\r\n\t\t\tthis.texto =\r\n\t\t\t\t\"Esta questão de auditoria deve ser incluída na base de conhecimento?\";\r\n\t\t} else if (this.visualizar) {\r\n\t\t\tthis.titulo = \"Visualização Questão Auditoria\";\r\n\t\t} else {\r\n\t\t\tthis.titulo = \"Editar Questão Auditoria\";\r\n\t\t\tthis.texto =\r\n\t\t\t\t\"Estas alterações na questão de auditoria devem ser realizadas na base de conhecimento?\";\r\n\t\t}\r\n\t}\r\n\r\n\tasync ngOnInit() {\r\n\t\tthis.state();\r\n\t\ttry {\r\n\t\t\tif (window.history.state.model) {\r\n\t\t\t\tthis.model = window.history.state.model;\r\n\t\t\t}\r\n\t\t\tif (window.history.state.constatacaoDataSource) {\r\n\t\t\t\tthis.constatacaoDataSource =\r\n\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\twindow.history.state.constatacaoDataSource\r\n\t\t\t\t\t);\r\n\t\t\t\tthis.constatacaoDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.semDadosConstatacao =\r\n\t\t\t\t\tthis.constatacaoDataSource.filteredData.length === 0;\r\n\t\t\t}\r\n\r\n\t\t\tif (window.history.state.procedimentoAuditoriaDataSource) {\r\n\t\t\t\tthis.procedimentoAuditoriaDataSource =\r\n\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\twindow.history.state.procedimentoAuditoriaDataSource\r\n\t\t\t\t\t);\r\n\t\t\t\tthis.procedimentoAuditoriaDataSource._updateChangeSubscription();\r\n\t\t\t\tthis.semDadosProcedimentoAuditoria =\r\n\t\t\t\t\tthis.procedimentoAuditoriaDataSource.filteredData.length ===\r\n\t\t\t\t\t0;\r\n\t\t\t}\r\n\r\n\t\t\tif (!this.novoRegistro && !window.history.state.model) {\r\n\t\t\t\tawait this.obter();\r\n\t\t\t}\r\n\r\n\t\t\tthis.form.patchValue(this.model);\r\n\t\t} catch (err) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"error\",\r\n\t\t\t\ttext: err?.mensagem?.descricao ?? err,\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tthis.angularEditor?.textArea?.nativeElement.addEventListener(\r\n\t\t\t\"keydown\",\r\n\t\t\tthis.maxLengthAngularEditor,\r\n\t\t\tfalse\r\n\t\t);\r\n\r\n\t\tthis.angularEditorLegislacao?.textArea?.nativeElement.addEventListener(\r\n\t\t\t\"keydown\",\r\n\t\t\tthis.maxLengthAngularEditor,\r\n\t\t\tfalse\r\n\t\t);\r\n\t}\r\n\r\n\tpublic maxLengthAngularEditor(e: any) {\r\n\t\tvar element = e.target as HTMLTextAreaElement;\r\n\t\tlet permitirTeclas =\r\n\t\t\te.key !== \"Backspace\" &&\r\n\t\t\te.key !== \"ArrowLeft\" &&\r\n\t\t\te.key !== \"ArrowRight\";\r\n\t\tif (element.innerHTML.length === 500 && permitirTeclas) {\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic verificarTamanho(e: any) {\r\n\t\tvar regex = /(<([^>]+)>)/ig;\r\n\t\tvar result = e.replace(regex, \"\");\r\n\t\treturn result.length > 500;\r\n\t}\r\n\r\n\tpublic async obter() {\r\n\t\tconst res = await this.questaoService.obterPorId(\r\n\t\t\tthis.id,\r\n\t\t\tthis.tipoTrabalho\r\n\t\t);\r\n\t\tif (res?.sucesso) {\r\n\t\t\tthis.model = res.dados;\r\n\r\n\t\t\tthis.titulo += \" - \" + this.model.nome;\r\n\r\n\t\t\t// constatação\r\n\t\t\tthis.constatacaoDataSource =\r\n\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\tthis.model.questaoConstatacao as IQuestaoConstatacaoModel[]\r\n\t\t\t\t);\r\n\t\t\tthis.constatacaoDataSource._updateChangeSubscription();\r\n\t\t\tthis.semDadosConstatacao =\r\n\t\t\t\tthis.constatacaoDataSource.filteredData.length === 0;\r\n\t\t\t// procedimento\r\n\t\t\tthis.procedimentoAuditoriaDataSource =\r\n\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\tthis.model\r\n\t\t\t\t\t\t.questaoProcedimentoAuditoria as IQuestaoProcedimentoAuditoriaModel[]\r\n\t\t\t\t);\r\n\t\t\tthis.procedimentoAuditoriaDataSource._updateChangeSubscription();\r\n\t\t\tthis.semDadosProcedimentoAuditoria =\r\n\t\t\t\tthis.procedimentoAuditoriaDataSource.filteredData.length === 0;\r\n\t\t} else {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"error\",\r\n\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\t\tthis.router.navigate([\"/questao\"]);\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async state() {\r\n\t\t// model questao\r\n\t\tif (window.history.state.model) {\r\n\t\t\tthis.model = window.history.state.model;\r\n\t\t}\r\n\r\n\t\t// model questao\r\n\t\tif (window.history.state.modelSubtipoAuditoria) {\r\n\t\t\tthis.modelSubtipoAuditoria =\r\n\t\t\t\twindow.history.state.modelSubtipoAuditoria;\r\n\t\t}\r\n\r\n\t\t// matriz planejamento\r\n\t\tif (window.history.state.modelMatrizPlanejamento) {\r\n\t\t\tthis.modelMatrizPlanejamento =\r\n\t\t\t\twindow.history.state.modelMatrizPlanejamento;\r\n\t\t}\r\n\r\n\t\t// constatação\r\n\t\tif (window.history.state.listaConstatacao) {\r\n\t\t\tthis.constatacaoDataSource =\r\n\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\twindow.history.state.listaConstatacao\r\n\t\t\t\t);\r\n\t\t\tthis.constatacaoDataSource._updateChangeSubscription();\r\n\t\t\tthis.semDadosConstatacao =\r\n\t\t\t\tthis.constatacaoDataSource.data.length === 0;\r\n\t\t}\r\n\r\n\t\t// procedimento auditoria\r\n\t\tif (window.history.state.listaProcedimentoAuditoria) {\r\n\t\t\tthis.procedimentoAuditoriaDataSource =\r\n\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\twindow.history.state.listaProcedimentoAuditoria\r\n\t\t\t\t);\r\n\t\t\tthis.procedimentoAuditoriaDataSource._updateChangeSubscription();\r\n\t\t\tthis.semDadosProcedimentoAuditoria =\r\n\t\t\t\tthis.procedimentoAuditoriaDataSource.filteredData.length === 0;\r\n\t\t}\r\n\r\n\t\t// lista questao\r\n\t\tif (window.history.state.listaQuestao) {\r\n\t\t\tthis.listaQuestao = window.history.state.listaQuestao;\r\n\t\t}\r\n\r\n\t\t// lista questao\r\n\t\tif (window.history.state.listaMatrizPlanejamento) {\r\n\t\t\tthis.listaMatrizPlanejamento =\r\n\t\t\t\twindow.history.state.listaMatrizPlanejamento;\r\n\t\t}\r\n\r\n\t\t// rota\r\n\t\tif (window.history.state.rotaPrefixoSubtipoAuditoria) {\r\n\t\t\tthis.rotaPrefixoSubtipoAuditoria =\r\n\t\t\t\twindow.history.state.rotaPrefixoSubtipoAuditoria;\r\n\t\t}\r\n\r\n\t\tif (window.history.state.rotaPrefixoMatrizPlanejamento) {\r\n\t\t\tthis.rotaPrefixoMatrizPlanejamento =\r\n\t\t\t\twindow.history.state.rotaPrefixoMatrizPlanejamento;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async onSubmit(salvarEFechar: boolean = false) {\r\n\t\tthis.salvar = true;\r\n\t\t//solicitado pra remover limite dos campos\r\n\t\t/*if (this.verificarTamanho(this.form.controls['descricao'].value) == true){\r\n\t\t Swal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\ttext: \"O campo Descrição não pode ter mais que 500 caracteres\",\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t return\r\n\t\t}\r\n\t\tif (this.verificarTamanho(this.form.controls['legislacaoAplicavelCriterio'].value) == true){\r\n\t\t Swal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\ttext: \"O campo Legislação Aplicável/Critério não pode ter mais que 500 caracteres\",\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t return\r\n\t\t}*/\r\n\r\n\t\tif (this.form.invalid) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"warning\",\r\n\t\t\t\ttext: \"Formulário inválido\",\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.atualizarModel(this.form.value);\r\n\t\tthis.model.questaoConstatacao = this.constatacaoDataSource.data;\r\n\t\tthis.model.questaoProcedimentoAuditoria = this.procedimentoAuditoriaDataSource.data;\r\n\t\r\n\t\ttry {\r\n\t\t\tlet res: IBaseModel = null;\r\n\t\r\n\t\t\tthis.model.questaoConstatacao = this.model.questaoConstatacao.map(a => a?.constatacao?.id);\r\n\t\t\tthis.model.questaoProcedimentoAuditoria = this.model.questaoProcedimentoAuditoria.map(a => a?.procedimentoAuditoria?.id);\r\n\t\r\n\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\t// salva questão tipo de trabalho\r\n\t\t\t\tif (this.model.questaoId) {\r\n\t\t\t\t\tres = await this.questaoService.atualizar(this.model, this.tipoTrabalho, this.tipoTrabalhoId);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// salva só a questão\r\n\t\t\t\t\tres = await this.questaoService.atualizar(this.model, null, 0);\r\n\t\t\t\t}\r\n\t\t\t\tthis.executarVinculos(res, this.model.avaliar);\r\n\t\r\n\t\t\t} else if (this.isModal) {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttitle: `${this.titulo}`,\r\n\t\t\t\t\ttext: `${this.texto}`,\r\n\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\tshowCancelButton: true,\r\n\t\t\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\t\t\tcancelButtonText: \"Não\",\r\n\t\t\t\t}).then(async (ret) => {\r\n\t\t\t\t\tif (ret.value) {\r\n\t\t\t\t\t\tthis.model.avaliar = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tres = await this.questaoService.inserir(this.model, this.tipoTrabalho, this.tipoTrabalhoId, this.subTipoAuditoriaId);\r\n\t\t\t\t\tthis.executarVinculos(res, ret.value);\r\n\t\t\t\t\tthis.handleSuccess(res, salvarEFechar);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.model.avaliar = false;\r\n\t\t\t\tres = await this.questaoService.inserir(this.model, this.tipoTrabalho, this.tipoTrabalhoId, this.subTipoAuditoriaId);\r\n\t\t\t\tthis.handleSuccess(res, salvarEFechar);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"error\",\r\n\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\t\r\n\tprivate handleSuccess(res: IBaseModel, salvarEFechar: boolean) {\r\n\t\tif (res.sucesso) {\r\n\t\t\tthis.vincularConstatacoes(res.dados.id, this.model.avaliar);\r\n\t\t\tthis.vincularProcedimentos(res.dados.id, this.model.avaliar);\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"success\",\r\n\t\t\t\ttext: \"Registro salvo com sucesso!\",\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\r\n\t\t\tif (salvarEFechar) {\r\n\t\t\t\tthis.router.navigate(['/questao']);\r\n\t\t\t} else\r\n\t\t\tif(this.novoRegistro){\r\n\t\t\t this.router.navigate([`/questao/${res.dados.id}`]);\r\n\t\t\t this.ngOnInit();\r\n\t\t\t} else {\r\n\t\t\t\t// Permanecer na mesma tela, talvez atualizar o estado ou indicar que o registro foi salvo\r\n\t\t\t\tif (!this.isModal) {\r\n\t\t\t\t\t// Permanecer na mesma página\r\n\t\t\t\t\tthis.router.navigate([this.router.url]); // Esta linha força a página a recarregar.\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Fechar o modal\r\n\t\t\t\t\tthis.dialogRef.close({ data: res.dados });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.handleError(res);\r\n\t\t}\r\n\t}\r\n\t\r\n\tprivate handleError(res: IBaseModel) {\r\n\t\tconst validacoes = this.montarMensagensValidacao(res);\r\n\t\tSwal.fire({\r\n\t\t\ttoast: true,\r\n\t\t\tposition: \"top-end\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\ttext: validacoes,\r\n\t\t\tshowConfirmButton: false,\r\n\t\t\ttimer: 5000,\r\n\t\t\ttimerProgressBar: true,\r\n\t\t});\r\n\t}\r\n\r\n\tpublic executarVinculos(res, avaliar) {\r\n\t\tif (res.sucesso) {\r\n\t\t\tthis.model = res.dados;\r\n\t\t\tthis.vincularConstatacoes(res.dados.id, avaliar);\r\n\t\t\tthis.vincularProcedimentos(res.dados.id, avaliar);\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"success\",\r\n\t\t\t\ttext: \"Registro salvo com sucesso!\",\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\r\n\t\t\tif (this.rotaPrefixoMatrizPlanejamento) {\r\n\t\t\t\tthis.router.navigate(\r\n\t\t\t\t\t[this.rotaPrefixoMatrizPlanejamento],\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstate: {\r\n\t\t\t\t\t\t\tmodelMatrizPlanejamento:\r\n\t\t\t\t\t\t\t\tthis.modelMatrizPlanejamento,\r\n\t\t\t\t\t\t\tmodelSubtipoAuditoria:\r\n\t\t\t\t\t\t\t\tthis.modelSubtipoAuditoria,\r\n\t\t\t\t\t\t\tlistaQuestao: this.listaQuestao,\r\n\t\t\t\t\t\t\tlistaMatrizPlanejamento:\r\n\t\t\t\t\t\t\t\tthis.listaMatrizPlanejamento,\r\n\t\t\t\t\t\t\trotaPrefixoSubtipoAuditoria:\r\n\t\t\t\t\t\t\t\tthis\r\n\t\t\t\t\t\t\t\t\t.rotaPrefixoSubtipoAuditoria,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\tif (!this.isModal)\r\n\t\t\t\t\tthis.router.navigate([\"/questao\"]);\r\n\t\t\t\tif (this.isModal) {\r\n\t\t\t\t\tthis.dialogRef.close({ data: res.dados });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tconst validacoes =\r\n\t\t\t\tthis.montarMensagensValidacao(res);\r\n\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"warning\",\r\n\t\t\t\ttext: validacoes,\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async vincularConstatacoes(questaoId: number, isAvaliar: boolean) {\r\n\t\tawait this.questaoService.vincularQuestaoConstatacao(\r\n\t\t\tthis.id ?? questaoId,\r\n\t\t\t{\r\n\t\t\t\tconstatacoes: this.constatacaoDataSource.data.map(\r\n\t\t\t\t\t(item) => item.constatacaoId\r\n\t\t\t\t),\r\n\t\t\t},\r\n\t\t\tthis.tipoTrabalho\r\n\t\t);\r\n\t\tif (isAvaliar) {\r\n\t\t\tawait this.questaoService.vincularQuestaoConstatacao(\r\n\t\t\t\tthis.model.questaoId,\r\n\t\t\t\t{\r\n\t\t\t\t\tconstatacoes: this.constatacaoDataSource.data.map(\r\n\t\t\t\t\t\t(item) => item.constatacaoId\r\n\t\t\t\t\t),\r\n\t\t\t\t},\r\n\t\t\t\tnull\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async vincularProcedimentos(questaoId: number, isAvaliar: boolean) {\r\n\t\tawait this.questaoService.vincularQuestaoProcedimento(\r\n\t\t\tthis.id ?? questaoId,\r\n\t\t\t{\r\n\t\t\t\tprocedimentos: this.procedimentoAuditoriaDataSource.data.map(\r\n\t\t\t\t\t(item) => item.procedimentoAuditoriaId\r\n\t\t\t\t),\r\n\t\t\t},\r\n\t\t\tthis.tipoTrabalho\r\n\t\t);\r\n\t\tif (isAvaliar) {\r\n\t\t\tawait this.questaoService.vincularQuestaoProcedimento(\r\n\t\t\t\tthis.model.questaoId,\r\n\t\t\t\t{\r\n\t\t\t\t\tprocedimentos: this.procedimentoAuditoriaDataSource.data.map(\r\n\t\t\t\t\t\t(item) => item.procedimentoAuditoriaId\r\n\t\t\t\t\t),\r\n\t\t\t\t},\r\n\t\t\t\tnull\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tpublic incluirConstatacao() {\r\n\t\tif (\r\n\t\t\tthis.constatacaoDataSource.data.findIndex(\r\n\t\t\t\t(a) =>\r\n\t\t\t\t\ta.constatacaoId ===\r\n\t\t\t\t\tthis.modelQuestaoConstatacao.constatacaoId\r\n\t\t\t) >= 0\r\n\t\t) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"warning\",\r\n\t\t\t\ttext: \"Constatação já cadastrada nessa questão\",\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.constatacaoDataSource.data.push(\r\n\t\t\tcloneDeep(this.modelQuestaoConstatacao)\r\n\t\t);\r\n\t\tthis.constatacaoDataSource._updateChangeSubscription();\r\n\t\tthis.modelQuestaoConstatacao = {} as IQuestaoConstatacaoModel;\r\n\t\tthis.semDadosConstatacao = false;\r\n\t}\r\n\r\n\tpublic excluirConstatacao(\r\n\t\telement: IQuestaoConstatacaoModel,\r\n\t\tindex: number\r\n\t) {\r\n\t\tif (element.constatacaoId) {\r\n\t\t\tthis.questaoService\r\n\t\t\t\t.desVincularQuestaoConstatacao(\r\n\t\t\t\t\tthis.id,\r\n\t\t\t\t\telement.constatacaoId,\r\n\t\t\t\t\tthis.tipoTrabalho\r\n\t\t\t\t)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tres.sucesso\r\n\t\t\t\t\t\t? this.exibirMensagemSucesso(res.mensagem.descricao)\r\n\t\t\t\t\t\t: this.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => this.ngOnInit());\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.constatacaoDataSource.data.splice(index, 1);\r\n\t\tthis.constatacaoDataSource._updateChangeSubscription();\r\n\t\tthis.semDadosConstatacao =\r\n\t\t\tthis.constatacaoDataSource.filteredData.length === 0;\r\n\t}\r\n\r\n\tpublic async exibirModalConstatacao() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.constatacaoService.obter(\"\", true);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tconst dadosFiltrados = res.dados.filter(\r\n\t\t\t\t\t(constatacao) => constatacao.ativo\r\n\t\t\t\t);\r\n\t\t\t\tconst modal = this.exibirModal(\r\n\t\t\t\t\t\"Selecionar Constatação\",\r\n\t\t\t\t\tdadosFiltrados\r\n\t\t\t\t);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.modelQuestaoConstatacao.constatacaoId = data.id;\r\n\t\t\t\t\t\tthis.modelQuestaoConstatacao.constatacao = data;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"error\",\r\n\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic incluirProcedimentoAuditoria() {\r\n\t\tif (\r\n\t\t\tthis.procedimentoAuditoriaDataSource.data.findIndex(\r\n\t\t\t\t(a) =>\r\n\t\t\t\t\ta.procedimentoAuditoriaId ===\r\n\t\t\t\t\tthis.modelQuestaoProcedimentoAuditoria\r\n\t\t\t\t\t\t.procedimentoAuditoriaId\r\n\t\t\t) >= 0\r\n\t\t) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"warning\",\r\n\t\t\t\ttext: \"Procedimento Auditoria já cadastrada nessa questão\",\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.procedimentoAuditoriaDataSource.data.push(\r\n\t\t\tcloneDeep(this.modelQuestaoProcedimentoAuditoria)\r\n\t\t);\r\n\t\tthis.procedimentoAuditoriaDataSource._updateChangeSubscription();\r\n\t\tthis.modelQuestaoProcedimentoAuditoria =\r\n\t\t\t{} as IQuestaoProcedimentoAuditoriaModel;\r\n\t\tthis.semDadosProcedimentoAuditoria = false;\r\n\t}\r\n\r\n\tpublic excluirProcedimentoAuditoria(\r\n\t\telement: IQuestaoProcedimentoAuditoriaModel,\r\n\t\tindex: number\r\n\t) {\r\n\t\tif (element.procedimentoAuditoriaId) {\r\n\t\t\tthis.questaoService\r\n\t\t\t\t.desVincularQuestaoProcedimento(\r\n\t\t\t\t\tthis.id,\r\n\t\t\t\t\telement.procedimentoAuditoriaId,\r\n\t\t\t\t\tthis.tipoTrabalho\r\n\t\t\t\t)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tres.sucesso\r\n\t\t\t\t\t\t? this.exibirMensagemSucesso(res.mensagem.descricao)\r\n\t\t\t\t\t\t: this.exibirMensagemErro(res.mensagem.descricao);\r\n\t\t\t\t})\r\n\t\t\t\t.finally(() => this.ngOnInit());\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.procedimentoAuditoriaDataSource.data.splice(index, 1);\r\n\t\tthis.procedimentoAuditoriaDataSource._updateChangeSubscription();\r\n\t\tthis.semDadosProcedimentoAuditoria =\r\n\t\t\tthis.procedimentoAuditoriaDataSource.filteredData.length === 0;\r\n\t}\r\n\r\n\tpublic async exibirModalProcedimentoAuditoria() {\r\n\t\ttry {\r\n\t\t\tconst res = await this.procedimentoAuditoriaService.obter(\"\", true);\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tconst dadosFiltrados = res.dados.filter(\r\n\t\t\t\t\t(procedimentoAuditoria) => procedimentoAuditoria.ativo\r\n\t\t\t\t);\r\n\t\t\t\tconst modal = this.exibirModal(\r\n\t\t\t\t\t\"Selecionar Procedimento Auditoria\",\r\n\t\t\t\t\tdadosFiltrados\r\n\t\t\t\t);\r\n\t\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\tthis.modelQuestaoProcedimentoAuditoria.procedimentoAuditoriaId =\r\n\t\t\t\t\t\t\tdata.id;\r\n\t\t\t\t\t\tthis.modelQuestaoProcedimentoAuditoria.procedimentoAuditoria =\r\n\t\t\t\t\t\t\tdata;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"error\",\r\n\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async modalVisualizarConstatacao(ind: number) {\r\n\t\ttry {\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = \"modal-component\";\r\n\t\t\tdialogConfig.width = \"60%\";\r\n\t\t\tdialogConfig.height = \"70%\";\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = true;\r\n\t\t\tdialogConfig.data = ind;\r\n\t\t\tthis.matDialog.open(ModalConstatacaoComponent, dialogConfig);\r\n\t\t} catch (err) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"error\",\r\n\t\t\t\ttext: err,\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async modalVisualizarProcedimentoAuditoria(ind: number) {\r\n\t\ttry {\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = \"modal-component\";\r\n\t\t\tdialogConfig.width = \"60%\";\r\n\t\t\tdialogConfig.height = \"70%\";\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = true;\r\n\t\t\tdialogConfig.data = ind;\r\n\t\t\tthis.matDialog.open(\r\n\t\t\t\tModalProcedimentoAuditoriaComponent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t);\r\n\t\t} catch (err) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"error\",\r\n\t\t\t\ttext: err,\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async cadastroRapidoConstatacao() {\r\n\t\tthis.salvar = true;\r\n\t\tconst dados = {\r\n\t\t\tmodel: this.model ? this.model : this.form.value,\r\n\t\t\tmodelMatrizPlanejamento: this.modelMatrizPlanejamento,\r\n\t\t\tmodelSubtipoAuditoria: this.modelSubtipoAuditoria,\r\n\t\t\tlistaProcedimentoAuditoria:\r\n\t\t\t\tthis.procedimentoAuditoriaDataSource.data,\r\n\t\t\tlistaConstatacao: this.constatacaoDataSource.data,\r\n\t\t\tlistaQuestao: this.listaQuestao.data,\r\n\t\t\tlistaMatrizPlanejamento: this.listaMatrizPlanejamento,\r\n\t\t\trotaPrefixoSubtipoAuditoria: this.rotaPrefixoSubtipoAuditoria,\r\n\t\t\trotaPrefixoMatrizPlanejamento: this.rotaPrefixoMatrizPlanejamento,\r\n\t\t};\r\n\r\n\t\tif (this.isModal) {\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = \"modal-constatação\";\r\n\t\t\tdialogConfig.width = \"60%\";\r\n\t\t\tdialogConfig.height = \"80%\";\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = false;\r\n\t\t\tdialogConfig.data = {\r\n\t\t\t\tisModal: this.isModal,\r\n\t\t\t\ttitulo: `Adicionar questão`,\r\n\t\t\t\tstate: dados,\r\n\t\t\t\tmodel: this.manterMatrizPlanejamento,\r\n\t\t\t};\r\n\r\n\t\t\tconst modal = this.matDialog.open(\r\n\t\t\t\tConstatacaoFormComponent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t);\r\n\r\n\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\tif (data) {\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.router.navigate([`/constatacao/novo`], {\r\n\t\t\t\tstate: dados,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async cadastroRapidoProcedimentoAuditoria() {\r\n\t\tthis.salvar = true;\r\n\t\tconst dados = {\r\n\t\t\tmodel: this.form.value,\r\n\t\t\tmodelMatrizPlanejamento: this.modelMatrizPlanejamento,\r\n\t\t\tmodelSubtipoAuditoria: this.modelSubtipoAuditoria,\r\n\t\t\tlistaProcedimentoAuditoria:\r\n\t\t\t\tthis.procedimentoAuditoriaDataSource.data,\r\n\t\t\tlistaConstatacao: this.constatacaoDataSource.data,\r\n\t\t\tlistaQuestao: this.listaQuestao.data,\r\n\t\t\tlistaMatrizPlanejamento: this.listaMatrizPlanejamento,\r\n\t\t\trotaPrefixoSubtipoAuditoria: this.rotaPrefixoSubtipoAuditoria,\r\n\t\t\trotaPrefixoMatrizPlanejamento: this.rotaPrefixoMatrizPlanejamento,\r\n\t\t};\r\n\r\n\t\tif (this.isModal) {\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = \"modal-cadastroRapidoProcedimentoAuditoria\";\r\n\t\t\tdialogConfig.width = \"60%\";\r\n\t\t\tdialogConfig.height = \"80%\";\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = false;\r\n\t\t\tdialogConfig.data = {\r\n\t\t\t\tisModal: this.isModal,\r\n\t\t\t\ttitulo: `Editar questão`,\r\n\t\t\t\tstate: dados,\r\n\t\t\t\tmodel: this.manterMatrizPlanejamento,\r\n\t\t\t};\r\n\r\n\t\t\tconst modal = this.matDialog.open(\r\n\t\t\t\tProcedimentoAuditoriaFormComponent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t);\r\n\r\n\t\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\t\tif (data) {\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.router.navigate([`/procedimento-auditoria/novo`], {\r\n\t\t\t\tstate: dados,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate atualizarModel(values: any) {\r\n\t\tObject.assign(this.model, values);\r\n\t}\r\n\r\n\tpublic aprovarQuestao(questaoId: number) {\r\n\t\tthis.questaoService\r\n\t\t\t.aprovar(questaoId)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tres.sucesso\r\n\t\t\t\t\t? this.exibirMensagemSucesso(\"Questão de auditoria salva com sucesso!\")\r\n\t\t\t\t\t: this.exibirMensagemErro(\"Erro ao avaliar questão!\");\r\n\t\t\t})\r\n\t\t\t.then(() => this.obter())\r\n\t\t\t.catch((err) =>\r\n\t\t\t\tthis.exibirMensagemErro(\"Erro ao avaliar questão!\")\r\n\t\t\t);\r\n\t}\r\n\r\n\tpublic reprovarQuestao(questaoId: number) {\r\n\t\tthis.questaoService\r\n\t\t\t.reprovar(questaoId)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tres.sucesso\r\n\t\t\t\t\t? this.exibirMensagemSucesso(\"Questão de auditoria reprovada com sucesso!\")\r\n\t\t\t\t\t: this.exibirMensagemErro(\" A questão foi reprovada!\");\r\n\t\t\t})\r\n\t\t\t.then(() => this.onBack())\r\n\t\t\t.catch((err) =>\r\n\t\t\t\tthis.exibirMensagemErro(\" Erro ao reprovar questão!\")\r\n\t\t\t);\r\n\t}\r\n\r\n\tpublic onBack() {\r\n\t\tif (this.isModal) {\r\n\t\t\tthis.dialogRef.close();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (window.history.state.rotaPrefixoMatrizPlanejamento) {\r\n\t\t\tthis.router.navigate(\r\n\t\t\t\t[window.history.state.rotaPrefixoMatrizPlanejamento],\r\n\t\t\t\t{\r\n\t\t\t\t\tstate: {\r\n\t\t\t\t\t\tmodelMatrizPlanejamento: this.modelMatrizPlanejamento,\r\n\t\t\t\t\t\tmodelSubtipoAuditoria: this.modelSubtipoAuditoria,\r\n\t\t\t\t\t\tlistaQuestao: this.listaQuestao,\r\n\t\t\t\t\t\tlistaMatrizPlanejamento: this.listaMatrizPlanejamento,\r\n\t\t\t\t\t\trotaPrefixoSubtipoAuditoria:\r\n\t\t\t\t\t\t\tthis.rotaPrefixoSubtipoAuditoria,\r\n\t\t\t\t\t},\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.router.navigate([\"/questao\"]);\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { IQuestaoModel } from 'src/app/models/questao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { QuestaoService } from 'src/app/services/questao.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'ativo':\r\n if (item.ativo && item.status.codigo === 1) {\r\n return 'Ativo';\r\n } else if (item.ativo && item.status.codigo === 2) {\r\n return 'Inclusão Sugerida';\r\n } else if (!item.ativo) {\r\n return 'Inativo';\r\n } else {\r\n return '4_desconhecido';\r\n }\r\n case 'nome': return item.nome.trim().toLowerCase(); \r\n default:\r\n return item[property];\r\n }\r\n};\r\n\r\n\r\n@Component({\r\n selector: 'app-questao-list',\r\n templateUrl: './questao-list.component.html',\r\n styleUrls: ['./questao-list.component.scss']\r\n})\r\nexport class QuestaoListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IQuestaoModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'classificacao', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private questaoService: QuestaoService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n \r\n\r\n ngOnInit(): void {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n \r\n public novo() {\r\n this.router.navigate(['/questao/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.questaoService\r\n .obter(this.searchNome, this.searchAtivo, false)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.questaoService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro reativado com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.questaoService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro inativado com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/questao/${id}`]);\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/questao/${id}/visualizar`]);\r\n }\r\n\r\n public excluir(id: number) {\r\n this.questaoService\r\n .excluir(id, null)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro excluído com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Questão Auditoria
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Questão Auditoria\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Questão {{element.nome}} Classificação {{element.classificacao}} Situação \r\n Ativo\r\n Inclusão Sugerida\r\n Inativo\r\n
\r\n
Sem dados a exibir
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IResponsavelUnidadeGestoraModel } from 'src/app/models/responsavel-unidade-gestora.model';\r\nimport { PeaService } from 'src/app/services/pea.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-delegar',\r\n templateUrl: './modal-delegar-component.html',\r\n})\r\nexport class ModalDelegarQuestionarioComponent implements OnInit {\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n private peaService: PeaService,\r\n public toastr: ToastrService,\r\n @Inject(MAT_DIALOG_DATA) data\r\n ) {\r\n this.model = data.dados;\r\n this.peaId = data.peaId;\r\n this.criterioId = data.criterioId;\r\n this.unidadeGestoraId = data.unidadeGestoraId;\r\n }\r\n\r\n public model: IResponsavelUnidadeGestoraModel;\r\n private peaId: number;\r\n private criterioId: number;\r\n private unidadeGestoraId: number;\r\n\r\n public idResponsavel;\r\n\r\n ngOnInit(): void {}\r\n\r\n cancelar() {\r\n this.dialogRef.close(true);\r\n }\r\n\r\n delegar() {\r\n this.peaService\r\n .DelegarQuestionario(this.peaId, this.criterioId, this.idResponsavel, this.unidadeGestoraId)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Delegação de responsabilidade realizada com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.dialogRef.close(true);\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n}\r\n","
\r\n \r\n
\r\n

Delegar Questionário

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Delegar\r\n \r\n\r\n \r\n
\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Questionários\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Pergunta\r\n \r\n {{ element.criterio.pergunta.nome }}\r\n \r\n \r\n\r\n \r\n Tipo de Entrada\r\n \r\n {{ element.criterio.pergunta.tipoEntrada.descricao }}\r\n \r\n \r\n\r\n \r\n Resposta\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n {{ item.nome }}\r\n \r\n \r\n \r\n \r\n\r\n \r\n Unidade de Medida\r\n \r\n {{ element.criterio.unidade }}\r\n \r\n \r\n\r\n \r\n Delegado à\r\n \r\n {{ element.delegadoA }}\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n Salvar\r\n \r\n\r\n \r\n Enviar\r\n \r\n\r\n \r\n Cancelar\r\n \r\n\r\n \r\n Delegar\r\n \r\n\r\n \r\n Sair\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport Inputmask from 'inputmask';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { toIntlNumberString } from 'src/app/core/helpers/number.helper';\r\nimport { IPeaCriterioQuestionarioModel } from 'src/app/models/pea-criterio-questionario.model';\r\nimport { IPerguntaModel } from 'src/app/models/pergunta.model';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IQuestionarioModel } from 'src/app/models/questionario.model';\r\nimport { QuestionarioService } from 'src/app/services/questionario.service';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { ModalDelegarQuestionarioComponent } from './modal-delegar/modal-delegar-component';\r\nimport { PeaService } from 'src/app/services/pea.service';\r\nimport { ResponsaveisService } from 'src/app/services/responsaveis.service ';\r\nimport moment, { Moment } from 'moment';\r\nimport { IQuestionarioPaaModel } from 'src/app/models/questionario.paa.model';\r\nimport { IPaaCriterioQuestionarioModel } from 'src/app/models/paa-criterio-questionario.model';\r\n\r\n@Component({\r\n selector: 'app-questionario-form',\r\n templateUrl: './questionario-form.component.html',\r\n styleUrls: ['./questionario-form.component.scss'],\r\n})\r\nexport class QuestionarioFormComponent extends BaseFormComponent\r\n implements OnInit {\r\n public model: any = {} as any;\r\n public pergunta: IPerguntaModel;\r\n public dataSource = new MatTableDataSource([]);\r\n private segmentoUrl: string;\r\n public documento: string;\r\n public expirado: boolean;\r\n public isPea: boolean;\r\n\r\n public displayedColumns: string[] = [\r\n 'selecao',\r\n 'pergunta',\r\n 'tipo',\r\n 'resposta',\r\n 'unidadeMedida',\r\n 'delegadoA',\r\n ];\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private questionarioService: QuestionarioService,\r\n private peaService: PeaService,\r\n private responsaveisService: ResponsaveisService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.titulo = 'Responder Questionário';\r\n this.segmentoUrl = this.recuperarSegmento();\r\n this.documento = this.segmentoUrl.toUpperCase();\r\n\r\n this.criterioId = parseInt(this.route.snapshot.paramMap.get('criterioId'), 10) as number;\r\n this.unidadeGestoraId = parseInt(this.route.snapshot.paramMap.get('unidadeGestoraId'), 10) as number;\r\n this.expirado = false;\r\n }\r\n\r\n private criterioId = null;\r\n private unidadeGestoraId = null;\r\n\r\n async ngOnInit() {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n this.obterPerguntasQuestionario();\r\n }\r\n\r\n obterPerguntasQuestionario() {\r\n switch (this.segmentoUrl) {\r\n case 'pea':\r\n this.obterQuestionarioPendentePorPeaId();\r\n this.isPea = true;\r\n break;\r\n case 'paa':\r\n this.obterQuestionarioPendentePorPaaId();\r\n break;\r\n default:\r\n this.obterQuestionarioPendentePorPeaId();\r\n break;\r\n }\r\n }\r\n\r\n public async onSalvar() {\r\n\r\n try {\r\n for (const item of this.dataSource.data) {\r\n if (item.valorNumerico) {\r\n item.valorNumerico = parseFloat(\r\n toIntlNumberString(item.valorNumerico.toString())\r\n );\r\n }\r\n }\r\n\r\n switch (this.segmentoUrl) {\r\n case 'pea':\r\n await this.salvarQuestionarioPea();\r\n break;\r\n case 'paa':\r\n await this.salvarQuestionarioPaa();\r\n break;\r\n default:\r\n await this.salvarQuestionarioPea();\r\n break;\r\n }\r\n\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public async onEnviar() {\r\n let naoRespondidos = this.dataSource.data.filter(\r\n (d) =>\r\n d.criterio.pergunta.tipoEntrada.nome === 'MultiplaEscolha' &&\r\n !d.perguntaOpcaoId\r\n ).length;\r\n naoRespondidos += this.dataSource.data.filter(\r\n (d) =>\r\n d.criterio.pergunta.tipoEntrada.nome !== 'MultiplaEscolha' &&\r\n !d.valorNumerico\r\n ).length;\r\n\r\n if (naoRespondidos > 0) {\r\n this.exibirMensagemAlerta('Existem perguntas não respondidas. Por favor, revise todas as respostas antes de enviar!');\r\n return;\r\n }\r\n\r\n Swal.fire({\r\n title: 'Responder Questionário',\r\n text:\r\n 'Deseja enviar as respostas desse questionário? Não será possível editar as respostas após o envio.',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Confirmar',\r\n }).then(async (result) => {\r\n if (result.value) {\r\n\r\n try {\r\n switch (this.segmentoUrl) {\r\n case 'pea':\r\n await this.enviarQuestionarioPea();\r\n break;\r\n case 'paa':\r\n await this.enviarQuestionarioPaa();\r\n break;\r\n default:\r\n await this.enviarQuestionarioPea();\r\n break;\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n public onCancelar() {\r\n this.navegarLista();\r\n }\r\n\r\n private obterQuestionarioPendentePorPeaId() {\r\n this.tratarObterQuestionarioPendente(this.questionarioService\r\n .obterQuestionarioPendentePorPeaId(this.id, this.criterioId, this.unidadeGestoraId));\r\n }\r\n\r\n private obterQuestionarioPendentePorPaaId() {\r\n this.tratarObterQuestionarioPaaPendente(this.questionarioService\r\n .obterQuestionarioPendentePorPaaId(this.id, this.criterioId, this.unidadeGestoraId));\r\n }\r\n\r\n private tratarObterQuestionarioPendente(obter: Promise>) {\r\n obter.then((res) => {\r\n if (res.sucesso) {\r\n let hoje = moment(new Date());\r\n let data = moment(res.dados.dataPrazo, \"DD-MM-YYYY\");\r\n if (data.diff(hoje) <= 0) {\r\n this.expirado = true;\r\n }\r\n else {\r\n this.expirado = false;\r\n }\r\n this.model = res.dados;\r\n this.dataSource = new MatTableDataSource(res.dados.questionarios);\r\n setTimeout(() => Inputmask().mask(document.querySelectorAll('input')), 500);\r\n } else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n this.navegarLista();\r\n return;\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.navegarLista();\r\n })\r\n }\r\n private tratarObterQuestionarioPaaPendente(obter: Promise>) {\r\n obter.then((res) => {\r\n if (res.sucesso) {\r\n let hoje = moment(new Date());\r\n let data = moment(res.dados.dataPrazo, \"DD-MM-YYYY\");\r\n if (data.diff(hoje) <= 0) {\r\n this.expirado = true;\r\n }\r\n else {\r\n this.expirado = false;\r\n }\r\n this.model = res.dados;\r\n this.dataSource = new MatTableDataSource(res.dados.questionarios);\r\n setTimeout(() => Inputmask().mask(document.querySelectorAll('input')), 500);\r\n } else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n this.navegarLista();\r\n return;\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.navegarLista();\r\n })\r\n }\r\n\r\n private async salvarQuestionarioPea() {\r\n this.dataSource.data.forEach(element => {\r\n if (element.valorNumerico == null || element.valorNumerico == undefined) {\r\n element.valorNumerico = 0;\r\n }\r\n });\r\n const res = await this.questionarioService.salvarRespostasQuestionarioPorPeaId(this.id, this.dataSource.data);\r\n this.tratarSalvarQuestionario(res);\r\n }\r\n\r\n private async salvarQuestionarioPaa() {\r\n const res = await this.questionarioService.salvarRespostasQuestionarioPorPaaId(this.id, this.dataSource.data);\r\n this.tratarSalvarQuestionario(res);\r\n }\r\n\r\n private tratarSalvarQuestionario(res: IBaseModel) {\r\n if (res.sucesso) {\r\n this.submit = true;\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.navegarLista();\r\n } else {\r\n this.submit = false;\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n }\r\n\r\n private async enviarQuestionarioPea() {\r\n const res = await this.questionarioService.enviarRespostasQuestionarioPorPeaId(this.id, this.dataSource.data);\r\n this.tratarEnviarQuestionario(res);\r\n }\r\n\r\n private async enviarQuestionarioPaa() {\r\n const res = await this.questionarioService.enviarRespostasQuestionarioPorPaaId(this.id, this.dataSource.data);\r\n this.tratarEnviarQuestionario(res);\r\n }\r\n\r\n private tratarEnviarQuestionario(res: IBaseModel) {\r\n if (res.sucesso) {\r\n this.submit = true;\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Respostas enviadas com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.navegarLista();\r\n } else {\r\n this.submit = false;\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n }\r\n\r\n private navegarLista() {\r\n this.router.navigate([`/questionario/${this.segmentoUrl}`]);\r\n }\r\n\r\n private recuperarSegmento() {\r\n let segmento = '';\r\n if (this.router.url.indexOf('/questionario/pea') == 0) {\r\n segmento = 'pea';\r\n }\r\n else if (this.router.url.indexOf('/questionario/paa') == 0) {\r\n segmento = 'paa';\r\n }\r\n if (this.visualizar) {\r\n this.route.url.subscribe(val => segmento = val[val.length - 6].path);\r\n }\r\n else {\r\n this.route.url.subscribe(val => segmento = val[val.length - 5].path);\r\n }\r\n\r\n return segmento;\r\n }\r\n\r\n async modalDelegar() {\r\n const res = await this.responsaveisService.obter(\r\n this.model.questionarios[0].unidadeGestoraId, '','','', true\r\n );\r\n\r\n if (res.sucesso) {\r\n try {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '500px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n peaId: this.id,\r\n criterioId: this.criterioId,\r\n unidadeGestoraId: this.unidadeGestoraId,\r\n dados: res.dados,\r\n };\r\n\r\n const modal = this.matDialog.open(\r\n ModalDelegarQuestionarioComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe(async () => {\r\n this.submit = true;\r\n this.navegarLista();\r\n });\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n }\r\n\r\n retornaNomeTipoTrabalho(): string{\r\n return this.isPea ? \"PEAC\" : \"PAAC\";\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { IPeaCriterioQuestionarioModel } from 'src/app/models/pea-criterio-questionario.model';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IQuestionarioModel } from 'src/app/models/questionario.model';\r\nimport { QuestionarioService } from 'src/app/services/questionario.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\n\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n \r\n switch (property) {\r\n case 'pea':\r\n return item.pea.nome.trim().toLowerCase();\r\n case 'paa':\r\n return item?.paaIndiceCriterio?.paa?.nome.trim().toLowerCase();\r\n case 'ug':\r\n return item.unidadeGestora.sigla.trim().toLowerCase();\r\n case 'responsavel':\r\n return item.responsavelId.trim().toLowerCase();\r\n case 'dataEnvio':\r\n return item.dataCriacao.trim().toLowerCase();\r\n case 'dataPrazo':\r\n return item.dataLimite.trim().toLowerCase();\r\n default:\r\n return item[property].trim().toLowerCase();\r\n }\r\n}\r\n@Component({\r\n selector: 'app-questionario-list',\r\n templateUrl: './questionario-list.component.html',\r\n styleUrls: ['./questionario-list.component.scss'],\r\n})\r\nexport class QuestionarioListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IPeaCriterioQuestionarioModel;\r\n public searchNome: string;\r\n\r\n public displayedColumns: string[] = ['selecao', 'pea', 'ug', 'responsavel', 'dataEnvio', 'dataPrazo', 'status'];\r\n\r\n public semDados = true;\r\n private segmentoUrl: string;\r\n public documento: string;\r\n public isPEA: boolean;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private questionarioService: QuestionarioService,\r\n private router: Router,\r\n private toastr: ToastrService,\r\n ) {\r\n super();\r\n this.segmentoUrl = this.recuperarSegmento();\r\n this.documento = this.segmentoUrl.toUpperCase();\r\n this.buscar();\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n switch (this.segmentoUrl) {\r\n case 'pea':\r\n this.isPEA = true;\r\n this.buscarQuestionariosPea();\r\n break;\r\n case 'paa':\r\n this.buscarQuestionariosPaa();\r\n break;\r\n default:\r\n this.buscarQuestionariosPea();\r\n break;\r\n }\r\n }\r\n\r\n public responder() {\r\n \r\n if(this.isPEA){\r\n this.router.navigate([`/questionario/${this.segmentoUrl}/${this.selectedModel.peaId}/criterio/${this.selectedModel.criterioId}/ug/${this.selectedModel.unidadeGestoraId}`]);\r\n }else{\r\n this.router.navigate([`/questionario/${this.segmentoUrl}/${this.selectedModel.paaId}/criterio/${this.selectedModel.criterioId}/ug/${this.selectedModel.unidadeGestoraId}`]);\r\n }\r\n \r\n }\r\n\r\n public visualizar(id: number, criterioId: number, unidadeGestoraId: number) {\r\n this.router.navigate([`/questionario/${this.segmentoUrl}/${id}/criterio/${criterioId}/ug/${unidadeGestoraId}/visualizar`]);\r\n }\r\n\r\n public visualizarQuestionario(object: any) {\r\n if (this.segmentoUrl == \"pea\") {\r\n this.router.navigate([`/questionario/${this.segmentoUrl}/${object.peaId}/criterio/${object.criterioId}/ug/${object.unidadeGestoraId}/visualizar`]);\r\n } else {\r\n this.router.navigate([`/questionario/${this.segmentoUrl}/${object.paaIndiceCriterio.paa.id}/criterio/${object.criterioId}/ug/${object.unidadeGestoraId}/visualizar`]);\r\n }\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.documentoId !== item.documentoId ? item : null;\r\n }\r\n\r\n private buscarQuestionariosPea() {\r\n this.tratarBuscar(this.questionarioService\r\n .obterQuestionariosPendentePea(this.searchNome));\r\n }\r\n\r\n private buscarQuestionariosPaa() {\r\n this.tratarBuscar(this.questionarioService\r\n .obterQuestionariosPendentePaa(this.searchNome));\r\n }\r\n\r\n private tratarBuscar(buscar: Promise>) {\r\n buscar.then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n }\r\n\r\n private recuperarSegmento() {\r\n let segmento = '';\r\n if (this.router.url == '/questionario/pea') {\r\n this.isPEA = true;\r\n segmento = 'pea';\r\n }\r\n else if (this.router.url == '/questionario/paa') {\r\n segmento = 'paa';\r\n this.displayedColumns = ['selecao', 'pea', 'paa','ug', 'responsavel', 'dataEnvio', 'dataPrazo', 'status'];\r\n }\r\n this.route.url.subscribe(val => segmento = val[val.length - 1].path);\r\n\r\n return segmento;\r\n }\r\n\r\n mostrarColunaPAAC(element: any): boolean{\r\n\t\treturn !this.isPEA;\r\n }\r\n\r\n retornaNomePea(element: any): string{\r\n let retorno =\"\" ;\r\n if(element.pea != undefined){\r\n retorno = element.pea.nome;\r\n }else if(element.paaIndiceCriterio.paa.pea){\r\n retorno = element.paaIndiceCriterio.paa.pea.nome;\r\n }\r\n return retorno; \r\n }\r\n\r\n sortData(sort) {\r\n this.buscar();\r\n}\r\n\r\n}\r\n\r\n","\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t Lista de\r\n\t\t\t\t\t\t\tQuestionários\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t Responder\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t Visualizar\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tPEAC\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\tretornaNomePea(element)\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tPAAC\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\telement.paaIndiceCriterio.paa.nome\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tUG\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.unidadeGestora.sigla }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tResponsável\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.responsavelId }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tData Envio\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\telement.dataCriacao\r\n\t\t\t\t\t\t\t\t\t\t\t\t| date: \"dd/MM/yyyy\"\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tData Prazo\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\telement.dataLimite\r\n\t\t\t\t\t\t\t\t\t\t\t\t| date: \"dd/MM/yyyy\"\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tStatus\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.status }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tNenhum questionário disponível\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Recomendações\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IRecomendacaoModel } from 'src/app/models/recomendacao.model';\r\nimport { RecomendacaoService } from 'src/app/services/recomendacao.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-recomendacao-form',\r\n templateUrl: './recomendacao-form.component.html',\r\n styleUrls: ['./recomendacao-form.component.scss']\r\n})\r\nexport class RecomendacaoFormComponent extends BaseFormComponent implements OnInit {\r\n\r\n public model: IRecomendacaoModel = {} as IRecomendacaoModel;\r\n public semDados = true;\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n tipoRecomendacao: new FormControl(null, Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private recomendacaoService: RecomendacaoService,\r\n public matDialog: MatDialog,\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n config: AngularEditorConfig = {\r\n editable: !this.visualizar,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n async ngOnInit() {\r\n this.submit = true;\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.recomendacaoService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/recomendacao']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.updateValueAndValidity();\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/recomendacao']);\r\n }\r\n this.atribuirTitulo();\r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean = false) {\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n\r\n Object.assign(this.model, this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.recomendacaoService.atualizar(this.model);\r\n } else {\r\n res = await this.recomendacaoService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro salvo com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (salvarEFechar) {\r\n this.router.navigate(['/recomendacao']);\r\n }else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/recomendacao/${res.dados.id}`]);\r\n await this.ngOnInit();\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(validacoes);\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigate(['/recomendacao']);\r\n }\r\n\r\n atribuirTitulo(){\r\n if (this.novoRegistro) {\r\n this.titulo = 'Nova Recomendação';\r\n } else {\r\n this.titulo = 'Editar Recomendação - ' + this.model.nome;\r\n }\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Recomendação - ' + this.model.nome;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { IRecomendacaoModel } from 'src/app/models/recomendacao.model';\r\nimport { RecomendacaoService } from 'src/app/services/recomendacao.service';\r\nimport { BaseListComponent } from '../../shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { ConstatacaoService } from 'src/app/services/constatacao.service';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'marco':\r\n if (item.tipoRecomendacao === 1) {\r\n return 'Interna';\r\n } else if (item.tipoRecomendacao === 2) {\r\n return 'Externa';\r\n } \r\n case 'nome': return item.nome.trim().toLowerCase(); \r\n default:\r\n return item[property];\r\n }\r\n };\r\n@Component({\r\n selector: 'app-recomendacao-list',\r\n templateUrl: './recomendacao-list.component.html',\r\n styleUrls: [ './recomendacao-list.component.scss' ],\r\n})\r\nexport class RecomendacaoListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IRecomendacaoModel;\r\n public displayedColumns: string[] = [ 'selecao', 'nome', 'marco', 'ativo' ];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n @ViewChild(MatPaginator, { static: true })\r\n paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true })\r\n sort: MatSort;\r\n\r\n constructor(\r\n private recomendacaoService: RecomendacaoService,\r\n private constatacaoService: ConstatacaoService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Cadastros,\r\n EnumAcaoRecurso.Consultar\r\n );\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Cadastros,\r\n EnumAcaoRecurso.Excluir\r\n );\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Cadastros,\r\n EnumAcaoRecurso.AtivarInativar\r\n );\r\n this.permissoes.incluir = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Cadastros,\r\n EnumAcaoRecurso.Inserir\r\n );\r\n this.permissoes.visualizar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Cadastros,\r\n EnumAcaoRecurso.Visualizar\r\n );\r\n }\r\n\r\n public novo() {\r\n this.router.navigate([ '/recomendacao/novo' ]);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.recomendacaoService\r\n .obter(this.searchNome, this.searchAtivo)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n });\r\n }\r\n\r\n public reativar(id: number) {\r\n this.recomendacaoService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro reativado com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public excluir(id: number) {\r\n this.recomendacaoService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro excluído com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.constatacaoService\r\n .obterPorRecomendacaoId(id)\r\n .then((res) => {\r\n if (res.dados == null) {\r\n this.recomendacaoService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro inativado com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Recomendação vinculada a uma constatação',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n public visualizar(id: number) {\r\n this.router.navigate([ `/recomendacao/${id}/visualizar` ]);\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([ `/recomendacao/${id}` ]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Recomendação
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Recomendação\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Recomendação {{element.nome}} Marco \r\n Interna\r\n Externa\r\n Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Sem dados a exibir
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
    \r\n\t\t\t\t\t
  1. \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tPágina Inicial\r\n\t\t\t\t\t
  2. \r\n\t\t\t\t\t
  3. \r\n\t\t\t\t\t\t Riscos\r\n\t\t\t\t\t
  4. \r\n\t\t\t\t\t
  5. {{ titulo }}
  6. \r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ titulo }}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tCampo obrigatório\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tCampo obrigatório\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tCampo obrigatório\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tCampo obrigatório\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t Salvar\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tSalvar\r\n\t\t\t\t\t\t\t\t\tSalvar e fechar\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Cancelar\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Cancelar\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { IBaseModel } from \"src/app/models/base.model\";\r\nimport { IRiscosModel } from \"src/app/models/riscos.model\";\r\nimport { IEnumModel } from \"src/app/models/enum.model\";\r\nimport { RiscosService } from \"src/app/services/riscos.service\";\r\nimport { CategoriaRiscoService } from \"src/app/services/categoria-risco.service\";\r\nimport { TipoEnfaseService } from \"src/app/services/tipo-enfase.service\";\r\nimport { SubtipoAuditoriaService } from \"src/app/services/subtipo-auditoria.service\";\r\nimport { ICategoriaRiscoModel } from \"src/app/models/categoria-risco.model\";\r\nimport { ITipoEnfaseModel } from \"src/app/models/tipo-enfase.model\";\r\nimport { ISubtipoAuditoriaModel } from \"src/app/models/subtipo-auditoria.model\";\r\nimport { FiltroModel } from \"src/app/models/filtro.model\";\r\nimport { BaseFormComponent } from \"../../shared/components/base-form/base-form.component\";\r\nimport Swal from \"sweetalert2\";\r\n\r\n@Component({\r\n\tselector: \"app-riscos-form\",\r\n\ttemplateUrl: \"./riscos-form.component.html\",\r\n\tstyleUrls: [\"./riscos-form.component.scss\"],\r\n})\r\nexport class RiscosFormComponent extends BaseFormComponent implements OnInit {\r\n\tpublic enumCategoriaRisco = [] as IEnumModel[];\r\n\tpublic model: IRiscosModel = {} as IRiscosModel;\r\n\r\n\tpublic categorias: { resultado: ICategoriaRiscoModel[] } = {\r\n\t\tresultado: [],\r\n\t};\r\n\tpublic tipoEnfase: { resultado: ITipoEnfaseModel[] } = { resultado: [] };\r\n\tpublic subtipoAuditoria = [] as ISubtipoAuditoriaModel[];\r\n\tpublic searchNome: string;\r\n\tpublic searchAtivo = true;\r\n\r\n\tpublic form = new FormGroup({\r\n\t\tid: new FormControl({ value: \"\", disabled: true }),\r\n\t\tnome: new FormControl(\"\", Validators.required),\r\n\t\tcategoriaRiscoId: new FormControl(null, Validators.required),\r\n\t\ttipoEnfaseId: new FormControl(null),\r\n\t\tsubtipoAuditoriaId: new FormControl(null),\r\n\t\tdescricao: new FormControl(\"\", Validators.required),\r\n\t});\r\n\r\n\tconstructor(\r\n\t\troute: ActivatedRoute,\r\n\t\ttoastr: ToastrService,\r\n\t\trouter: Router,\r\n\t\tlocaleService: BsLocaleService,\r\n\t\tprivate riscosService: RiscosService,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tpublic categoriaRiscoService: CategoriaRiscoService,\r\n\t\tpublic tipoEnfaseService: TipoEnfaseService,\r\n\t\tpublic subtipoAuditoriaService: SubtipoAuditoriaService\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\r\n\t\tif (this.novoRegistro) {\r\n\t\t\tthis.titulo = \"Novo Risco\";\r\n\t\t}\r\n\t}\r\n\r\n\tasync ngOnInit() {\r\n\t\ttry {\r\n\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\tconst res = await this.riscosService.obterPorId(this.id);\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.model = res.dados;\r\n\r\n\t\t\t\t\tif (this.visualizar) {\r\n\t\t\t\t\t\tthis.titulo = \"Visualizar Risco - \" + this.model.nome;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.titulo = \"Editar Risco - \" + this.model.nome;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t\t\t\tthis.router.navigate([\"/riscos\"]);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.form.patchValue(this.model);\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem);\r\n\t\t\tthis.router.navigate([\"/riscos\"]);\r\n\t\t}\r\n\t\tthis.carregaCategoriaRisco();\r\n\t\tthis.carregaTipoEnfase();\r\n\t\tthis.carregaSubtipoAuditoria();\r\n\t}\r\n\r\n\tpublic async salvarDados(salvarEFechar: boolean) {\r\n\t\tif (this.form.invalid) {\r\n\t\t\tthis.exibirMensagemAlerta(\"Formulário inválido\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.submit = true;\r\n\r\n\t\tthis.atualizarModel(this.form.value);\r\n\r\n\t\ttry {\r\n\t\t\tlet res: IBaseModel = null;\r\n\r\n\t\t\tif (!this.novoRegistro) {\r\n\t\t\t\tres = await this.riscosService.atualizar(this.model);\r\n\t\t\t} else {\r\n\t\t\t\tres = await this.riscosService.inserir(this.model);\r\n\t\t\t}\r\n\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tthis.exibirMensagemSucesso(res.mensagem.descricao);\r\n\t\t\t\tif (salvarEFechar == true) this.router.navigate([\"/riscos\"]);\r\n\t\t\t\telse if (this.novoRegistro) {\r\n\t\t\t\t\tthis.router.navigate([`/riscos/${res.dados.id}`]);\r\n\t\t\t\t\tawait this.ngOnInit();\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tconst validacoes = this.montarMensagensValidacao(res);\r\n\t\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tthis.exibirMensagemErro(err.mensagem);\r\n\t\t}\r\n\t}\r\n\tpublic async carregaCategoriaRisco() {\r\n\t\tconst filtro = {} as FiltroModel;\r\n\t\tthis.categoriaRiscoService\r\n\t\t\t.obterTodos(filtro)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (Array.isArray(res.dados.resultado)) {\r\n\t\t\t\t\tthis.categorias = res.dados;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\r\n\t\t\t\t\t\t\"O resultado não é um array:\",\r\n\t\t\t\t\t\tres.dados.resultado\r\n\t\t\t\t\t);\r\n\t\t\t\t\tthis.categorias = { resultado: [] };\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemAlerta(err.mensagem.descricao);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic async carregaTipoEnfase() {\r\n\t\tconst filtro = {} as FiltroModel;\r\n\t\tthis.tipoEnfaseService\r\n\t\t\t.obterTodos(filtro)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (Array.isArray(res.dados.resultado)) {\r\n\t\t\t\t\tthis.tipoEnfase = res.dados;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\r\n\t\t\t\t\t\t\"O resultado não é um array:\",\r\n\t\t\t\t\t\tres.dados.resultado\r\n\t\t\t\t\t);\r\n\t\t\t\t\tthis.tipoEnfase = { resultado: [] };\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemAlerta(err.mensagem.descricao);\r\n\t\t\t});\r\n\t}\r\n\tpublic async carregaSubtipoAuditoria() {\r\n\t\tthis.subtipoAuditoriaService\r\n\t\t\t.obter(this.searchNome, this.searchAtivo, true)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.subtipoAuditoria = res.dados;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemAlerta(err.mensagem.descricao);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic async onSubmit() {\r\n\t\tthis.submit = true;\r\n\t\tthis.salvarDados(false);\r\n\t}\r\n\r\n\tprivate atualizarModel(values: any) {\r\n\t\tObject.assign(this.model, values);\r\n\t}\r\n\r\n\tpublic onBack() {\r\n\t\tthis.router.navigate([\"/riscos\"]);\r\n\t}\r\n\r\n\tpublic cancelar() {\r\n\t\tthis.router.navigate([\"/riscos\"]);\r\n\t}\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
    \r\n\t\t\t\t\t
  1. \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tPágina Inicial\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
  2. \r\n\t\t\t\t\t
  3. Riscos
  4. \r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tRiscos\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t Novo\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t Editar\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tReativar\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t Excluir\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tVisualizar\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tCategoria\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tTodos os Resultados\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ categoria.nome }}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tTipo Enfase\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tTodos os Resultados\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ tipoEnfase.nome }}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tSubtipo de Auditoria\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tTodos os Resultados\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ subTipo.nome }}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tExibir todos\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tExibir somente ativos\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tExibir somente inativos\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tNome\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nome }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tCategoria\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nomeCategoriaRisco }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tTipo de Enfase\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nomeTipoEnfase }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tSubtipo de Auditoria\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.nomeSubTipoAuditoria }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tSituação\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tAtivo\r\n\t\t\t\t\t\t\t\t\t\tInativo\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tNenhum registro encontrado.\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { defaultDataAcessor } from \"src/app/core/helpers/mat-sort-data-accessor\";\r\nimport { EnumAcaoRecurso } from \"src/app/models/enum/acao-recurso.enum\";\r\nimport { EnumRecursoPerfil } from \"src/app/models/enum/recurso-perfil.enum\";\r\nimport { IPermissaoModel } from \"src/app/models/permissao.model\";\r\nimport { IRiscosModel } from \"src/app/models/riscos.model\";\r\nimport { AuthService } from \"src/app/services/auth.service\";\r\nimport { RiscosService } from \"src/app/services/riscos.service\";\r\nimport { FiltroModel } from \"src/app/models/filtro.model\";\r\nimport { TipoEnfaseService } from \"src/app/services/tipo-enfase.service\";\r\nimport { SubtipoAuditoriaService } from \"src/app/services/subtipo-auditoria.service\";\r\nimport { BaseListComponent } from \"src/app/shared/components/base-list/base-list.component\";\r\nimport { CategoriaRiscoService } from \"src/app/services/categoria-risco.service\";\r\nimport { ICategoriaRiscoModel } from \"src/app/models/categoria-risco.model\";\r\nimport Swal from \"sweetalert2\";\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n\tswitch (property) {\r\n\t\tcase \"nome\":\r\n\t\t\treturn item.nome.trim().toLowerCase();\r\n\t\tcase \"categoriaRisco\":\r\n\t\t\treturn item.categoriaRisco.trim().toLowerCase;\r\n\t\tcase \"tipoEnfase\":\r\n\t\t\treturn item.tipoEnfase.trim().toLowerCase;\r\n\t\tcase \"subtipoAuditoria\":\r\n\t\t\treturn item.subtipoAuditoria.trim().toLowerCase;\r\n\t\tcase \"ativo\":\r\n\t\t\treturn item.ativo;\r\n\t\tdefault:\r\n\t\t\treturn item.nome.trim().toLowerCase();\r\n\t}\r\n};\r\n\r\n@Component({\r\n\tselector: \"app-riscos-list\",\r\n\ttemplateUrl: \"./riscos-list.component.html\",\r\n\tstyleUrls: [\"./riscos-list.component.scss\"],\r\n})\r\nexport class RiscosListComponent extends BaseListComponent implements OnInit {\r\n\t// declarar aqui as variavis\r\n\tpublic dataSource = new MatTableDataSource([]);\r\n\tpublic selectedModel: IRiscosModel;\r\n\tpublic displayedColumns: string[] = [\r\n\t\t\"selecao\",\r\n\t\t\"nome\",\r\n\t\t\"categoriaRisco\",\r\n\t\t\"tipoEnfase\",\r\n\t\t\"subtipoAuditoria\",\r\n\t\t\"ativo\",\r\n\t];\r\n\tpublic searchNome: string;\r\n\tpublic searchAtivo = true;\r\n\tpublic semDados = true;\r\n\tpublic permissoes: IPermissaoModel;\r\n\tpublic filtro = {} as FiltroModel;\r\n\tpublic totalItens: number;\r\n\tpublic pageEvent: any;\r\n\tpublic categoriaRisco: { resultado: ICategoriaRiscoModel[] } = {\r\n\t\tresultado: [],\r\n\t};\r\n\tpublic riscos: any;\r\n\tpublic categorias: { nome: string }[] = [];\r\n\tpublic filtroSubTipoAuditoria: string | null = null;\r\n\tpublic filtroCategoriaRisco: string | null = null;\r\n\tpublic filtroTipoEnfase: string | null = null;\r\n\r\n\t@ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n\t@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\t@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate riscosService: RiscosService,\r\n\t\tprivate router: Router,\r\n\t\tpublic tipoEnfaseService: TipoEnfaseService,\r\n\t\tpublic subtipoAuditoriaService: SubtipoAuditoriaService,\r\n\t\tpublic categoriaRiscoService: CategoriaRiscoService,\r\n\t\tprivate toastr: ToastrService\r\n\t) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tasync ngOnInit() {\r\n\t\tthis.setarPermissoes();\r\n\t\tthis.configurarFiltro();\r\n\t\tawait this.buscar();\r\n\t\tthis.dataSource.sort = this.sort;\r\n\t}\r\n\r\n\tprivate setarPermissoes(): void {\r\n\t\tthis.permissoes = new IPermissaoModel();\r\n\t\tthis.permissoes.consultar = this.authService.possuiPermissao(\r\n\t\t\tEnumRecursoPerfil.Cadastros,\r\n\t\t\tEnumAcaoRecurso.Consultar\r\n\t\t);\r\n\t\tthis.permissoes.editar = this.authService.possuiPermissao(\r\n\t\t\tEnumRecursoPerfil.Cadastros,\r\n\t\t\tEnumAcaoRecurso.Editar\r\n\t\t);\r\n\t\tthis.permissoes.excluir = this.authService.possuiPermissao(\r\n\t\t\tEnumRecursoPerfil.Cadastros,\r\n\t\t\tEnumAcaoRecurso.Excluir\r\n\t\t);\r\n\t\tthis.permissoes.inativarReativar = this.authService.possuiPermissao(\r\n\t\t\tEnumRecursoPerfil.Cadastros,\r\n\t\t\tEnumAcaoRecurso.AtivarInativar\r\n\t\t);\r\n\t\tthis.permissoes.incluir = this.authService.possuiPermissao(\r\n\t\t\tEnumRecursoPerfil.Cadastros,\r\n\t\t\tEnumAcaoRecurso.Inserir\r\n\t\t);\r\n\t\tthis.permissoes.visualizar = this.authService.possuiPermissao(\r\n\t\t\tEnumRecursoPerfil.Cadastros,\r\n\t\t\tEnumAcaoRecurso.Visualizar\r\n\t\t);\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tthis.configurarFiltro();\r\n\r\n\t\tthis.getCategoriaRisco();\r\n\t\tthis.getSubtiposAuditoria();\r\n\t\tthis.getTipoEnfase();\r\n\r\n\t\tthis.buscar();\r\n\t\tthis.dataSource.sort = this.sort;\r\n\t\tthis.dataSource.paginator = this.paginator;\r\n\t\tthis.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n\t}\r\n\r\n\tpublic novo() {\r\n\t\tthis.router.navigate([\"/riscos/novo\"]);\r\n\t}\r\n\r\n\tasync buscar() {\r\n\t\tthis.selectedModel = null;\r\n\t\tthis.riscosService\r\n\t\t\t.obter(this.filtro)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.totalItens = res.dados.totalItens;\r\n\t\t\t\tthis.dataSource = new MatTableDataSource(res.dados.resultado);\r\n\t\t\t\tthis.riscos = res.dados.resultado;\r\n\t\t\t\tthis.paginator = this.tableOnePaginator;\r\n\t\t\t\tthis.paginator.length = this.totalItens;\r\n\t\t\t\tthis.dataSource.sort = this.sort;\r\n\t\t\t\tthis.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n\t\t\t\tthis.dataSource.sortingDataAccessor = (data, sortHeaderId) => {\r\n\t\t\t\t\tswitch (sortHeaderId) {\r\n\t\t\t\t\t\tcase \"categoriaRisco\":\r\n\t\t\t\t\t\t\treturn data.nomeCategoriaRisco?.toLowerCase() || \"\";\r\n\t\t\t\t\t\tcase \"nome\":\r\n\t\t\t\t\t\t\treturn data.nome.toLowerCase();\r\n\t\t\t\t\t\tcase \"tipoEnfase\":\r\n\t\t\t\t\t\t\treturn data.nomeTipoEnfase.toLowerCase();\r\n\t\t\t\t\t\tcase \"subtipoAuditoria\":\r\n\t\t\t\t\t\t\treturn data.nomeSubTipoAuditoria.toLowerCase();\r\n\t\t\t\t\t\tcase \"ativo\":\r\n\t\t\t\t\t\t\treturn data.ativo;\r\n\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\treturn data[sortHeaderId];\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\tthis.dataSource._updateChangeSubscription();\r\n\t\t\t\tthis.semDados = this.dataSource.filteredData.length === 0;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic reativar(id: number) {\r\n\t\tthis.riscosService\r\n\t\t\t.reativar(id)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.exibirMensagemSucesso(\" Risco reativado com sucesso.\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.buscar();\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic inativar(id: number) {\r\n\t\tthis.riscosService\r\n\t\t\t.inativar(id)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.exibirMensagemSucesso(\"Riscos inativado com sucesso.\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem);\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.buscar();\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic editar(id: number) {\r\n\t\tthis.router.navigate([`/riscos/${id}`]);\r\n\t}\r\n\r\n\tpublic selecionar(item: any) {\r\n\t\tthis.selectedModel =\r\n\t\t\t!this.selectedModel || this.selectedModel.id !== item.id\r\n\t\t\t\t? item\r\n\t\t\t\t: null;\r\n\t}\r\n\r\n\tpublic excluir(id: number) {\r\n\t\tthis.riscosService\r\n\t\t\t.excluir(id)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.exibirMensagemSucesso(\"Risco excluído com sucesso.\");\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem);\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.buscar();\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic visualizar(id: number) {\r\n\t\tthis.router.navigate([`/riscos/${id}/visualizar`]);\r\n\t}\r\n\r\n\tprivate configurarFiltro() {\r\n\t\tthis.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n\t\tthis.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n\t\tthis.filtro.colunaOrder = this.sort.active;\r\n\t\tthis.filtro.ativo = this.searchAtivo;\r\n\t\tthis.filtro.pesquisa = this.searchNome;\r\n\t\tthis.filtro.direcao = this.sort.direction;\r\n\t}\r\n\r\n\tsortData(sort) {\r\n\t\tthis.filtro.colunaOrder = sort.active;\r\n\t\tthis.filtro.direcao = sort.direction;\r\n\r\n\t\tthis.buscar();\r\n\t}\r\n\r\n\tpageChanged(e) {\r\n\t\tthis.filtro.pagina = e.pageIndex + 1;\r\n\t\te.pageIndex = this.filtro.pagina;\r\n\t\tthis.filtro.itensPorPagina = e.pageSize;\r\n\t\tthis.buscar();\r\n\t}\r\n\r\n\t//funções do filtro para filtrar por cada tipo\r\n\r\n\tprivate uniqueFilters: Set = new Set();\r\n\r\n\tpublic selecionarCategoria(nomeCategoria: string) {\r\n\t\tthis.filtroCategoriaRisco = nomeCategoria;\r\n\t\tthis.dataSource.filter = nomeCategoria.trim().toLowerCase() || \"\";\r\n\t\tthis.filtroSubTipoAuditoria = \"\";\r\n\t\tthis.filtroTipoEnfase = \"\";\r\n\r\n\t\tthis.uniqueFilters.clear();\r\n\t\tif (nomeCategoria) {\r\n\t\t\tthis.uniqueFilters.add(nomeCategoria.trim().toLowerCase());\r\n\r\n\t\t\tthis.dataSource.filterPredicate = (\r\n\t\t\t\tdata: IRiscosModel,\r\n\t\t\t\tfilter: string\r\n\t\t\t) => {\r\n\t\t\t\tconst filterValues = filter\r\n\t\t\t\t\t.split(\"|\")\r\n\t\t\t\t\t.map((value) => value.trim().toLowerCase());\r\n\t\t\t\treturn filterValues.includes(\r\n\t\t\t\t\tdata.nomeCategoriaRisco.trim().toLowerCase()\r\n\t\t\t\t);\r\n\t\t\t};\r\n\r\n\t\t\tthis.dataSource.filter = Array.from(this.uniqueFilters).join(\"|\");\r\n\t\t} else {\r\n\t\t\tthis.uniqueFilters.clear();\r\n\t\t\tthis.dataSource.filter = \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tpublic selecionarTipoEnfase(nomeTipoEnfase: string) {\r\n\t\tthis.filtroTipoEnfase = nomeTipoEnfase;\r\n\t\tthis.dataSource.filter = nomeTipoEnfase.trim().toLowerCase() || \"\";\r\n\t\tthis.filtroCategoriaRisco = \"\";\r\n\t\tthis.filtroSubTipoAuditoria = \"\";\r\n\r\n\t\tthis.uniqueFilters.clear();\r\n\t\tif (nomeTipoEnfase) {\r\n\t\t\tthis.uniqueFilters.add(nomeTipoEnfase.trim().toLowerCase());\r\n\r\n\t\t\tthis.dataSource.filterPredicate = (\r\n\t\t\t\tdata: IRiscosModel,\r\n\t\t\t\tfilter: string\r\n\t\t\t) => {\r\n\t\t\t\tconst filterValues = filter\r\n\t\t\t\t\t.split(\"|\")\r\n\t\t\t\t\t.map((value) => value.trim().toLowerCase());\r\n\t\t\t\treturn filterValues.includes(\r\n\t\t\t\t\tdata.nomeTipoEnfase.trim().toLowerCase()\r\n\t\t\t\t);\r\n\t\t\t};\r\n\r\n\t\t\tthis.dataSource.filter = Array.from(this.uniqueFilters).join(\"|\");\r\n\t\t} else {\r\n\t\t\tthis.uniqueFilters.clear();\r\n\t\t\tthis.dataSource.filter = \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tpublic selecionarSubTipoAuditoria(nomeSubTipoAuditoria: string) {\r\n\t\tthis.filtroSubTipoAuditoria = nomeSubTipoAuditoria;\r\n\t\tthis.dataSource.filter =\r\n\t\t\tnomeSubTipoAuditoria.trim().toLowerCase() || \"\";\r\n\t\tthis.filtroCategoriaRisco = \"\";\r\n\t\tthis.filtroTipoEnfase = \"\";\r\n\r\n\t\tthis.uniqueFilters.clear();\r\n\r\n\t\tif (nomeSubTipoAuditoria) {\r\n\t\t\tthis.uniqueFilters.add(nomeSubTipoAuditoria.trim().toLowerCase());\r\n\r\n\t\t\tthis.dataSource.filterPredicate = (\r\n\t\t\t\tdata: IRiscosModel,\r\n\t\t\t\tfilter: string\r\n\t\t\t) => {\r\n\t\t\t\tconst filterValues = filter\r\n\t\t\t\t\t.split(\"|\")\r\n\t\t\t\t\t.map((value) => value.trim().toLowerCase());\r\n\t\t\t\treturn filterValues.includes(\r\n\t\t\t\t\tdata.nomeSubTipoAuditoria.trim().toLowerCase()\r\n\t\t\t\t);\r\n\t\t\t};\r\n\r\n\t\t\tthis.dataSource.filter = Array.from(this.uniqueFilters).join(\"|\");\r\n\t\t} else {\r\n\t\t\tthis.uniqueFilters.clear();\r\n\t\t\tthis.dataSource.filter = \"\";\r\n\t\t}\r\n\t}\r\n\r\n\t// funções para popular filtro e retirar duplicatas\r\n\tlistaCategoria: any[] = [];\r\n\tlistaTipoEnfase: any[] = [];\r\n\tlistaSubTipoAuditoria: any[] = [];\r\n\r\n\tpublic getSubtiposAuditoria() {\r\n\t\tthis.riscosService\r\n\t\t\t.obterSubTipoAuditoria()\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.listaSubTipoAuditoria = res.dados;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.toastr.error(err.mensagem.descricao, 'Atenção');\r\n\t\t\t})\r\n\t}\r\n\r\n\tpublic getTipoEnfase() {\r\n\t\tthis.riscosService\r\n\t\t\t.obterTipoEnfase()\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.listaTipoEnfase = res.dados;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.toastr.error(err.mensagem.descricao, 'Atenção');\r\n\t\t\t})\r\n\t}\r\n\r\n\tpublic getCategoriaRisco() {\r\n\t\tthis.riscosService\r\n\t\t\t.obterCategorias()\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.listaCategoria = res.dados;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.toastr.error(err.mensagem.descricao, 'Atenção');\r\n\t\t\t})\r\n\t}\r\n}\r\n","
\r\n
\r\n
\r\n

Incluir Período de exercício

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Ata de Nomeação/Designação

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Ato de Exoneração

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n Cancelar\r\n \r\n\r\n \r\n Fechar\r\n \r\n
\r\n \r\n\r\n","\r\nimport { AfterViewInit, Component, Inject, OnInit} from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport Inputmask from 'inputmask';\r\nimport Swal from 'sweetalert2';\r\nimport { PeriodoExercicioService } from 'src/app/services/periodo-exercicio.service';\r\nimport { IPeriodoExercicioModel } from 'src/app/models/periodo-exercicio.model';\r\nimport { INaturezaResponsabilidadeModel } from 'src/app/models/natureza-responsabilidade';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { IAtoNomeacaoModel } from 'src/app/models/ato-nomeacao.model';\r\nimport { NaturezaResponsabilidadeService } from 'src/app/services/natureza-responsabilidade.service';\r\nimport { LookupModalComponent } from 'src/app/shared/components/lookup-modal/lookup-modal.component';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { IAtoExoneracaoModel } from 'src/app/models/ato-exoneracao.model';\r\n\r\n@Component({\r\n selector: 'app-modal-incluir-periodo-exercicio',\r\n templateUrl: './modal-incluir-periodo-exercicio.component.html',\r\n styleUrls: ['./modal-incluir-periodo-exercicio.component.scss'],\r\n})\r\nexport class ModalIncluirPeriodoExercicioComponent\r\n implements OnInit, AfterViewInit {\r\n\r\n public enumTipoAgente = [];\r\n public enumTipoAto = [];\r\n public model: IPeriodoExercicioModel = {} as IPeriodoExercicioModel;\r\n public visualizar = true;\r\n public submited = false;\r\n public dataInicio: Date;\r\n public dataFim: Date;\r\n public dataAtoNomeacao: Date;\r\n public dataPublicacaoNomeacao: Date;\r\n public dataAtoExoneracao: Date;\r\n public dataPublicacaoExoneracao: Date;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n private periodoExercicioService: PeriodoExercicioService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private naturezaResponsabilidadeService: NaturezaResponsabilidadeService,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.model.responsavelId = data.responsavelId;\r\n this.model.unidadeGestoraId = data.unidadeGestoraId;\r\n\r\n if (data.editar) {\r\n if (!data.element?.id) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Responsável não encontrado.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.dialogRef.close(true);\r\n }\r\n else {\r\n this.obterPorId(data.element.id);\r\n }\r\n }\r\n this.visualizar = data.visualizar;\r\n }\r\n\r\n onDataInicioChange(newDate: Date) {\r\n this.dataInicio = new Date(newDate);\r\n }\r\n\r\n onDataFimChange(newDate: Date) {\r\n this.dataFim = new Date(newDate);\r\n }\r\n\r\n onDataAtoNomeacaoChange(newDate: Date) {\r\n this.dataAtoNomeacao = new Date(newDate);\r\n }\r\n\r\n onDataPublicacaoNomeacaoChange(newDate: Date) {\r\n this.dataPublicacaoNomeacao = new Date(newDate);\r\n }\r\n\r\n onNumeroNomeacaoChange(numero: number) {\r\n if (!this.model.atoNomeacao) {\r\n this.model.atoNomeacao = {} as IAtoNomeacaoModel;\r\n }\r\n this.model.atoNomeacao.numero = numero;\r\n }\r\n\r\n onDataAtoExoneracaoChange(newDate: Date) {\r\n this.dataAtoExoneracao = new Date(newDate);\r\n }\r\n\r\n onDataPublicacaoExoneracaoChange(newDate: Date) {\r\n this.dataPublicacaoExoneracao = new Date(newDate);\r\n }\r\n\r\n onNumeroExoneracaoChange(numero: number) {\r\n if (!this.model.atoExoneracao) {\r\n this.model.atoExoneracao = {} as IAtoExoneracaoModel;\r\n }\r\n this.model.atoExoneracao.numero = numero;\r\n }\r\n\r\n onTipoAtoNomeacaoChange(event: any) {\r\n if (!this.model.atoNomeacao) {\r\n this.model.atoNomeacao = {} as IAtoNomeacaoModel;\r\n if (!this.model.atoNomeacao.tipoAto) {\r\n this.model.atoNomeacao.tipoAto = {} as IEnumModel;\r\n }\r\n }\r\n this.model.atoNomeacao.tipoAto = {\r\n codigo: event.target.value\r\n } as IEnumModel;\r\n }\r\n\r\n onTipoAtoExoneracaoChange(event: any) {\r\n if (!this.model.atoExoneracao) {\r\n this.model.atoExoneracao = {} as IAtoExoneracaoModel;\r\n if (!this.model.atoExoneracao.tipoAto) {\r\n this.model.atoExoneracao.tipoAto = {} as IEnumModel;\r\n }\r\n }\r\n this.model.atoExoneracao.tipoAto = {\r\n codigo: event.target.value\r\n } as IEnumModel;\r\n }\r\n\r\n onTipoAgenteChange(event: any) {\r\n if (!this.model.tipoAgente) {\r\n this.model.tipoAgente = {\r\n codigo: event.target.value\r\n } as IEnumModel;\r\n }\r\n this.model.tipoAgente = {\r\n codigo: event.target.value\r\n } as IEnumModel;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.tabelaDominioService.obterTipoAgente().then((res) => this.enumTipoAgente = res.dados);\r\n this.tabelaDominioService.obterTipoAto().then((res) => this.enumTipoAto = res.dados);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n public obterPorId(id: number) {\r\n this.periodoExercicioService.obterPorId(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n this.dataInicio = this.model.dataInicio ? new Date(this.model.dataInicio) : null;\r\n this.dataFim = this.model.dataFim ? new Date(this.model.dataFim) : null;\r\n this.dataAtoNomeacao = this.model.atoNomeacao?.dataAto ? new Date(this.model.atoNomeacao.dataAto) : null;\r\n this.dataPublicacaoNomeacao = this.model.atoNomeacao?.dataPublicacao ? new Date(this.model.atoNomeacao.dataPublicacao) : null;\r\n this.dataAtoExoneracao = this.model.atoExoneracao?.dataAto ? new Date(this.model.atoExoneracao.dataAto) : null;\r\n this.dataPublicacaoExoneracao = this.model.atoNomeacao?.dataPublicacao ? new Date(this.model.atoExoneracao.dataPublicacao) : null;\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n public concluir(fechar: boolean) {\r\n\r\n this.submited = false;\r\n \r\n this.model.dataInicio = this.dataInicio ? new Date(this.dataInicio) : null;\r\n this.model.dataFim = this.dataFim ? new Date(this.dataFim) : null;\r\n\r\n if(this.model.dataFim){\r\n if(this.model.dataFim < this.model.dataInicio){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Data início não pode ser superior a data fim.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n }\r\n\r\n if (!this.model.atoNomeacao) { this.model.atoNomeacao = {} as IAtoNomeacaoModel; }\r\n if (!this.dataAtoNomeacao && !this.dataPublicacaoNomeacao && !this.model.atoNomeacao?.numero) { \r\n this.model.atoNomeacaoId = null; \r\n this.model.atoNomeacao = null; \r\n }\r\n else {\r\n this.model.atoNomeacao.dataAto = this.dataAtoNomeacao ? new Date(this.dataAtoNomeacao) : null;\r\n this.model.atoNomeacao.dataPublicacao = this.dataPublicacaoNomeacao ? new Date(this.dataPublicacaoNomeacao) : null; \r\n }\r\n\r\n if (!this.model.atoExoneracao) { this.model.atoExoneracao = {} as IAtoExoneracaoModel; }\r\n if (!this.dataAtoExoneracao && !this.dataPublicacaoExoneracao && !this.model.atoExoneracao?.numero) {\r\n this.model.atoExoneracao = null;\r\n this.model.atoExoneracaoId = null;\r\n }\r\n else {\r\n this.model.atoExoneracao.dataAto = this.dataAtoExoneracao ? new Date(this.dataAtoExoneracao) : null;\r\n this.model.atoExoneracao.dataPublicacao = this.dataPublicacaoExoneracao ? new Date(this.dataPublicacaoExoneracao) : null; \r\n }\r\n\r\n if (!this.model.naturezaResponsabilidadeId || !this.model.tipoAgente?.codigo\r\n || !this.model.unidadeGestoraId || !this.model.responsavelId || !this.model.dataInicio\r\n || !this.model.atoNomeacao || !this.model.atoNomeacao.tipoAto?.codigo || !this.model.atoNomeacao.dataAto || !this.model.atoNomeacao.numero || !this.model.atoNomeacao.dataPublicacao\r\n || (this.dataFim && !this.model.atoExoneracao?.dataAto && !this.model.atoExoneracao?.numero && !this.model.atoExoneracao?.dataPublicacao\r\n && !this.model.atoExoneracao?.tipoAto?.codigo)) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Formulário inválido',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.submited = true;\r\n return;\r\n }\r\n\r\n if (this.model.id) {\r\n this.periodoExercicioService.atualizar(this.model)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (fechar) {\r\n this.dialogRef.close(true); // Fecha a tela após salvar\r\n }\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n else {\r\n this.periodoExercicioService.inserir(this.model)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (fechar) {\r\n this.dialogRef.close(true);\r\n }\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n }\r\n\r\n public async exibirModalNaturezaResponsabilidade() {\r\n try {\r\n const res = await this.naturezaResponsabilidadeService.obter('', true);\r\n if (res.sucesso) {\r\n const modal = this.exibirModal('Selecionar Natureza da Responsabilidade', res.dados);\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n this.model.naturezaResponsabilidadeId = data.id;\r\n if (!this.model.naturezaResponsabilidade) { this.model.naturezaResponsabilidade = {} as INaturezaResponsabilidadeModel; }\r\n this.model.naturezaResponsabilidade.nome = data.nome;\r\n }\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public exibirModal(titulo: string, dados: any, exibirId = false, customizeColumns = null): MatDialogRef {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component-natureza';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = { titulo, dados, exibirId, customizeColumns };\r\n return this.matDialog.open(LookupModalComponent, dialogConfig);\r\n }\r\n\r\n public fechar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(true);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
Incluir responsável
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Períodos de Exercício

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Adicionar\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Ato de Nomeação/Designação\r\n \r\n Ato de Exoneração\r\n
Tipo de AgenteNatureza da responsabilidadeData InícioTipo de AtoNúmeroData do AtoData da PublicaçãoData FimTipo de AtoNúmeroData do AtoData da PublicaçãoAções
{{ element.tipoAgente?.descricao }}{{ element.naturezaResponsabilidade?.nome }}{{ element.dataInicio | date: \"dd/MM/yyyy\" }}{{ element.atoNomeacao?.tipoAto?.descricao }}{{ element.atoNomeacao?.numero }}\r\n {{ element.atoNomeacao?.dataAto | date: \"dd/MM/yyyy\" }}\r\n \r\n {{\r\n element.atoNomeacao?.dataPublicacao | date: \"dd/MM/yyyy\"\r\n }}\r\n {{ element.dataFim | date: \"dd/MM/yyyy\" }}{{ element.atoExoneracao?.tipoAto?.descricao }}{{ element.atoExoneracao?.numero }}\r\n {{ element.atoExoneracao?.dataAto | date: \"dd/MM/yyyy\" }}\r\n \r\n {{\r\n element.atoExoneracao?.dataPublicacao | date: \"dd/MM/yyyy\"\r\n }}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n Cancelar\r\n \r\n \r\n \r\n Fechar\r\n \r\n
\r\n
\r\n
\r\n
\r\n","\r\nimport { AfterViewInit, Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport Inputmask from 'inputmask';\r\nimport { ModalCancelarComponent } from '../../../shared/components/modal-cancelar/modal-cancelar-component';\r\nimport Swal from 'sweetalert2';\r\nimport { PeriodoExercicioService } from 'src/app/services/periodo-exercicio.service';\r\nimport { ModalSelecionarResponsavelComponent } from '../modal-selecionar-responsavel/modal-selecionar-responsavel.component';\r\nimport { IPeriodoExercicioModel } from 'src/app/models/periodo-exercicio.model';\r\nimport { ResponsaveisService } from 'src/app/services/responsaveis.service ';\r\nimport { IResponsavelModel } from 'src/app/models/responsaveis.model';\r\nimport { ModalIncluirPeriodoExercicioComponent } from '../modal-incluir-periodo-exercicio/modal-incluir-periodo-exercicio.component';\r\n\r\n@Component({\r\n selector: 'app-modal-incluir-responsavel',\r\n templateUrl: './modal-incluir-responsavel.component.html',\r\n styleUrls: ['./modal-incluir-responsavel.component.scss'],\r\n})\r\nexport class ModalIncluirResponsavelComponent\r\n implements OnInit, AfterViewInit {\r\n\r\n public model: IResponsavelModel = {} as IResponsavelModel;\r\n public dataSource = new MatTableDataSource([]);\r\n public searchCpf: string;\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public visualizar = true;\r\n public semDados = true;\r\n public submited = false;\r\n public responsavelId;\r\n public unidadeGestoraId;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n private responsaveisService: ResponsaveisService,\r\n private periodoExercicioService: PeriodoExercicioService,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.visualizar = data.visualizar;\r\n this.unidadeGestoraId = data.unidadeGestoraId;\r\n if (!data.element?.idResponsavel) {\r\n if (data.editar) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Responsável não encontrado.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.dialogRef.close(true);\r\n }\r\n }\r\n else {\r\n this.obterResponsavelPorId(data.element.idResponsavel);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n public obterResponsavelPorId(idResponsavel: string) {\r\n this.responsaveisService.obterPorResponsavelId(this.unidadeGestoraId, idResponsavel)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n this.responsavelId = res.dados.id;\r\n this.model.cpf = res.dados.cpf.padStart(11, '0');\r\n this.dataSource = new MatTableDataSource(this.model.periodoExercicio);\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n public async buscar() {\r\n\r\n this.periodoExercicioService.obterPorResponsavelId(this.unidadeGestoraId, this.model.responsavelId)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n });\r\n }\r\n\r\n public async obterPorCpf() {\r\n\r\n const cpfValido = this.isValidCPF(this.model.cpf);\r\n\r\n if (!cpfValido) {\r\n\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'warning',\r\n title: 'Atenção',\r\n text: 'CPF inválido, informe um CPF válido!',\r\n });\r\n\r\n return '';\r\n }\r\n\r\n await this.responsaveisService\r\n .ObterAgentePorCpf(this.unidadeGestoraId, this.model.cpf)\r\n .then((res) => {\r\n if (!res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'warning',\r\n title: 'Atenção',\r\n text: res.mensagem.descricao,\r\n });\r\n return;\r\n }\r\n this.model = res.dados;\r\n this.responsavelId = res.dados.id;\r\n this.model.cpf = res.dados.cpf.padStart(11, '0');\r\n this.dataSource = new MatTableDataSource(res.dados.periodoExercicio);\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n title: 'Atenção',\r\n text: err.mensagem.descricao,\r\n });\r\n })\r\n }\r\n\r\n public async concluir(salvar?: boolean) {\r\n\r\n this.submited = false;\r\n if (!this.model.cpf || !this.model.rg) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Formulário inválido',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.submited = true;\r\n return;\r\n }\r\n\r\n let res;\r\n if (this.model.id) {\r\n res = await this.responsaveisService.atualizar(this.model);\r\n }\r\n else {\r\n res = await this.responsaveisService.inserir(this.model);\r\n }\r\n\r\n try {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (salvar) { this.dialogRef.close(true); }\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (error) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: error.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n\r\n public modalSelecionarResponsavel() {\r\n\r\n try {\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component-selecionar-responsavel';\r\n dialogConfig.width = '700px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n\r\n const modal = this.matDialog.open(ModalSelecionarResponsavelComponent, dialogConfig);\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public fechar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n public cancelar() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = { interno: true };\r\n this.matDialog.open(ModalCancelarComponent, dialogConfig).afterClosed();\r\n }\r\n\r\n public async modalIncluirPeriodoExercicio(editar?: boolean, element?: IPeriodoExercicioModel, indice?: number, visualizar?: boolean) {\r\n try {\r\n await this.concluir();\r\n if (!this.responsavelId) {\r\n await this.obterPorCpf();\r\n }\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component-incluir-periodo';\r\n dialogConfig.width = '1380px';\r\n dialogConfig.maxHeight = '700px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n element,\r\n editar,\r\n indice,\r\n visualizar,\r\n responsavelId: this.responsavelId,\r\n unidadeGestoraId: this.unidadeGestoraId,\r\n };\r\n const modal = this.matDialog.open(ModalIncluirPeriodoExercicioComponent, dialogConfig);\r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.obterPorCpf();\r\n }\r\n });\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } \r\n }\r\n\r\n public isValidCPF(cpf) {\r\n // Validar se é String\r\n if (typeof cpf !== 'string') return false\r\n\r\n // Tirar formatação\r\n cpf = cpf.replace(/[^\\d]+/g, '')\r\n\r\n // Validar se tem tamanho 11 ou se é uma sequência de digitos repetidos\r\n if (cpf.length !== 11 || !!cpf.match(/(\\d)\\1{10}/)) return false\r\n\r\n // String para Array\r\n cpf = cpf.split('')\r\n\r\n const validator = cpf\r\n // Pegar os últimos 2 digitos de validação\r\n .filter((digit, index, array) => index >= array.length - 2 && digit)\r\n // Transformar digitos em números\r\n .map(el => +el)\r\n\r\n const toValidate = pop => cpf\r\n // Pegar Array de items para validar\r\n .filter((digit, index, array) => index < array.length - pop && digit)\r\n // Transformar digitos em números\r\n .map(el => +el)\r\n\r\n const rest = (count, pop) => (toValidate(pop)\r\n // Calcular Soma dos digitos e multiplicar por 10\r\n .reduce((soma, el, i) => soma + el * (count - i), 0) * 10)\r\n // Pegar o resto por 11\r\n % 11\r\n // transformar de 10 para 0\r\n % 10\r\n\r\n return !(rest(10, 2) !== validator[0] || rest(11, 1) !== validator[1])\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Selecionar Responsável

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n CPF {{element.cpf}} Nome {{element.nome}} E-mail {{element.email}}
\r\n\r\n \r\n \r\n\r\n
\r\n \r\n\r\n \r\n
\r\n
","import { AfterViewInit, Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport Inputmask from 'inputmask';\r\nimport { ModalCancelarComponent } from '../../../shared/components/modal-cancelar/modal-cancelar-component';\r\nimport Swal from 'sweetalert2';\r\nimport { ISelecionarResponsavelModel } from 'src/app/models/selecionar-responsavel';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\n\r\n\r\n@Component({\r\n selector: 'app-modal-selecionar-responsavel',\r\n templateUrl: './modal-selecionar-responsavel.component.html',\r\n styleUrls: ['./modal-selecionar-responsavel.component.scss'],\r\n})\r\nexport class ModalSelecionarResponsavelComponent\r\n implements OnInit, AfterViewInit {\r\n\r\n public displayedColumns = [\r\n 'cpf', 'nome', 'email',\r\n ];\r\n public dataSource = new MatTableDataSource([]);\r\n public searchNome: string;\r\n public seacrhEmail: string;\r\n public seacrCpf: number;\r\n public semDados = true;\r\n model: ISelecionarResponsavelModel;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.dataSource = new MatTableDataSource(data);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscar();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n public async selecionar() {\r\n {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'warning',\r\n text: 'Formulário inválido'\r\n });\r\n return;\r\n }\r\n }\r\n\r\n public async buscar() {\r\n this.dataSource = new MatTableDataSource([]);\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n\r\n public cancelar() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = { interno: true };\r\n this.matDialog.open(ModalCancelarComponent, dialogConfig).afterClosed();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Rol de Responsáveis\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n Responsáveis\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Adicionar\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Exibir todos\r\n Exibir somente ativos\r\n Exibir somente inativos\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
Nome{{ element.nome }}Natureza da Responsabilidade{{ element.nomeNaturezaResponsabilidadeId }}Tipo de Agente{{ element.nomeTipoAgente }}Data Início{{ element.dataInicio | date: 'dd/MM/yyyy' }}Data Fim{{ element.dataFim | date: 'dd/MM/yyyy' }}Situação\r\n Ativo\r\n Inativo\r\n Visualizar\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Nenhum registro encontrado.\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Fechar\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IRolResponsaveisModel } from 'src/app/models/rol-responsaveis.model';\r\nimport { IPeriodoExercicioModel } from 'src/app/models/periodo-exercicio.model';\r\nimport { RolResponsaveisService } from 'src/app/services/rol-responsaveis.service';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { ModalIncluirResponsavelComponent } from './modal-incluir-responsaveis/modal-incluir-responsavel.component';\r\nimport { IResponsavelModel } from 'src/app/models/responsaveis.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { ResponsaveisService } from 'src/app/services/responsaveis.service ';\r\nimport { PeriodoExercicioService } from 'src/app/services/periodo-exercicio.service';\r\nimport { IListaResponsavelModel } from 'src/app/models/lista-responsaveis.model';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'naturezaResponsabilidade':\r\n return item.nomeNaturezaResponsabilidadeId;\r\n case 'tipoAgente':\r\n return item.nomeTipoAgente; \r\n case 'Situação':\r\n return item.ativo; \r\n \r\n \r\n default:\r\n return item[property];\r\n }\r\n};\r\n@Component({\r\n selector: 'app-rol-responsaveis-form',\r\n templateUrl: './rol-responsaveis-form.component.html',\r\n styleUrls: ['./rol-responsaveis-form.component.scss'],\r\n})\r\nexport class RolResponsaveisFormComponent extends BaseFormComponent implements OnInit {\r\n public model: IRolResponsaveisModel = {} as IRolResponsaveisModel;\r\n\r\n public selectedModel: IRolResponsaveisModel;\r\n public displayedColumns = [\r\n 'nome', 'naturezaResponsabilidade', 'tipoAgente', 'dataInicio', 'dataFim', 'ativo', 'actions'\r\n ];\r\n public dataSource = new MatTableDataSource([]);\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public dataInicio: Date;\r\n public dataFim: Date;\r\n public NaturezaResponsabilidade: string;\r\n public TipoAgente: string;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private responsaveisService: ResponsaveisService,\r\n private rolResponsaveisService: RolResponsaveisService,\r\n private periodoExercicioService: PeriodoExercicioService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Rol de Responsáveis';\r\n } \r\n }\r\n\r\n async ngOnInit() {\r\n\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.rolResponsaveisService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Rol de Responsáveis - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Rol de Responsáveis - ' + this.model.nome;\r\n }\r\n\r\n this.buscar();\r\n } else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/rolresponsaveis']);\r\n return;\r\n }\r\n }\r\n\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/rolresponsaveis']);\r\n } \r\n }\r\n\r\n public async buscar() {\r\n\r\n if (this.dataInicio && this.dataFim && this.dataInicio.getTime() > this.dataFim.getTime()) {\r\n this.exibirMensagemAlerta('Data inicial não pode ser maior que a data final');\r\n return;\r\n }\r\n\r\n this.responsaveisService\r\n .obterListaResponsaveis(this.id, this.searchNome,this.NaturezaResponsabilidade, this.TipoAgente, this.searchAtivo, this.dataInicio, this.dataFim, true)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemAlerta(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public async modalIncluirResponsavel(editar?: boolean, element?: IResponsavelModel, visualizar?: boolean) {\r\n try {\r\n \r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component-incluir-responsavel';\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n element,\r\n editar,\r\n visualizar,\r\n unidadeGestoraId: this.id\r\n };\r\n const modal = this.matDialog.open(ModalIncluirResponsavelComponent, dialogConfig);\r\n modal.afterClosed().subscribe((sucesso) => {\r\n if (sucesso) {\r\n this.buscar();\r\n }\r\n });\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } finally {\r\n this.buscar();\r\n }\r\n }\r\n\r\n public async inativarReativarResponsaveis(id: number, acao: boolean) {\r\n let res;\r\n if (acao) {\r\n Swal.fire({\r\n title: 'Reativar Registro',\r\n text: 'Tem certeza que deseja reativar esse Registro?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(async (confirm) => {\r\n if(confirm.value) {\r\n res = await this.periodoExercicioService.reativar(id);\r\n }if (res.sucesso) {\r\n this.buscar();\r\n }else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n }\r\n else {\r\n Swal.fire({\r\n title: 'Inativar Registro',\r\n text: 'Tem certeza que deseja inativar esse Registro?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(async (confirm) => {\r\n if(confirm.value) {\r\n res = await this.periodoExercicioService.inativar(id);\r\n }\r\n if (res.sucesso) {\r\n this.buscar();\r\n }else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n });\r\n }\r\n }\r\n\r\n public excluirResponsaveis(id: number) {\r\n Swal.fire({\r\n title: 'Excluir Registro',\r\n text: 'Tem certeza que deseja excluir esse Registro?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n if(res.value) {\r\n this.periodoExercicioService.excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.buscar();\r\n }\r\n else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n });\r\n }\r\n })\r\n \r\n }\r\n\r\n public async imprimir() {\r\n this.router.navigate([`/rolresponsaveis/relatorio/unidades-gestoras`, { ids: this.id }]);\r\n }\r\n\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigate(['/rolresponsaveis']);\r\n }\r\n\r\n public cancelar() {\r\n this.submit = false;\r\n this.router.navigate(['/rolresponsaveis']);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Rol de Responsáveis
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Rol de Responsáveis\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Responsáveis\r\n \r\n \r\n \r\n Visualizar\r\n \r\n \r\n \r\n
\r\n \r\n Imprimir Rol\r\n \r\n \r\n Imprimir Rol por Unidade Gestora\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n Reativar\r\n \r\n \r\n \r\n Inativar\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Exibir todos\r\n Exibir somente ativos\r\n Exibir somente inativos\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Código UG\r\n \r\n \r\n {{ element.codigoUg }}\r\n \r\n \r\n\r\n \r\n \r\n Unidade Gestora\r\n \r\n \r\n {{ element.sigla }} - {{ element.nome }}\r\n \r\n \r\n\r\n \r\n \r\n Data Início\r\n \r\n \r\n {{ element.dataInicio | date: 'dd/MM/yyyy' }}\r\n \r\n \r\n\r\n \r\n \r\n Data Fim\r\n \r\n \r\n {{ element.dataFim | date: 'dd/MM/yyyy' }}\r\n \r\n \r\n\r\n \r\n \r\n Qtde de Responsáveis Vigentes\r\n \r\n \r\n {{ element.quantidadeResponsaveis }}\r\n \r\n \r\n\r\n \r\n \r\n Situação\r\n \r\n \r\n Ativo\r\n Inativo\r\n \r\n \r\n\r\n \r\n \r\n
\r\n Nenhum registro encontrado.\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n","import { Component, Injectable, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { IRolResponsaveisModel } from 'src/app/models/rol-responsaveis.model';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { RolResponsaveisService } from 'src/app/services/rol-responsaveis.service';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\nimport { ModalSelecionarUgImprimirComponent } from '../rol-responsavel-relatoria-unidade-gestora/imprimir-rol-responsaveis/modal-selecionar-ug-imprimir/modal-selecionar-ug-imprimir.component';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n@Component({\r\n selector: 'app-rol-responsaveis-list',\r\n templateUrl: './rol-responsaveis-list.component.html',\r\n styleUrls: ['./rol-responsaveis-list.component.scss'],\r\n})\r\nexport class RolResponsaveisListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n private unidadesGestorasImprimirRolSource = new BehaviorSubject([]);\r\n unidadesGestorasImprimirRol = this.unidadesGestorasImprimirRolSource.asObservable();\r\n public ugSemDados = true;\r\n public selectedModel: IRolResponsaveisModel;\r\n public displayedColumns: string[] = [\r\n 'selecao',\r\n 'codigoUg',\r\n 'nome',\r\n 'dataInicio',\r\n 'dataFim',\r\n 'quantidadeResponsaveis',\r\n 'ativo',\r\n ];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public dataInicio: Date;\r\n public dataFim: Date;\r\n public semDados = true;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private rolResponsaveisService: RolResponsaveisService,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n private router: Router,\r\n public matDialog: MatDialog,\r\n private authService : AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n this.permissoes.imprimir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Imprimir);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n if (this.dataInicio && this.dataFim && this.dataInicio.getTime() > this.dataFim.getTime()) {\r\n this.exibirMensagemAlerta('Data inicial não pode ser maior que a data final');\r\n return;\r\n }\r\n\r\n this.rolResponsaveisService\r\n .obter(this.searchNome, this.searchAtivo, this.dataInicio, this.dataFim, true)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n title: 'Atenção',\r\n text: err.mensagem.descricao,\r\n });\r\n })\r\n }\r\n\r\n public inativar(id: number) {\r\n this.rolResponsaveisService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Rol de Responsável inativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public reativar(id: number) {\r\n this.rolResponsaveisService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Rol de Responsável reativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/rolresponsaveis/${id}/visualizar`]);\r\n }\r\n\r\n public responsaveis(id: number) {\r\n this.router.navigate([`/rolresponsaveis/${id}/responsaveis`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel =\r\n !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public imprimirRol() {\r\n this.router.navigate([`/rolresponsaveis/relatorio`]);\r\n }\r\n\r\n public async exibirModalUgImprimir() {\r\n try {\r\n\r\n const res = await this.unidadeGestoraService.obter();\r\n if (res.sucesso) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = res.dados.resultado;\r\n \r\n const modal = this.matDialog.open(\r\n ModalSelecionarUgImprimirComponent,\r\n dialogConfig\r\n );\r\n modal.afterClosed().subscribe((data: IUnidadeGestoraModel[]) => {\r\n if (data) {\r\n let ids = '';\r\n data.forEach(element => {\r\n if (element.id) { ids += `${element.id};`; }\r\n });\r\n this.router.navigate([`/rolresponsaveis/relatorio/unidades-gestoras`, { ids }]);\r\n }\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IImprimirResponsavelUnidadeGestoraModel } from 'src/app/models/imprimir-responsavel-unidade-gestora-pai.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { ResponsaveisService } from 'src/app/services/responsaveis.service ';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\nimport { RolResponsaveisListComponent } from '../../rol-responsaveis-list/rol-responsaveis-list.component';\r\n\r\n@Component({\r\n selector: 'app-imprimir-rol-responsavel-unidade-gestora',\r\n templateUrl: './imprimir-rol-responsavel-unidade-gestora.component.html',\r\n styleUrls: ['./imprimir-rol-responsavel-unidade-gestora.component.scss'],\r\n})\r\nexport class ImprimirRolResponsavelUnidadeGestoraComponent extends BaseListComponent {\r\n public dataHoje = new Date();\r\n public unidadesGestoras = [] as IImprimirResponsavelUnidadeGestoraModel[];\r\n public displayedColumns: string[] = [\r\n 'nome',\r\n 'nomeNaturezaResponsabilidade',\r\n 'tipoAgente',\r\n 'dataInicio',\r\n 'dataFim',\r\n 'ativo',\r\n ];\r\n\r\n public searchNome: string;\r\n public searchAtivo = undefined;\r\n public dataInicio: Date;\r\n public dataFim: Date;\r\n\r\n constructor(\r\n private responsaveisService: ResponsaveisService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n public authService: AuthService,\r\n public rolResponsavelComponent: RolResponsaveisListComponent\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n\r\n public buscar() {\r\n const ugs = this.route.snapshot.paramMap.get('ids') || '';\r\n\r\n this.responsaveisService\r\n .imprimirResponsaveisUg(ugs.split(';').map(_ => parseInt(_, null)), this.searchNome, this.searchAtivo, this.dataInicio, this.dataFim)\r\n .then((res) => {\r\n this.unidadesGestoras = res.dados.unidadesGestoras;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n title: 'Atenção',\r\n text: err.mensagem.descricao,\r\n });\r\n })\r\n }\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate(['/rolresponsaveis']);\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Rol de Responsáveis\r\n
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Imprimir Rol de Responsáveis por Unidade Gestora\r\n

\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n

\r\n Emitido pelo usuário\r\n {{ authService.usuario?.nome }} na data\r\n {{ dataHoje | date: \"dd/MM/yyyy HH:mm:ss\" }}\r\n

\r\n
\r\n
\r\n

Responsáveis por UG

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Nº da UGUnidade Gestora
\r\n {{ ug.codigoUg }}\r\n \r\n {{ ug.sigla }} - {{ ug.nome }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Nome do ResponsávelNome da ResponsabilidadeTipo do AgenteData InícioData FimSituação
\r\n {{ responsavel.nome }}\r\n \r\n {{ responsavel.naturezaResponsabilidade?.nome }}\r\n \r\n {{ responsavel.tipoAgente?.descricao }}\r\n \r\n {{ responsavel.dataInicio | date: \"dd/MM/yyyy\" }}\r\n \r\n {{ responsavel.dataFim | date: \"dd/MM/yyyy\" }}\r\n \r\n Ativo\r\n Inativo\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\n\r\n@Component({\r\n selector: 'app-modal-selecionar-ug-imprimir',\r\n templateUrl: './modal-selecionar-ug-imprimir.component.html',\r\n styleUrls: ['./modal-selecionar-ug-imprimir.component.scss']\r\n})\r\nexport class ModalSelecionarUgImprimirComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public semDados = false;\r\n public displayedColumns = ['selecao', 'sigla', 'nome'];\r\n public elementosSelecionados = false;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.dataSource = new MatTableDataSource(data);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.filterPredicate = (data: { nome: string, sigla: string }, filterValue: string) => {\r\n return (data.nome || '').trim().toLowerCase().indexOf(filterValue) !== -1 || (data.sigla || '').trim().toLowerCase().indexOf(filterValue) !== -1;\r\n };\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public filtrar(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public selecionarTodos() {\r\n this.dataSource.data.forEach(d => d.selecionado = !this.elementosSelecionados);\r\n this.elementosSelecionados = !this.elementosSelecionados;\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.dataSource.data.filter(d => d.selecionado));\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Adicionar Unidades Gestoras

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Sigla {{element.sigla}} Nome {{element.nome}}
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { IRolResponsaveisModel } from 'src/app/models/rol-responsaveis.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { RolResponsaveisService } from 'src/app/services/rol-responsaveis.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-imprimir-rol-responsaveis',\r\n templateUrl: './imprimir-rol-responsaveis.component.html',\r\n styleUrls: ['./imprimir-rol-responsaveis.component.scss'],\r\n})\r\nexport class ImprimirRolResponsaveisComponent extends BaseListComponent {\r\n public dataHoje = new Date();\r\n public dataSource = new MatTableDataSource([]); \r\n public displayedColumns: string[] = [\r\n 'codigoUg', \r\n 'nome',\r\n 'dataInicio',\r\n 'dataFim',\r\n 'quantidadeResponsaveis',\r\n 'ativo',\r\n ];\r\n\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public dataInicio: Date;\r\n public dataFim: Date;\r\n\r\n constructor(\r\n private rolResponsaveisService: RolResponsaveisService, \r\n private router: Router,\r\n public authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n\r\n public buscar() {\r\n\r\n this.rolResponsaveisService\r\n .obter(this.searchNome, this.searchAtivo, this.dataInicio, this.dataFim, true)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource._updateChangeSubscription();\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n title: 'Atenção',\r\n text: err.mensagem.descricao,\r\n });\r\n })\r\n }\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate(['/rolresponsaveis']);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Rol de Responsáveis\r\n
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Imprimir rol de responsáveis

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Emitido pelo usuário {{ authService.usuario?.nome }} na data\r\n {{ dataHoje | date: 'dd/MM/yyyy HH:mm:ss' }}\r\n

\r\n
\r\n
\r\n

Rol de Responsáveis

\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n Código UG\r\n \r\n {{ element.codigoUg }}\r\n \r\n Unidade Gestora\r\n \r\n {{ element.sigla }} - {{ element.nome }}\r\n \r\n Data Início\r\n \r\n {{ element.dataInicio | date: \"dd/MM/yyyy\" }}\r\n \r\n Data Fim\r\n \r\n {{ element.dataFim | date: \"dd/MM/yyyy\" }}\r\n \r\n Qtde de Responsáveis Vigentes\r\n \r\n {{ element.quantidadeResponsaveis }}\r\n \r\n Situação\r\n \r\n Ativo\r\n Inativo\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { Router } from \"@angular/router\";\r\nimport { IAgentePublicoACModel } from \"src/app/models/agente-publico-ac.model\";\r\nimport { EnumStatusSolicitacaoTecnica } from \"src/app/models/enum/status-solicitcao-tecnica.enum\";\r\nimport { IResponsavelModel } from \"src/app/models/responsaveis.model\";\r\nimport { AcessoCidadaoService } from \"src/app/services/acesso-cidadao.service\";\r\nimport { SolicitacaoTecnicaService } from \"src/app/services/solicitacao-tecnica.service\";\r\nimport { BaseListComponent } from \"src/app/shared/components/base-list/base-list.component\";\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n\tswitch (property) {\r\n\t\tcase \"docAssociado\":\r\n\t\t\treturn item?.planejamento?.opa?.numero;\r\n\t\tcase \"numSolicitacao\":\r\n\t\t\treturn item?.id;\r\n\t\tcase \"prazoResposta\":\r\n\t\t\treturn item?.prazo;\r\n\t\tcase \"assuntoSolicitacao\":\r\n\t\t\treturn item?.assunto;\r\n\t\tcase \"status\":\r\n\t\t\treturn item?.status?.descricao;\r\n\r\n\t\tdefault:\r\n\t\t\treturn item[property];\r\n\t}\r\n};\r\n\r\n@Component({\r\n\tselector: \"app-solicitacao-tecnica-list\",\r\n\ttemplateUrl: \"./solicitacao-tecnica-list.component.html\",\r\n})\r\nexport class SolicitacaoTecnicaListComponent\r\n\textends BaseListComponent\r\n\timplements OnInit\r\n{\r\n\r\n\tpublic EnumStatusSolicitacaoTecnica = EnumStatusSolicitacaoTecnica;\r\n\tpublic dataSource = new MatTableDataSource([]);\r\n\tpublic selectedModel: any;\r\n\tpublic pageEvent: any;\r\n\tpublic semDados = true;\r\n\tpublic prazoResposta = \"\";\r\n\tpublic numeroOpa = \"\";\r\n\tpublic numeroOsa = \"\";\r\n\tpublic numeroSolicitacao = \"\";\r\n\tpublic assunto = \"\";\r\n\tpublic status = \"\";\r\n\tpublic displayedColumns: string[] = [\r\n\t\t\"selecao\",\r\n\t\t\"documentoAssociado\",\r\n\t\t\"numero\",\r\n\t\t\"prazo\",\r\n\t\t\"assunto\",\r\n\t\t\"status\"\r\n\t];\r\n \tpublic responsaveis = [] as IResponsavelModel[];\r\n\r\n\tpublic arrayStatus = [\r\n\t\t{ codigo: EnumStatusSolicitacaoTecnica.EmElaboracao, descricao: \"Em Elaboração\" },\r\n\t\t{ codigo: EnumStatusSolicitacaoTecnica.Finalizada, descricao: \"Finalizada\" },\r\n\t\t{ codigo: EnumStatusSolicitacaoTecnica.Enviada, descricao: \"Enviada\" },\r\n\t\t{ codigo: EnumStatusSolicitacaoTecnica.Cancelada, descricao: \"Cancelada\" },\r\n\t\t{ codigo: EnumStatusSolicitacaoTecnica.SolicitacaoProrrogacao, descricao: \"Solicitação de Prorrogação\" },\r\n\t\t{ codigo: EnumStatusSolicitacaoTecnica.Prorrogada, descricao: \"Prorrogada\" },\r\n\t\t{ codigo: EnumStatusSolicitacaoTecnica.AtendidaParcialmente, descricao: \"Atendida Parcialmente\" },\r\n\t\t{ codigo: EnumStatusSolicitacaoTecnica.AtendidaTotalmente, descricao: \"Atendida Totalmente\" },\r\n\t\t{ codigo: EnumStatusSolicitacaoTecnica.NaoAtendidaParcialmente, descricao: \"Não Atendida Parcialmente\" },\r\n\t\t{ codigo: EnumStatusSolicitacaoTecnica.NaoAtendidaTotalmente, descricao: \"Não Atendida Totalmente\" },\r\n\t\t{ codigo: EnumStatusSolicitacaoTecnica.Pendente, descricao: \"Pendente\" },\r\n\t\t{ codigo: EnumStatusSolicitacaoTecnica.ProrrogacaoRejeitada, descricao: \"Prorrogação rejeitada\" },\r\n\t];\r\n\r\n\tpublic form: FormGroup = this.fb.group({\r\n\t\tprazoResposta: [''],\r\n\t\tnumeroOpa: [''],\r\n\t\tnumeroOsa: [''],\r\n\t\tnumeroSolicitacao: [''],\r\n\t\tassuntoSolicitacao: [''],\r\n\t\tstatus: [''],\r\n\t\tresponsavelId: ['']\r\n\t});\r\n\r\n constructor(\r\n\t\tprivate solicitacaoTecnicaService: SolicitacaoTecnicaService,\r\n\t\tprivate router: Router,\r\n\t\tpublic fb: FormBuilder\r\n\t) {\r\n\t\tsuper();\r\n\t}\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\t@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.ObterResponsaveis();\r\n \tthis.filtrar();\r\n\t}\r\n\r\n\r\n\tpublic ObterResponsaveis() {\r\n\t\tthis.solicitacaoTecnicaService.obterResponsaveisUGs()\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.responsaveis = res.dados;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem.descricao);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic visualizar(id: number) {\r\n\t\tthis.router.navigate([`/solicitacao-tecnica/${id}/visualizar`]);\r\n\t}\r\n\tpublic responder(id: number) {\r\n\t\tthis.router.navigate([`/solicitacao-tecnica/${id}/responder`]);\r\n\t}\r\n\r\n\r\n\tpublic filtrar() {\r\n\t\tthis.selectedModel = null;\r\n\t\tthis.solicitacaoTecnicaService\r\n\t\t\t.filtrar(this.form.value)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.dataSource = new MatTableDataSource(res.dados.resultado);\r\n\t\t\t\tthis.dataSource.paginator = this.paginator;\r\n\t\t\t\tthis.dataSource.sort = this.sort;\r\n\t\t\t\tthis.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n\r\n\t\t\t\tthis.semDados = this.dataSource.filteredData.length === 0;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem?.descricao);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic reativar(id: number) {}\r\n\r\n\tpublic imprimir(id: number) {}\r\n\r\n\tpageChanged(e) {}\r\n\r\n\tpublic selecionar(item: any) {\r\n\t\tthis.selectedModel =\r\n\t\t\t!this.selectedModel || this.selectedModel.id !== item.id\r\n\t\t\t\t? item\r\n\t\t\t\t: null;\r\n\t}\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Solicitação Técnica
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Listagem de Solicitação Técnica\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{status.descricao}}\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {{responsavel.text}}\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Nº Doc. Associado {{element?.documentoAssociado}} Nº Solicitação {{element?.numero}} Prazo de Resposta {{element?.prazo | date:'dd/MM/yyyy'}} Assunto da Solicitação Responsável por Delegação {{ (element?.responsavelId) }} Status\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}
\r\n
Sem dados a exibir
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogRef,\r\n\tMAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { IAgentePublicoACModel } from \"src/app/models/agente-publico-ac.model\";\r\nimport { IItemSolicitacaoTecnicaModel } from \"src/app/models/item-solicitacao-tecnica.model\";\r\nimport { AcessoCidadaoService } from \"src/app/services/acesso-cidadao.service\";\r\nimport { SolicitacaoTecnicaService } from \"src/app/services/solicitacao-tecnica.service\";\r\nimport { BaseListComponent } from \"src/app/shared/components/base-list/base-list.component\";\r\nimport Swal from \"sweetalert2\";\r\n\r\n@Component({\r\n\tselector: \"app-modal-delegar-item\",\r\n\ttemplateUrl: \"./modal-delegar-item.component.html\",\r\n})\r\nexport class ModalDelegarItemComponent\r\n\textends BaseListComponent\r\n\timplements OnInit\r\n{\r\n\tconstructor(\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data,\r\n\t\tprivate acessoCidadaoService: AcessoCidadaoService,\r\n\t\tprivate solicitacaoTecnicaService: SolicitacaoTecnicaService\r\n\t) {\r\n\t\tsuper();\r\n\t\tthis.item = data.item;\r\n\t\tthis.responsavelDelegado = this.item?.responsavelId\r\n\t}\r\n\r\n\tpublic responsavelDelegado: any;\r\n\tpublic item: IItemSolicitacaoTecnicaModel;\r\n\tpublic responsaveis = [] as IAgentePublicoACModel[];\r\n\tpublic responsavelDelegacao = \"\";\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.ObterResponsaveis();\r\n\t}\r\n\r\n\tpublic ObterResponsaveis() {\r\n\t\tthis.acessoCidadaoService\r\n\t\t\t.ObterAgentesPublicosSecont()\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.responsaveis = res.dados;\r\n let responsavelEncontrado = this.responsaveis.find(\r\n\t\t\t\t\t(r) => r.id == this.responsavelDelegado\r\n\t\t\t\t)?.nome;\r\n\r\n if(responsavelEncontrado) {\r\n this.responsavelDelegado = responsavelEncontrado;\r\n } else {\r\n this.responsavelDelegado = '';\r\n }\r\n\t\t\t})\r\n\t}\r\n\r\n\tpublic delegar() {\r\n\t\tthis.solicitacaoTecnicaService\r\n\t\t\t.delegarItem(this.item.id, this.responsavelDelegacao)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.dialogRef.close();\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic fechar() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n}\r\n","
\r\n

\r\n Delegar Item\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{responsavel.nome}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n","
\r\n\t

\r\n\t\t {{ tituloModal }}\r\n\t

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Arquivos do Item\r\n \r\n \r\n {{ element?.nomeArquivo }}\r\n \r\n \r\n\r\n \r\n \r\n Ação\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n 0\"\r\n class=\"table-no-data\"\r\n >\r\n Nenhum registro encontrado\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Arquivos da Resposta\r\n \r\n \r\n {{ element?.nomeArquivo }}\r\n \r\n \r\n\r\n \r\n \r\n Ações\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n 0\"\r\n class=\"table-no-data\"\r\n >\r\n Nenhum registro encontrado\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t Salvar\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t Finalizar\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t Enviar\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t Delegar\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t Anexar\r\n\t\t\t\t\tArquivos\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t Fechar\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Component, Inject, OnInit, ViewChild } from \"@angular/core\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogConfig,\r\n\tMatDialogRef,\r\n\tMAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { IArquivoModel } from \"src/app/models/arquivo.model\";\r\nimport {\r\n\tIArquivoRespostaModel,\r\n\tIItemSolicitacaoTecnicaModel,\r\n\tIRepostaItemModel,\r\n} from \"src/app/models/item-solicitacao-tecnica.model\";\r\nimport { SolicitacaoTecnicaService } from \"src/app/services/solicitacao-tecnica.service\";\r\nimport { ModalVisualizarItemComponent } from \"src/app/shared/components/aba-solicitacao-tecnica/modal-visualizar-item/modal-visualizar-item.component\";\r\nimport Swal from \"sweetalert2\";\r\nimport { ModalDelegarItemComponent } from \"../modal-delegar-item/modal-delegar-item/modal-delegar-item.component\";\r\n\r\n@Component({\r\n\tselector: \"app-modal-item-solicitacao\",\r\n\ttemplateUrl: \"./modal-item-solicitacao.component.html\",\r\n})\r\nexport class ModalItemSolicitacaoComponent implements OnInit {\r\n\tpublic dataSource = new MatTableDataSource([]);\r\n\tpublic dataSourceResposta = new MatTableDataSource(\r\n\t\t[]\r\n\t);\r\n\tpublic semDados: boolean = false;\r\n\tpublic semDadosResposta: boolean = false;\r\n\tpublic model: IItemSolicitacaoTecnicaModel =\r\n\t\t{} as IItemSolicitacaoTecnicaModel;\r\n\tpublic solicitacaoId: number;\r\n\tpublic responder = false;\r\n\tpublic tituloModal = \"\";\r\n\tpublic respostaItemModel: IRepostaItemModel = {} as IRepostaItemModel;\r\n public numeroSolicitacao: string;\r\n public visualizar = false;\r\n\r\n\tconstructor(\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate dialogRef: MatDialogRef,\r\n\t\tpublic solicitacaoService: SolicitacaoTecnicaService,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data\r\n\t) {\r\n\t\tthis.model.id = data?.id;\r\n\t\tthis.solicitacaoId = data?.solicitacaoTecnicaId;\r\n\t\tthis.responder = data?.responder;\r\n this.numeroSolicitacao = data?.numeroSolicitacao;\r\n this.visualizar = data?.visualizar\r\n\t}\r\n\r\n\t@ViewChild(\"tabelaItemPaginator\", { static: true })\r\n\ttabelaItemPaginator: MatPaginator;\r\n\t@ViewChild(\"tabelaItemSort\", { static: true }) tabelaItemSort: MatSort;\r\n\r\n\t@ViewChild(\"tabelaRespostaPaginator\", { static: true })\r\n\ttabelaRespostaPaginator: MatPaginator;\r\n\t@ViewChild(\"tabelaRespostaSort\", { static: true })\r\n\ttabelaRespostaSort: MatSort;\r\n\r\n\tpublic arrayFiles = [];\r\n\r\n\tngOnInit(): void {\r\n\t\tif (this.responder) this.tituloModal = \"Responder Item de Solicitação\";\r\n\t\telse this.tituloModal = \"Visualizar Item de Solicitação\";\r\n\r\n\t\tthis.obterPorId();\r\n\r\n\t\tthis.dataSource.paginator = this.tabelaItemPaginator;\r\n\t\tthis.dataSource.sort = this.tabelaItemSort;\r\n\t\tthis.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n\r\n\t\tthis.dataSourceResposta.sortingDataAccessor = this.sortingDataAccessor;\r\n\t\tthis.dataSourceResposta.sort = this.tabelaRespostaSort;\r\n\t\tthis.dataSourceResposta.paginator = this.tabelaRespostaPaginator;\r\n\t}\r\n\r\n\tpublic obterPorId() {\r\n\t\tthis.solicitacaoService\r\n\t\t\t.obterItemId(this.solicitacaoId, this.model?.id)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.model = res.dados;\r\n\r\n\t\t\t\t\tthis.dataSource.data = res?.dados?.anexo;\r\n\t\t\t\t\tthis.dataSource.paginator = this.tabelaItemPaginator;\r\n\t\t\t\t\tthis.dataSource.sort = this.tabelaItemSort;\r\n\t\t\t\t\tthis.dataSource.sortingDataAccessor =\r\n\t\t\t\t\t\tthis.sortingDataAccessor;\r\n\r\n\t\t\t\t\tif (res?.dados?.respostaItemSolicitacaoTecnica)\r\n\t\t\t\t\t\tthis.respostaItemModel =\r\n\t\t\t\t\t\t\tres?.dados?.respostaItemSolicitacaoTecnica;\r\n\r\n\t\t\t\t\tif (res?.dados?.respostaItemSolicitacaoTecnica?.anexos)\r\n\t\t\t\t\t\tthis.dataSourceResposta.data =\r\n\t\t\t\t\t\t\tres?.dados?.respostaItemSolicitacaoTecnica?.anexos;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic async anexarArquivosResposta(e) {\r\n\t\tlet file = (e.target as HTMLInputElement).files;\r\n\r\n\t\tlet flatListFiles = Array.from(file);\r\n\r\n\t\tfor (let index = 0; index < file.length; index++) {\r\n\t\t\tconst fileToArray = await this.getBase64(file[index]);\r\n\t\t\tthis.dataSourceResposta.data.push({\r\n\t\t\t\tid: 0,\r\n\t\t\t\tnomeArquivo: flatListFiles[index].name,\r\n\t\t\t\tarquivo: fileToArray.toString(),\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.dataSourceResposta.sortingDataAccessor = this.sortingDataAccessor;\r\n\t\tthis.dataSourceResposta.sort = this.tabelaRespostaSort;\r\n\t\tthis.dataSourceResposta.paginator = this.tabelaRespostaPaginator;\r\n\t}\r\n\r\n\tpublic async removerArquivoItemResposta(arquivo: IArquivoRespostaModel) {\r\n Swal.fire({\r\n\t\t\ttitle: \"Excluir Registro\",\r\n\t\t\ttext: \"Tem certeza que deseja excluir esse Registro?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t}).then((res) => {\r\n\t\t\tif (res.value) {\r\n if (arquivo.id > 0) {\r\n this.solicitacaoService\r\n .excluirAnexoItemResposta(arquivo)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n let index =\r\n this.dataSourceResposta.data.indexOf(arquivo);\r\n this.dataSourceResposta.data.splice(index, 1);\r\n\r\n this.dataSourceResposta.sortingDataAccessor =\r\n this.sortingDataAccessor;\r\n this.dataSourceResposta.sort =\r\n this.tabelaRespostaSort;\r\n this.dataSourceResposta.paginator =\r\n this.tabelaRespostaPaginator;\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n });\r\n } else {\r\n let index = this.dataSourceResposta.data.indexOf(arquivo);\r\n this.dataSourceResposta.data.splice(index, 1);\r\n\r\n this.dataSourceResposta.sortingDataAccessor =\r\n this.sortingDataAccessor;\r\n this.dataSourceResposta.sort = this.tabelaRespostaSort;\r\n this.dataSourceResposta.paginator =\r\n this.tabelaRespostaPaginator;\r\n }\r\n }\r\n })\r\n\r\n\t}\r\n\r\n\tpublic Download(arquivo: IArquivoModel) {\r\n this.solicitacaoService.downloadAnexo(this.model.id, arquivo.id).then((res) =>{\r\n if (res.sucesso) {\r\n const link = document.createElement(\"a\");\r\n link.href = res.dados.toString();\r\n link.download = arquivo.nomeArquivo;\r\n link.click();\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }})\r\n\t}\r\n\r\n public finalizarItem(id: number) {\r\n Swal.fire({\r\n\t\t\ttitle: \"Finalizar Registro\",\r\n\t\t\ttext: \"Confirma finalização do item?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t}).then((res) => {\r\n\t\t\tif (res.value) {\r\n this.solicitacaoService\r\n\t\t\t\t.finalizarItem(id)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}).finally(() => {\r\n this.obterPorId();\r\n });\r\n }})\r\n\t}\r\n\r\n\r\n public enviarItem(id: number) {\r\n Swal.fire({\r\n\t\t\ttitle: \"Enviar Registro\",\r\n\t\t\ttext: \"Confirma envio do item?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t}).then((res) => {\r\n\t\t\tif (res.value) {\r\n this.solicitacaoService\r\n\t\t\t\t.enviarItem(id)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t});\r\n this.dialogRef.close();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}).finally(() => {\r\n this.obterPorId();\r\n });\r\n }})\r\n\t}\r\n\r\n\tpublic delegarItem(item: IItemSolicitacaoTecnicaModel) {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component-delegar\";\r\n dialogConfig.width = \"45vw\";\r\n dialogConfig.height = 'auto';\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = {\r\n\t\t\titem: item,\r\n\t\t};\r\n\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tModalDelegarItemComponent,\r\n\t\t\tdialogConfig\r\n\t\t);modal.afterClosed().subscribe((data) => {\r\n this.obterPorId();\r\n });\r\n\t}\r\n\r\n\tpublic sortingDataAccessor = (item, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"arquivo\":\r\n\t\t\t\treturn item.nomeArquivo;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n\tpublic salvar() {\r\n\t\tthis.respostaItemModel.anexos = this.dataSourceResposta?.data;\r\n\r\n\t\tif (!this.respostaItemModel.descricao) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\ttimer: 5000,\r\n\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\ticon: \"warning\",\r\n\t\t\t\ttext: \"Informe a descrição da resposta!\",\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.solicitacaoService\r\n\t\t\t.salvarItemResposta(this.model.id, this.respostaItemModel)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.dialogRef.close();\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic getBase64(file) {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tvar reader = new FileReader();\r\n\t\t\treader.readAsDataURL(file);\r\n\t\t\treader.onload = function () {\r\n\t\t\t\tresolve(reader.result);\r\n\t\t\t};\r\n\t\t\treader.onerror = function (error) {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\ttext:\r\n\t\t\t\t\t\t\"Ocorreu um erro ao selecionar o arquivo\" +\r\n\t\t\t\t\t\terror.toString(),\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t});\r\n\t}\r\n\r\n\tpublic downloadAnexoResposta(arquivo: IArquivoRespostaModel) {\r\n\t\tthis.solicitacaoService\r\n\t\t\t.downloadArquivoRespostaItem(arquivo)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tconst link = document.createElement(\"a\");\r\n\t\t\t\t\tlink.href = res.dados;\r\n\t\t\t\t\tlink.download = arquivo.nomeArquivo;\r\n\t\t\t\t\tlink.click();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic fechar() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n}\r\n","\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ tituloPagina }}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tUnidade(s) Gestora(s)\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ element?.siglaUg }} -\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ element?.nomeUg }}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tResponsável\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ element?.nomeAuditor }}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t 0\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\tNenhum registro encontrado\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tNº do Item\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t-\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\telement.numero\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tTitulo\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element?.titulo }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tDescrição\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element?.descricao }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tResponsável Delegado\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\telement?.nomeAuditor\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t-\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tStatus\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t-\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\telement?.status?.descricao\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\telement?.status?.descricao\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\telement?.status?.descricao\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tEnviado\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\telement?.status?.descricao\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\telement?.status?.descricao\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tAção\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tNenhum registro encontrado.\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tProrrogar Prazo\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t Cancelar\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t Sair\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n","import { ModalJustificativaComponent } from './../../../shared/components/modal-justificativa/modal-justificativa.component';\r\nimport { AfterViewInit, Component, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { IItemSolicitacaoTecnicaModel } from \"src/app/models/item-solicitacao-tecnica.model\";\r\nimport { ISolicitacaoTecnicaModel, ISolicitacaoTecnicaUnidadeGestoraModel } from \"src/app/models/solicitacao-tecnica.model\";\r\nimport { SolicitacaoTecnicaService } from \"src/app/services/solicitacao-tecnica.service\";\r\nimport { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { ModalItemSolicitacaoComponent } from \"../modal-item-solicitacao/modal-item-solicitacao.component\";\r\nimport Swal from 'sweetalert2';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n\tswitch (property) {\r\n\t\tcase \"numero\":\r\n\t\t\treturn item?.numero;\r\n\t\tcase \"titulo\":\r\n\t\t\treturn item?.titulo;\r\n\t\tcase \"descricao\":\r\n\t\t\treturn item?.descricao;\r\n\t\tcase \"responsavelDelegado\":\r\n\t\t\treturn item?.nomeAuditor;\r\n\t\tcase \"status\":\r\n\t\t\treturn item?.status?.descricao;\r\n\t\tcase \"ug\":\r\n\t\t\treturn item?.siglaUg;\r\n\t\tcase \"responsavel\":\r\n\t\t\treturn item?.nomeAuditor;\r\n\r\n\t\tdefault:\r\n\t\t\treturn item[property];\r\n\t}\r\n}\r\n@Component({\r\n\tselector: \"app-solicitacao-tecnica-form\",\r\n\ttemplateUrl: \"./solicitacao-tecnica-form.component.html\",\r\n})\r\nexport class SolicitacaoTecnicaFormComponent\r\n\textends BaseFormComponent\r\n\timplements OnInit, AfterViewInit\r\n{\r\n\tpublic tituloPagina = \"\";\r\n\tpublic responder = false;\r\n public semDadosItens = true;\r\n\tpublic selectedModel: any;\r\n\tpublic pageEvent: any;\r\n public itensSolicitacaoDataSource =\r\n\t\tnew MatTableDataSource([]);\r\n public dataSourceUG =\r\n new MatTableDataSource([]);\r\n\r\n\tpublic model: ISolicitacaoTecnicaModel = {} as ISolicitacaoTecnicaModel;\r\n\tpublic displayedColumnsItems: string[] = [\r\n\t\t\"numero\",\r\n\t\t\"titulo\",\r\n\t\t\"descricao\",\r\n \"responsavelDelegado\",\r\n\t\t\"status\",\r\n\t\t\"actions\",\r\n\t];\r\n\r\n\tconstructor(\r\n\t\troute: ActivatedRoute,\r\n\t\ttoastr: ToastrService,\r\n\t\trouter: Router,\r\n\t\tlocaleService: BsLocaleService,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate solicicataoTecnicaService: SolicitacaoTecnicaService\r\n\t) {\r\n\t\tsuper(route, toastr, router, localeService, matDialog);\r\n\t}\r\n\r\n\r\n @ViewChild(\"TableOnePaginator\", { static: true })\r\n\ttableOnePaginator: MatPaginator;\r\n\t@ViewChild(\"tabela1\", { static: true }) tabela1: MatSort;\r\n\r\n @ViewChild(\"TableTwoPaginator\", { static: true })\r\n\ttableTwoPaginator: MatPaginator;\r\n\t@ViewChild(\"tabela2\", { static: true }) tabela2: MatSort;\r\n\r\n\r\n\tngOnInit(): void {\r\n\t\tconst path = this.route.snapshot.routeConfig.path?.toString();\r\n\t\tif (path?.endsWith(\"responder\")) {\r\n\t\t\tthis.tituloPagina = \"Responder Solicitação Técnica\";\r\n\t\t\tthis.responder = true;\r\n\t\t}\r\n\t\tif (path?.endsWith(\"visualizar\")) {\r\n this.visualizar = true\r\n\t\t}\r\n\r\n\t\tthis.obterSolicitacaoTecnica();\r\n\t}\r\n\r\n ngAfterViewInit(): void {\r\n this.itensSolicitacaoDataSource.paginator = this.tableTwoPaginator;\r\n this.itensSolicitacaoDataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.itensSolicitacaoDataSource.sort = this.tabela2\r\n\r\n this.dataSourceUG.paginator = this.tableOnePaginator;\r\n this.dataSourceUG.sort = this.tabela1;\r\n this.dataSourceUG.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n\r\n\tpublic obterSolicitacaoTecnica() {\r\n\t\tthis.solicicataoTecnicaService\r\n\t\t\t.obterPorId(this.id)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.model = res.dados;\r\n\t\t\t\tif(this.visualizar)\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.tituloPagina = \"Visualizar Solicitação Técnica - \" + (this.model.numero ? this.model.numero : \"\");\r\n\t\t\t\t}\r\n\t\t\t\tthis.itensSolicitacaoDataSource = new MatTableDataSource(\r\n\t\t\t\t\tres.dados.item\r\n\t\t\t\t);\r\n this.dataSourceUG.data = res.dados.solicitacaoTecnicaUgResponsavel\r\n\r\n this.itensSolicitacaoDataSource.paginator = this.tableTwoPaginator;\r\n this.itensSolicitacaoDataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.itensSolicitacaoDataSource.sort = this.tabela2\r\n\r\n this.dataSourceUG.paginator = this.tableOnePaginator;\r\n\t\t this.dataSourceUG.sort = this.tabela1;\r\n\t\t this.dataSourceUG.sortingDataAccessor = sortingDataAccessor;\r\n\r\n\t\t\t\tthis.semDadosItens =\r\n\t\t\t\t\tthis.itensSolicitacaoDataSource.filteredData.length === 0;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem?.descricao);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic async visualizarItem(id: number) {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component-resposta\";\r\n\t\tdialogConfig.width = \"60%\";\r\n\t\tdialogConfig.height = \"80%\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = false;\r\n\t\tdialogConfig.data = {\r\n\t\t\ttitulo: \"Visualizar Item de Solicitação\",\r\n\t\t\tid: id,\r\n\t\t\tsolicitacaoTecnicaId: this.id,\r\n numeroSolicitacao: this.model?.numero,\r\n visualizar: true\r\n\t\t};\r\n\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tModalItemSolicitacaoComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n\t}\r\n\r\n\tpublic responderItem(id: number) {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component-resposta\";\r\n\t\tdialogConfig.width = \"60%\";\r\n\t\tdialogConfig.height = \"90vh\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = {\r\n\t\t\ttitulo: \"Visualizar Item de Solicitação\",\r\n\t\t\tid: id,\r\n\t\t\tsolicitacaoTecnicaId: this.id,\r\n\t\t\tresponder: this.responder,\r\n numeroSolicitacao: this.model?.numero,\r\n visualizar: false\r\n\t\t};\r\n\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tModalItemSolicitacaoComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n modal.afterClosed().subscribe((data) => {\r\n this.obterSolicitacaoTecnica();\r\n });\r\n\t}\r\n\r\n \tpublic prorrogarPrazo(){\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component-prorrogar\";\r\n\t\tdialogConfig.width = '45vw';\r\n\t\tdialogConfig.maxHeight = '85vh';\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = { prorrogarPrazo: true };\r\n\r\n\t\tconst modal = this.matDialog.open(ModalJustificativaComponent, dialogConfig);\r\n\t\t\r\n\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\tif (data) {\r\n\t\t\t\tthis.processarAfterClosedModalProgrrogacaoPrazo(data);\r\n\t\t\t}\r\n\t\t});\r\n \t}\r\n\r\n\tprivate processarAfterClosedModalProgrrogacaoPrazo(data: any) {\r\n\t\tthis.solicicataoTecnicaService.prorrogarPrazo(this.id, data).then((res) => {\r\n\t\t\tif(res.sucesso) {\r\n\t\t\t\tthis.mostraMensagemSucesso(res.mensagem.descricao);\r\n\t\t\t\tthis.router.navigate([\"/solicitacao-tecnica\"]);\r\n\t\t\t} else {\r\n\t\t\t\tthis.mostraMensagemAlerta(res.mensagem.descricao);\t\t\t\t\r\n\t\t\t} \r\n\t\t}).catch((err) => {\r\n\t\t\tthis.mostraMensagemErro(err?.mensagem?.descricao);\r\n\t\t})\r\n\t}\r\n\r\n\tpublic pageChanged(e) {}\r\n\r\n\tpublic onBack() {\r\n\t\tthis.router.navigate([\"/solicitacao-tecnica\"]);\r\n\t}\r\n\r\n\tprivate mostraMensagemSucesso(descricao: string): void {\r\n\t\tSwal.fire({\r\n\t\t\ttoast: true,\r\n\t\t\tposition: \"top-end\",\r\n\t\t\ticon: \"success\",\r\n\t\t\ttext: descricao,\r\n\t\t\tshowConfirmButton: false,\r\n\t\t\ttimer: 5000,\r\n\t\t\ttimerProgressBar: true,\r\n\t\t});\t\r\n\t}\r\n\r\n\tprivate mostraMensagemAlerta(descricao: string): void {\r\n\t\tSwal.fire({\r\n\t\t\ttoast: true,\r\n\t\t\tposition: \"top-end\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\ttext: descricao,\r\n\t\t\tshowConfirmButton: false,\r\n\t\t\ttimer: 5000,\r\n\t\t\ttimerProgressBar: true,\r\n\t\t});\r\n\t}\r\n\r\n\tprivate mostraMensagemErro(descricao: string): void {\r\n\t\tSwal.fire({\r\n\t\t\ttoast: true,\r\n\t\t\tposition: \"top-end\",\r\n\t\t\ticon: \"error\",\r\n\t\t\ttext: descricao,\r\n\t\t\tshowConfirmButton: false,\r\n\t\t\ttimer: 5000,\r\n\t\t\ttimerProgressBar: true,\r\n\t\t});\r\n\t}\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Subtipo de auditoria\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
Nome da matriz {{ element.matrizPlanejamento.nome }}\r\n
\r\n \r\n \r\n
\r\n
\r\n
Nenhuma matriz de planejamento cadastrada
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\nimport { ISubtipoAuditoriaMatrizPlanejamentoModel } from 'src/app/models/subtipo-auditoria-matriz-planejamento.model';\r\nimport { SubtipoAuditoriaService } from 'src/app/services/subtipo-auditoria.service';\r\nimport { MatrizPlanejamentoService } from 'src/app/services/matriz-planejamento.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-subtipo-auditoria-form',\r\n templateUrl: './subtipo-auditoria-form.component.html',\r\n styleUrls: ['./subtipo-auditoria-form.component.scss']\r\n})\r\nexport class SubtipoAuditoriaFormComponent extends BaseFormComponent implements OnInit {\r\n public model: ISubtipoAuditoriaModel = {} as ISubtipoAuditoriaModel;\r\n public modelSubtipoAuditoriaMatrizPlanejamento: ISubtipoAuditoriaMatrizPlanejamentoModel = {} as ISubtipoAuditoriaMatrizPlanejamentoModel;\r\n public matrizPlanejamentoDataSource = new MatTableDataSource([]);\r\n public subTipoAuditoriaCancelar: boolean;\r\n\r\n public semDados = true;\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private subtipoAuditoriaService: SubtipoAuditoriaService,\r\n private matrizPlanejamentoService: MatrizPlanejamentoService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Subtipo de Auditoria';\r\n }\r\n }\r\n\r\n config: AngularEditorConfig = {\r\n editable: !this.visualizar,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n async ngOnInit() {\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.subtipoAuditoriaService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n if (this.visualizar){\r\n this.titulo = 'Visualizar Subtipo de Auditoria - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Subtipo de Auditoria - ' + this.model.nome;\r\n }\r\n\r\n // matriz planejamento\r\n this.matrizPlanejamentoDataSource = new MatTableDataSource\r\n (\r\n this.model.subtipoAuditoriaMatrizPlanejamento\r\n );\r\n this.matrizPlanejamentoDataSource._updateChangeSubscription();\r\n this.semDados = this.matrizPlanejamentoDataSource.filteredData.length === 0;\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/subtipo-auditoria']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/subtipo-auditoria']);\r\n } \r\n this.state();\r\n this.form.patchValue(this.model);\r\n }\r\n\r\n public state() {\r\n // Subtipo Auditoria\r\n if (window.history.state.modelSubtipoAuditoria) {\r\n this.model = window.history.state.modelSubtipoAuditoria;\r\n }\r\n\r\n // Matriz Planejamento\r\n if (window.history.state.listaMatrizPlanejamento){\r\n this.matrizPlanejamentoDataSource = new MatTableDataSource\r\n (\r\n window.history.state.listaMatrizPlanejamento\r\n );\r\n this.matrizPlanejamentoDataSource._updateChangeSubscription();\r\n this.semDados = this.matrizPlanejamentoDataSource.filteredData.length === 0;\r\n }\r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean = false) {\r\n if (this.form.invalid) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Formulário invalido',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n this.submit = true;\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n this.model.subtipoAuditoriaMatrizPlanejamento = this.matrizPlanejamentoDataSource.data;\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.subtipoAuditoriaService.atualizar(this.model);\r\n } else {\r\n res = await this.subtipoAuditoriaService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (salvarEFechar) {\r\n this.router.navigate(['/subtipo-auditoria']);\r\n }else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/subtipo-auditoria/${res.dados.id}/edicao`]);\r\n await this.ngOnInit();\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public async exibirModalMatrizPlanejamento() {\r\n this.subTipoAuditoriaCancelar = true;\r\n try {\r\n const res = await this.matrizPlanejamentoService.obter('', true);\r\n if (res.sucesso) {\r\n const dadosFiltrados = res.dados.filter(questao => questao.ativo);\r\n const modal = this.exibirModal('Selecionar Matriz de planejamento', dadosFiltrados);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.modelSubtipoAuditoriaMatrizPlanejamento.matrizPlanejamentoId = data.id;\r\n this.modelSubtipoAuditoriaMatrizPlanejamento.matrizPlanejamento = data;\r\n }\r\n }\r\n );\r\n } else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n }\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n }\r\n }\r\n\r\n public incluirMatrizPlanejamento() {\r\n if (this.matrizPlanejamentoDataSource.data.findIndex(a => a.matrizPlanejamentoId === this.modelSubtipoAuditoriaMatrizPlanejamento.matrizPlanejamentoId) >= 0) {\r\n this.toastr.warning('Matriz de planejamento já cadastrada nesse subtipo de auditoria', 'Atenção');\r\n return;\r\n }\r\n\r\n this.matrizPlanejamentoDataSource.data.push(cloneDeep(this.modelSubtipoAuditoriaMatrizPlanejamento));\r\n this.matrizPlanejamentoDataSource._updateChangeSubscription();\r\n this.modelSubtipoAuditoriaMatrizPlanejamento = {} as ISubtipoAuditoriaMatrizPlanejamentoModel;\r\n this.semDados = false;\r\n }\r\n\r\n public excluirMatrizPlanejamento(ind: number) {\r\n this.matrizPlanejamentoDataSource.data.splice(ind, 1);\r\n this.matrizPlanejamentoDataSource._updateChangeSubscription();\r\n this.semDados = this.matrizPlanejamentoDataSource.filteredData.length === 0;\r\n }\r\n\r\n public visualizarMatrizPlanejamento(ind: number) {\r\n this.subTipoAuditoriaCancelar = true;\r\n this.atualizarModel(this.form.value);\r\n this.router.navigate([`/matriz-planejamento/${ind}/visualizar`], {\r\n state: {\r\n modelSubtipoAuditoria: this.model,\r\n listaMatrizPlanejamento: this.matrizPlanejamentoDataSource.data,\r\n rotaPrefixoSubtipoAuditoria: `/subtipo-auditoria/${this.id !== undefined ? this.id + '/' : ''}${this.prefixo}`\r\n },\r\n });\r\n }\r\n\r\n public async cadastroRapidoMatrizPlanejamento() {\r\n this.subTipoAuditoriaCancelar = true;\r\n this.atualizarModel(this.form.value);\r\n this.router.navigate([`/matriz-planejamento/novo`], {\r\n state: {\r\n modelSubtipoAuditoria: this.model,\r\n listaMatrizPlanejamento: this.matrizPlanejamentoDataSource.data,\r\n rotaPrefixoSubtipoAuditoria: `/subtipo-auditoria/${this.id !== undefined ? this.id + '/' : ''}${this.prefixo}`\r\n },\r\n });\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/subtipo-auditoria']);\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate(['/subtipo-auditoria']);\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { SubtipoAuditoriaService } from 'src/app/services/subtipo-auditoria.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-subtipo-auditoria-list',\r\n templateUrl: './subtipo-auditoria-list.component.html',\r\n styleUrls: ['./subtipo-auditoria-list.component.scss']\r\n})\r\nexport class SubtipoAuditoriaListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ISubtipoAuditoriaModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private subtipoAuditoriaService: SubtipoAuditoriaService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/subtipo-auditoria/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.subtipoAuditoriaService\r\n .obter(this.searchNome, this.searchAtivo, true)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.subtipoAuditoriaService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Subtipo de Auditoria reativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.subtipoAuditoriaService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Subtipo de Auditoria inativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/subtipo-auditoria/${id}/edicao`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public excluir(id: number) {\r\n this.subtipoAuditoriaService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Subtipo de Auditoria excluído com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/subtipo-auditoria/${id}/visualizar`]);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Subtipos de Auditoria
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Subtipos de Auditoria\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Nome {{element.nome}} Descrição {{element.descricao}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Técnica de Auditoria\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ITecnicaAuditoriaModel } from 'src/app/models/tecnica-auditoria.model';\r\nimport { TecnicaAuditoriaService } from 'src/app/services/tecnica-auditoria.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-tecnica-auditoria-form',\r\n templateUrl: './tecnica-auditoria-form.component.html',\r\n styleUrls: ['./tecnica-auditoria-form.component.scss']\r\n})\r\nexport class TecnicaAuditoriaFormComponent extends BaseFormComponent implements OnInit {\r\n public model: ITecnicaAuditoriaModel = {} as ITecnicaAuditoriaModel;\r\n public auditoresDataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public salvar: boolean;\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private tecnicaAuditoriaService: TecnicaAuditoriaService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Nova Técnica de Auditoria';\r\n } \r\n }\r\n\r\n\r\n config: AngularEditorConfig = {\r\n editable: !this.visualizar,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n async ngOnInit() {\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.tecnicaAuditoriaService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n \r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Técnica de Auditoria - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Técnica de Auditoria - ' + this.model.nome;\r\n } \r\n \r\n\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/tecnica-auditoria']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/tecnica-auditoria']);\r\n }\r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean = false) {\r\n this.salvar = true\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.tecnicaAuditoriaService.atualizar(this.model);\r\n } else {\r\n res = await this.tecnicaAuditoriaService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (salvarEFechar) {\r\n this.router.navigate(['/tecnica-auditoria']);\r\n }else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/tecnica-auditoria/${res.dados.id}`]);\r\n await this.ngOnInit();\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/tecnica-auditoria']);\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { ITecnicaAuditoriaModel } from 'src/app/models/tecnica-auditoria.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { TecnicaAuditoriaService } from 'src/app/services/tecnica-auditoria.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-tecnica-auditoria-list',\r\n templateUrl: './tecnica-auditoria-list.component.html',\r\n styleUrls: ['./tecnica-auditoria-list.component.scss']\r\n})\r\nexport class TecnicaAuditoriaListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ITecnicaAuditoriaModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private tecnicaAuditoriaService: TecnicaAuditoriaService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n\r\n public novo() {\r\n this.router.navigate(['/tecnica-auditoria/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.tecnicaAuditoriaService\r\n .obter(this.searchNome, this.searchAtivo, false)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.tecnicaAuditoriaService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Técnica de auditoria reativada com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.tecnicaAuditoriaService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Técnica de auditoria inativada com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/tecnica-auditoria/${id}`]);\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/tecnica-auditoria/${id}/visualizar`]);\r\n }\r\n\r\n public excluir(id: number) {\r\n this.tecnicaAuditoriaService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Técnica de auditoria excluída com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel !== item ? item : null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Técnicas de Auditoria
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Técnicas de Auditoria\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Técnica Auditoria {{element.nome}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Sem dados a exibir
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial \r\n
  2. \r\n
  3. \r\n Tipos de Auditoria\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\" \r\n maxlength=\"4\" id=\"quantidadeMembros\" class=\"form-control form-control-sm text-right\"\r\n formControlName=\"quantidadeMembros\"\r\n [ngClass]=\"{ 'is-invalid': f.submitted && form.controls['quantidadeMembros'].invalid }\" />\r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Campo obrigatório
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\" maxlength=\"4\"\r\n id=\"qtdDiasPlanejamento\" class=\"form-control form-control-sm text-right\"\r\n formControlName=\"qtdDiasPlanejamento\"\r\n (change)=\"calcularTotalDias()\"\r\n [ngClass]=\"{ 'is-invalid': f.submitted && form.controls['qtdDiasPlanejamento'].invalid }\" />\r\n
\r\n
Informar uma quantidade de dias válida
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\" maxlength=\"4\" id=\"qtdDiasExecucao\" class=\"form-control form-control-sm text-right\"\r\n formControlName=\"qtdDiasExecucao\"\r\n (change)=\"calcularTotalDias()\"\r\n [ngClass]=\"{ 'is-invalid': f.submitted && form.controls['qtdDiasExecucao'].invalid }\" />\r\n
\r\n
Informar uma quantidade de dias válida
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ITipoAuditoriaModel } from 'src/app/models/tipo-auditoria.model';\r\nimport { CoordenacaoService } from 'src/app/services/coordenacao.service';\r\nimport { TipoAuditoriaService } from 'src/app/services/tipo-auditoria.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-tipo-auditoria-form',\r\n templateUrl: './tipo-auditoria-form.component.html',\r\n styleUrls: ['./tipo-auditoria-form.component.scss']\r\n})\r\nexport class TipoAuditoriaFormComponent extends BaseFormComponent implements OnInit {\r\n public model: ITipoAuditoriaModel = {} as ITipoAuditoriaModel;\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n quantidadeDias: new FormControl({ readonly: true }),\r\n qtdDiasPlanejamento: new FormControl(null, [Validators.required, Validators.min(1)]),\r\n qtdDiasExecucao: new FormControl(null, [Validators.required, Validators.min(1)]),\r\n quantidadeMembros: new FormControl(null, Validators.required),\r\n coordenacaoId: new FormControl(null),\r\n coordenacaoNome: new FormControl('', Validators.required)\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private tipoAuditoriaService: TipoAuditoriaService,\r\n private coordenacaoService: CoordenacaoService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Tipo de Auditoria';\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.tipoAuditoriaService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Tipo de Auditoria - ' + this.model.nome;\r\n } else {\r\n this.titulo = 'Editar Tipo de Auditoria - ' + this.model.nome;\r\n }\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n this.router.navigate(['/tipos-auditoria']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem);\r\n this.router.navigate(['/tipos-auditoria']);\r\n } \r\n }\r\n\r\n public async salvarDados(salvarEFechar: boolean)\r\n {\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n\r\n this.submit = true;\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.tipoAuditoriaService.atualizar(this.model);\r\n } else {\r\n res = await this.tipoAuditoriaService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n\r\n if(salvarEFechar == true){\r\n this.router.navigate(['/tipos-auditoria']);\r\n }else{\r\n this.router.navigate([`/tipos-auditoria/${res.dados.id}`]);\r\n }\r\n \r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem);\r\n }\r\n }\r\n public async onSubmit() {\r\n \r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigate(['/tipos-auditoria']);\r\n }\r\n\r\n public async exibirModalCoordenacao() {\r\n\t\t\t\r\n try {\r\n const res = await this.coordenacaoService.obter('', true, false);\r\n if (res.sucesso) {\r\n const customFilterPredicate = (data: { sigla: string, nome: string }, filterValue: string) => {\r\n return (data.sigla || '').trim().toLowerCase().indexOf(filterValue) !== -1\r\n || (data.nome || '').trim().toLowerCase().indexOf(filterValue) !== -1;\r\n };\r\n\r\n res.dados.sort((a, b) => a['nome'].localeCompare(b['nome']));\r\n const modal = this.exibirModal(\r\n 'Selecionar Coordenação', \r\n res.dados,\r\n false,\r\n [\r\n { columnDef: 'selecao',\r\n header:''\r\n },\r\n {\r\n columnDef: 'nome',\r\n header: 'Nome'\r\n },\r\n {\r\n columnDef: 'sigla',\r\n header: 'Sigla'\r\n }],\r\n customFilterPredicate,\r\n 10);\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n this.model.coordenacao = data;\r\n this.form.controls['coordenacaoId'].setValue(data.id);\r\n }\r\n });\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n\r\n public calcularTotalDias() {\r\n const total = Number(this.form.controls['qtdDiasPlanejamento'].value == null ? 0 : this.form.controls['qtdDiasPlanejamento'].value)\r\n + Number(this.form.controls['qtdDiasExecucao'].value == null ? 0 : this.form.controls['qtdDiasExecucao'].value);\r\n\r\n this.form.controls['quantidadeDias'].setValue(total);\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { ITipoAuditoriaModel } from 'src/app/models/tipo-auditoria.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { TipoAuditoriaService } from 'src/app/services/tipo-auditoria.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'nome': return item.nome.trim().toLowerCase(); \r\n case 'sigla':\r\n return item.coordenacao.sigla.trim().toLowerCase();\r\n default:\r\n return item[property];\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-tipo-auditoria-list',\r\n templateUrl: './tipo-auditoria-list.component.html',\r\n styleUrls: ['./tipo-auditoria-list.component.scss']\r\n})\r\nexport class TipoAuditoriaListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ITipoAuditoriaModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'quantidadeMembros', 'quantidadeDias', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private tipoAuditoriaService: TipoAuditoriaService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/tipos-auditoria/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.tipoAuditoriaService\r\n .obter(this.searchNome, this.searchAtivo, false)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.tipoAuditoriaService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro reativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.tipoAuditoriaService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro inativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .catch((err) => {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/tipos-auditoria/${id}`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public excluir(id: number) {\r\n this.tipoAuditoriaService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Tipo auditoria excluído com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/tipos-auditoria/${id}/visualizar`]);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Tipos de Auditoria
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Tipos de Auditoria\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Nome {{element.nome}} Sigla da Coordenação {{element.coordenacao?.sigla}} Quant. de Membros {{element.quantidadeMembros}} Quant. Dias por Auditoria {{element.quantidadeDias}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum Registro Encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Tipos de Critério\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ITipoCriterioModel } from 'src/app/models/tipo-criterio.model';\r\nimport { TipoCriterioService } from 'src/app/services/tipo-criterio.service';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\n\r\n@Component({\r\n selector: 'app-tipo-criterio-form',\r\n templateUrl: './tipo-criterio-form.component.html',\r\n styleUrls: ['./tipo-criterio-form.component.scss'],\r\n})\r\nexport class TipoCriterioFormComponent extends BaseFormComponent implements OnInit {\r\n public model: ITipoCriterioModel = {} as ITipoCriterioModel;\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private tipoCriterioService: TipoCriterioService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Tipo de Critério';\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.tipoCriterioService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Tipo de Critério - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Tipo de Critério - ' + this.model.nome;\r\n }\r\n } else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/tipos-criterio']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n this.router.navigate(['/tipos-criterio']);\r\n } \r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean = false) {\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n\r\n this.submit = true;\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.tipoCriterioService.atualizar(this.model);\r\n } else {\r\n res = await this.tipoCriterioService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso == false) \r\n {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n return; \r\n } \r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 15000,\r\n timerProgressBar: true,\r\n icon: 'success',\r\n text: res.mensagem.descricao\r\n });\r\n if (salvarEFechar) {\r\n this.router.navigate(['/tipos-criterio']);\r\n } else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/tipos-criterio/${res.dados.id}`]);\r\n await this.ngOnInit();\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n }\r\n }\r\n catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 15000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n text: err.mensagem.descricao\r\n });\r\n } \r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigate(['/tipos-criterio']);\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate(['/tipo-criterio']);\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { ITipoCriterioModel } from 'src/app/models/tipo-criterio.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { TipoCriterioService } from 'src/app/services/tipo-criterio.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-tipo-criterio-list',\r\n templateUrl: './tipo-criterio-list.component.html',\r\n styleUrls: ['./tipo-criterio-list.component.scss'],\r\n})\r\nexport class TipoCriterioListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ITipoCriterioModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private tipoCriterioService: TipoCriterioService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n\r\n public novo() {\r\n if (this.permissoes.incluir) {\r\n this.router.navigate(['/tipos-criterio/novo']);\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 15000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n title: 'Erro',\r\n text: 'Você não tem permissão para realizar esta ação.',\r\n });\r\n }\r\n }\r\n\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n \r\n this.tipoCriterioService\r\n .obter(this.searchNome, this.searchAtivo, true)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 15000,\r\n timerProgressBar: true,\r\n icon: 'success',\r\n title: 'Atenção',\r\n text: err.mensagem.descricao,\r\n });\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n if (!this.permissoes.inativarReativar) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 15000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n title: 'Erro',\r\n text: 'Você não tem permissão para realizar esta ação.',\r\n });\r\n return;\r\n }\r\n\r\n this.tipoCriterioService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 15000,\r\n timerProgressBar: true,\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n });\r\n } else {\r\n {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n }\r\n })\r\n .catch((err) => {\r\n {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 15000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n });\r\n }\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n if (this.permissoes.inativarReativar) {\r\n this.tipoCriterioService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 15000,\r\n timerProgressBar: true,\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n });\r\n } else {\r\n {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n }\r\n }\r\n })\r\n .catch((err) => {\r\n {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n });\r\n }\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: 'Você não tem permissão para inativar/reativar este item.',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n });\r\n }\r\n }\r\n\r\n public editar(id: number) {\r\n if (this.permissoes.editar) {\r\n this.router.navigate([`/tipos-criterio/${id}`]);\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: 'Você não tem permissão para editar este item.',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n });\r\n }\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel =\r\n !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public visualizar(id: number) {\r\n if (this.permissoes.visualizar) {\r\n this.router.navigate([`/tipos-criterio/${id}/visualizar`]);\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: 'Você não tem permissão para visualizar este item.',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n });\r\n }\r\n }\r\n\r\n public excluir(id: number) {\r\n if (this.permissoes.excluir) {\r\n this.tipoCriterioService\r\n .excluirTipoCriterio(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 15000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 3000,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: 'Você não tem permissão para excluir este item.',\r\n showConfirmButton: false,\r\n timer: 3000,\r\n });\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Tipos de Critério
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Tipos de Critério\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Nome {{element.nome}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Tipos de Dispensa\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n \r\n = 48 && event.charCode <= 57\" formControlName=\"quantidadeDiasPadrao\" data-inputmask=\"'alias': 'integer'\" inputmode=\"numeric\"\r\n [ngClass]=\"{ 'is-invalid': f.submitted &&\r\n form.controls['quantidadeDiasPadrao'].invalid }\" />\r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ITipoDispensaModel } from 'src/app/models/tipo-dispensa.model';\r\nimport { TipoDispensaService } from 'src/app/services/tipo-dispensa.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-tipo-dispensa-form',\r\n templateUrl: './tipo-dispensa-form.component.html',\r\n styleUrls: ['./tipo-dispensa-form.component.scss']\r\n})\r\nexport class TipoDispensaFormComponent extends BaseFormComponent implements OnInit {\r\n public model: ITipoDispensaModel = {} as ITipoDispensaModel;\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n quantidadeDiasPadrao: new FormControl(null, Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private tipoDispensaService: TipoDispensaService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Tipo de Dispensa';\r\n } \r\n }\r\n\r\n async ngOnInit() {\r\n\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.tipoDispensaService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n if (this.visualizar){\r\n this.titulo = 'Visualizar Tipo de Dispensa - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Tipo de Dispensa - ' + this.model.nome;\r\n }\r\n\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/tipos-dispensa']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/tipos-dispensa']);\r\n }\r\n }\r\n\r\n public async onSubmit() {\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n this.submit = true;\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.tipoDispensaService.atualizar(this.model);\r\n } else {\r\n res = await this.tipoDispensaService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/tipos-dispensa']);\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } \r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/tipos-dispensa']);\r\n }\r\n \r\n public cancelar() {\r\n this.router.navigate(['/tipos-dispensa']);\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { ITipoDispensaModel } from 'src/app/models/tipo-dispensa.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { TipoDispensaService } from 'src/app/services/tipo-dispensa.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'quantDiasPadrao':\r\n return item.quantidadeDiasPadrao;\r\n case 'nome': return item.nome.trim().toLowerCase();\r\n default:\r\n return item[property];\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-tipo-dispensa-list',\r\n templateUrl: './tipo-dispensa-list.component.html',\r\n styleUrls: ['./tipo-dispensa-list.component.scss']\r\n})\r\nexport class TipoDispensaListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ITipoDispensaModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'quantDiasPadrao', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private tipoDispensaService: TipoDispensaService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/tipos-dispensa/novo']);\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.tipoDispensaService\r\n .obter(this.searchNome, this.searchAtivo, true)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.tipoDispensaService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Tipo de dispensa reativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.tipoDispensaService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Tipo de dispensa inativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/tipos-dispensa/${id}`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public excluir(id: number) {\r\n this.tipoDispensaService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Tipo de Dispensa excluído com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/tipos-dispensa/${id}/visualizar`]);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Tipos de Dispensa
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Tipos de Dispensa\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Nome {{element.nome}} Quant. dias Padrão {{element.quantidadeDiasPadrao}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Tipos de Ênfase\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ITipoEnfaseModel } from 'src/app/models/tipo-enfase.model';\r\nimport { TipoEnfaseService } from 'src/app/services/tipo-enfase.service';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-tipo-enfase-form',\r\n templateUrl: './tipo-enfase-form.component.html',\r\n styleUrls: ['./tipo-enfase-form.component.scss']\r\n})\r\nexport class TipoEnfaseFormComponent extends BaseFormComponent implements OnInit {\r\n public model: ITipoEnfaseModel = {} as ITipoEnfaseModel;\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required)\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private tipoEnfaseService: TipoEnfaseService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Tipo de ênfase';\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.tipoEnfaseService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n if (this.visualizar){\r\n this.titulo = 'Visualizar Tipo de ênfase - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Tipo de ênfase - ' + this.model.nome;\r\n }\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/tipo-enfase']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/tipo-enfase']);\r\n }\r\n }\r\n\r\n public async salvarDados(salvarEFechar: boolean){\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n this.submit = true;\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.tipoEnfaseService.atualizar(this.model);\r\n } else {\r\n res = await this.tipoEnfaseService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if(salvarEFechar == true)\r\n this.router.navigate(['/tipo-enfase']);\r\n else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/tipo-enfase/${res.dados.id}`]);\r\n await this.ngOnInit();\r\n }\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } \r\n\r\n }\r\n\r\n public async onSubmit() {\r\n this.salvarDados(false);\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/tipo-enfase']);\r\n }\r\n \r\n public cancelar() {\r\n this.router.navigate(['/tipo-enfase']);\r\n }\r\n}\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { ITipoEnfaseModel } from 'src/app/models/tipo-enfase.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { TipoEnfaseService } from 'src/app/services/tipo-enfase.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'quantDiasPadrao':\r\n return item.quantidadeDiasPadrao;\r\n case 'nome': return item.nome.trim().toLowerCase(); \r\n default:\r\n return item[property];\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-tipo-enfase-list',\r\n templateUrl: './tipo-enfase-list.component.html',\r\n styleUrls: ['./tipo-enfase-list.component.scss']\r\n})\r\nexport class TipoEnfaseListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ITipoEnfaseModel;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n public filtro = {} as FiltroModel;\r\n public totalItens: number;\r\n public pageEvent: any;\r\n\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private tipoEnfaseService: TipoEnfaseService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n this.buscar();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Visualizar);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.configurarFiltro();\r\n this.buscar();\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n\r\n public novo() {\r\n this.router.navigate(['/tipo-enfase/novo']);\r\n }\r\n\r\n public atualizarFiltroStatus(valor) {\r\n this.filtro = {} as FiltroModel;\r\n this.searchAtivo = valor;\r\n this.buscar();\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n this.filtro.pesquisa = this.searchNome;\r\n this.tipoEnfaseService\r\n .obter(this.filtro)\r\n .then((res) => {\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.totalItens = res.dados.totalItens;\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n this.configurarFiltro();\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.tipoEnfaseService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Tipo de ênfase reativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.tipoEnfaseService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Tipo de ênfase inativado com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.router.navigate([`/tipo-enfase/${id}`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public excluir(id: number) {\r\n this.tipoEnfaseService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Tipo de ênfase excluído com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`/tipo-enfase/${id}/visualizar`]);\r\n }\r\n\r\n private configurarFiltro() {\r\n debugger\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.colunaOrder = this.sort.active;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.pesquisa = this.searchNome;\r\n this.filtro.direcao = this.sort.direction;\r\n }\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n}\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Tipos de Ênfase
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Tipos de Ênfase\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Nome {{element.nome}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ITipoUniversoItemModel } from 'src/app/models/tipo-universo.model';\r\n\r\n@Component({\r\n selector: 'app-modal-tipo-universo-item-descricao',\r\n templateUrl: './modal-tipo-universo-item-descricao.component.html',\r\n})\r\nexport class ModalTipoUniversoItemDescricaoComponent implements OnInit {\r\n\r\n public titulo: string = \"\";\r\n public model = {} as ITipoUniversoItemModel;\r\n\r\n constructor(\r\n public matDialog: MatDialog,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.data = data;\r\n\r\n this.model = data.item as ITipoUniversoItemModel;\r\n\r\n if(this.model.nome && this.model.nome != \"\"){\r\n this.titulo += \"Editar \";\r\n }else{\r\n this.titulo += \"Incluir \";\r\n }\r\n\r\n this.titulo += this.model.tipoDescription;\r\n\r\n this.model.idUGAnterior = this.model.idUG;\r\n\r\n }\r\n\r\n public data = {} as any;\r\n ngOnInit(): void { }\r\n\r\n public onChangeNome(event){\r\n this.model.nome = event.target.value;\r\n }\r\n\r\n Confirmar() {\r\n let data = {\r\n item: this.model,\r\n indx: this.data.indx\r\n };\r\n\r\n this.dialogRef.close(data);\r\n }\r\n\r\n Cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n

{{titulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Nome\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
","
\r\n \r\n
\r\n
{{titulo}}
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Classificação do Tipo\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n Unidade Gestora\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
#NomeTipo EntradaAções
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{ subTipo?.ordemExibicao }}\r\n
\r\n \r\n \r\n {{ subTipo?.nome }} \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{ subTipo?.tipoDescription }}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Nenhum item cadastrado\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n","import { Component, Inject, NgModule, OnInit, ViewChild } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TipoUniversoService } from 'src/app/services/tipo-universo.service';\r\nimport { ITipoUniversoItemModel, ITipoUniversoModel } from 'src/app/models/tipo-universo.model';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { MatTable, MatTableDataSource, MatTableModule } from '@angular/material/table';\r\nimport { ITipoUniversoUGModel } from 'src/app/models/tipo-universo.model';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { ModalTipoUniversoItemDescricaoComponent } from './modal-tipo-universo-item-descricao/modal-tipo-universo-item-descricao.component';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport Swal from 'sweetalert2';\r\n\r\n\r\n@Component({\r\n selector: 'app-modal-tipo-universo-item',\r\n templateUrl: './modal-tipo-universo-item.component.html',\r\n styleUrls: ['./modal-tipo-universo-item.component.scss']\r\n })\r\n export class ModalTipoUniversoItemComponent extends BaseFormComponent implements OnInit{\r\n \r\n public model : ITipoUniversoUGModel = {} as ITipoUniversoUGModel;\r\n public dataSource = new MatTableDataSource([]);\r\n public displayedColumns = ['ug', 'valor'];\r\n public titulo = \"Editar SubTipo de Universo Auditável\";\r\n public tipoDescription = \"\";\r\n public nomeUG = \"\";\r\n public semDados: boolean;\r\n public idsUgsExistentes = [];\r\n public idClassificacaoTipo: number;\r\n public alterou: boolean;\r\n \r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n router: Router,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n public matDialog: MatDialog,\r\n private tipoUniversoService: TipoUniversoService,\r\n private unidadeGestoraService: UnidadeGestoraService\r\n \r\n ) { \r\n super(route, toastr, router, localeService, matDialog); \r\n\r\n \r\n this.model.idTipoUniversoAuditavel = data.idTipoUniverso;\r\n this.idClassificacaoTipo = data.idClassificacaoTipo;\r\n this.tipoDescription = data.tipoDescription;\r\n this.nomeUG = data.nomeUG;\r\n this.visualizar = data.visualizar;\r\n this.model.idUG = data.idUG;\r\n if(this.data.idsUgsExistentes){\r\n this.idsUgsExistentes = this.data.idsUgsExistentes;\r\n }\r\n \r\n if(!data.idUG && this.idClassificacaoTipo == 2){\r\n this.titulo = \"Incluir SubTipo de Universo Auditável\";\r\n }\r\n\r\n if(this.visualizar){\r\n this.titulo = 'Visualizar SubTipo de Universo Auditável';\r\n }\r\n\r\n this.buscarItens(data.idTipoUniverso, data.idUG);\r\n }\r\n\r\nasync ngOnInit() {\r\n \r\n}\r\n\r\npublic async buscarItens(idTipoUniverso: number, idUG: number){\r\n\r\n if(idTipoUniverso){\r\n\r\n const res = await this.tipoUniversoService.obterItens(idTipoUniverso, idUG);\r\n if(res.sucesso){\r\n this.model = res.dados;\r\n this.semDados = this.model.itens.length == 0;\r\n if(this.semDados){\r\n this.novoRegistro = true;\r\n }else{\r\n this.novoRegistro = false;\r\n }\r\n this.reordenar();\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n this.dialogRef.close();\r\n }\r\n\r\n }\r\n\r\n}\r\n\r\npublic async concluir(salvarEFechar: boolean){\r\n this.submit = true;\r\n\r\n if(this.novoRegistro){\r\n \r\n if(!this.model.itens || this.model.itens.length == 0){\r\n this.exibirMensagemErro(\"É necessário incluir pelo menos 1 subtipo para salvar.\")\r\n return;\r\n }\r\n\r\n if(this.idClassificacaoTipo == 2 && !this.model.idUG){\r\n return;\r\n }\r\n\r\n this.tipoUniversoService.inserirItens(this.model)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.alterou = false;\r\n if(salvarEFechar){\r\n this.dialogRef.close(true);\r\n }else{\r\n this.model = res.dados;\r\n this.novoRegistro = false;\r\n }\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch(err => this.exibirMensagemErro(err))\r\n \r\n }else{\r\n\r\n this.tipoUniversoService.atualizarItens(this.model)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.alterou = false;\r\n if(salvarEFechar){\r\n this.dialogRef.close(true);\r\n }\r\n \r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch(err => this.exibirMensagemErro(err))\r\n\r\n }\r\n\r\n}\r\n\r\npublic drop(event: CdkDragDrop, element: any) {\r\n\r\n}\r\n\r\npublic retornaItensArray(): ITipoUniversoItemModel[]{\r\n let itens= [] as ITipoUniversoItemModel[];\r\n\r\n this.model.itens.forEach(item => {\r\n itens.push(item);\r\n if(item.itens && item.itens.length > 0){\r\n item.itens.forEach(subItem => {\r\n itens.push(subItem);\r\n if(subItem.itens && subItem.itens.length > 0){\r\n subItem.itens.forEach(subSubItem => {\r\n itens.push(subSubItem);\r\n })\r\n }\r\n });\r\n }\r\n });\r\n\r\n return itens;\r\n}\r\n\r\npublic reordenar(){\r\n this.model.itens.forEach((item, idx) => {\r\n item.ordem = (idx + 1);\r\n item.ordemExibicao = `1.${item.ordem.toString()}`;\r\n if(item.itens && item.itens.length > 0){\r\n this.fnReordenacao(item);\r\n }\r\n });\r\n}\r\n\r\npublic fnReordenacao(item: ITipoUniversoItemModel){\r\n item.itens.forEach((subItem, subIdx) => {\r\n \r\n subItem.ordem = subIdx + 1;\r\n subItem.ordemExibicao = `${item.ordemExibicao}.${subItem.ordem.toString()}`\r\n if(subItem.itens && subItem.itens.length > 0){\r\n this.fnReordenacao(subItem);\r\n }\r\n });\r\n}\r\n\r\npublic exibirModalItemNovo(element: any, indx: string){\r\n\r\n\r\nlet item = {} as ITipoUniversoItemModel;\r\nitem.id = element?.id ?? 0;\r\nitem.idItemPai = element?.idItemPai ?? 0;\r\nitem.idTipoUniversoAuditavel = element?.idTipoUniversoAuditavel ?? this.model.idTipoUniversoAuditavel;\r\nitem.idUG = element?.idUG ?? this.model.idUG;\r\nitem.nome = element?.nome ?? \"\";\r\nitem.tipo = element?.tipo ?? 1;\r\n\r\nlet arrayIndices = JSON.parse(\"[\" + indx + \"]\");\r\n\r\nif(arrayIndices.length == 1 && arrayIndices[0] == null){\r\n \r\n item.tipo = 1;\r\n item.tipoDescription = element?.tipoDescription ?? \"SubTipo\";\r\n\r\n}else if(arrayIndices.length == 1 && arrayIndices[0] != null){\r\n \r\n item.tipo = 2;\r\n item.tipoDescription = element?.tipoDescription ?? \"Macroprocesso\";\r\n\r\n}else if(arrayIndices.length == 2){\r\n\r\n item.tipo = 3;\r\n item.tipoDescription = element?.tipoDescription ?? \"Processo\";\r\n\r\n}\r\n\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-descricao';\r\n dialogConfig.width = '450px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n item: item,\r\n indx: indx\r\n };\r\n\r\n const modal = this.matDialog.open(ModalTipoUniversoItemDescricaoComponent, dialogConfig);\r\n\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n \r\n let novoItem = data.item as ITipoUniversoItemModel;\r\n\r\n //NÃO HAVENDO ÍNDICE, ADICIONA-SE NO ITEM RAIZ\r\n if(!data.indx){\r\n\r\n if(this.existeNomeMesmoNivel(this.model.itens, novoItem.nome)){\r\n this.exibirMensagemErro(\"Já existe SubTipo com este nome.\");\r\n return;\r\n }\r\n\r\n novoItem.tipo = 1;\r\n novoItem.tipoDescription=\"SubTipo\";\r\n if(!this.model.itens){\r\n this.model.itens = [] as ITipoUniversoItemModel[];\r\n }\r\n this.model.itens.push(novoItem);\r\n this.alterou = true;\r\n this.reordenar();\r\n return;\r\n }\r\n\r\n //indx recebe os índices da hierarquia da árvore: \r\n //0 -> nível 1\r\n //0,0 -> nível 2 \r\n //0,0,0 -> nível 3 \r\n\r\n let arrayIndices = JSON.parse(\"[\" + data.indx + \"]\");\r\n \r\n if(arrayIndices.length == 1){\r\n\r\n if(this.existeNomeMesmoNivel(this.model.itens[arrayIndices[0]].itens, novoItem.nome)){\r\n this.exibirMensagemErro(\"Já existe Macroprocesso com este nome.\");\r\n return;\r\n }\r\n\r\n novoItem.tipo = 2;\r\n novoItem.tipoDescription = \"Macroprocesso\";\r\n\r\n if(!this.model.itens[arrayIndices[0]].itens){\r\n this.model.itens[arrayIndices[0]].itens = [] as ITipoUniversoItemModel[];\r\n }\r\n\r\n this.model.itens[arrayIndices[0]].itens.push(novoItem);\r\n \r\n }else if(arrayIndices.length == 2){\r\n \r\n if(this.existeNomeMesmoNivel(this.model.itens[arrayIndices[0]].itens[arrayIndices[1]].itens, novoItem.nome)){\r\n this.exibirMensagemErro(\"Já existe Macroprocesso com este nome.\");\r\n return;\r\n }\r\n\r\n novoItem.tipo = 3;\r\n novoItem.tipoDescription = \"Processo\";\r\n \r\n if(!this.model.itens[arrayIndices[0]].itens[arrayIndices[1]].itens){\r\n this.model.itens[arrayIndices[0]].itens[arrayIndices[1]].itens = [] as ITipoUniversoItemModel[];\r\n }\r\n\r\n this.model.itens[arrayIndices[0]].itens[arrayIndices[1]].itens.push(novoItem);\r\n\r\n }\r\n\r\n this.alterou = true;\r\n this.reordenar();\r\n\r\n }\r\n })\r\n\r\n}\r\n\r\nprivate existeNomeMesmoNivel(itens: ITipoUniversoItemModel[], nome: string){\r\n return itens && itens.find(item => item.nome.toUpperCase() == nome.toUpperCase());\r\n}\r\n\r\npublic exibirModalItemEditar(element: ITipoUniversoItemModel, indx: string){\r\n \r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-descricao';\r\n dialogConfig.width = '450px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n item: element,\r\n indx: indx\r\n };\r\n\r\n const modal = this.matDialog.open(ModalTipoUniversoItemDescricaoComponent, dialogConfig);\r\n\r\n modal.afterClosed().subscribe((data) => {\r\n \r\n let novoItem = data.item as ITipoUniversoItemModel;\r\n let arrayIndices = JSON.parse(\"[\" + data.indx + \"]\");\r\n\r\n if(arrayIndices.length == 1){\r\n\r\n this.model.itens[arrayIndices[0]].nome = novoItem.nome;\r\n \r\n }else if(arrayIndices.length == 2){\r\n\r\n this.model.itens[arrayIndices[0]].itens[arrayIndices[1]].nome = novoItem.nome;\r\n \r\n }else if(arrayIndices.length == 2){\r\n \r\n this.model.itens[arrayIndices[0]].itens[arrayIndices[1]].itens[arrayIndices[2]].nome = novoItem.nome;\r\n\r\n }\r\n\r\n this.alterou = true;\r\n\r\n })\r\n\r\n}\r\n\r\npublic excluirItem(element: any, indx: string){\r\n\r\n Swal.fire({\r\n title: 'Excluir item',\r\n text: `Deseja realmente excluir este item?`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(resConfirm => {\r\n if (resConfirm.isConfirmed) {\r\n\r\n let arrayIndices = JSON.parse(\"[\" + indx + \"]\");\r\n\r\n if(arrayIndices.length == 1){\r\n this.model.itens.splice(arrayIndices[0], 1);\r\n }else if(arrayIndices.length == 2){\r\n this.model.itens[arrayIndices[0]].itens.splice(arrayIndices[1], 1);\r\n }else if (arrayIndices.length == 3){\r\n this.model.itens[arrayIndices[0]].itens[arrayIndices[1]].itens.splice(arrayIndices[2], 1);\r\n }\r\n \r\n this.alterou = true;\r\n this.reordenar();\r\n\r\n }else{\r\n }\r\n });\r\n\r\n \r\n}\r\n\r\npublic async exibirModalUnidadeGestora(){\r\n \r\n let filtro = {} as FiltroModel;\r\n filtro.itensPorPagina = 999;\r\n filtro.ativo = true;\r\n const res = await this.unidadeGestoraService.obter(filtro);\r\n if (res.sucesso) {\r\n const customFilterPredicate = (data: { sigla: string, nome: string }, filterValue: string) => {\r\n return (data.sigla || '').trim().toLowerCase().indexOf(filterValue) !== -1\r\n || (data.nome || '').trim().toLowerCase().indexOf(filterValue) !== -1;\r\n };\r\n\r\n const modal = this.exibirModal('Selecionar Unidade Gestora', res.dados.resultado.filter(_ => !this.idsUgsExistentes.find(i => i === _.id)).map(c => ({ ...c, sigla: c.sigla })), false, [\r\n {\r\n columnDef: 'selecao',\r\n header: ''\r\n },\r\n {\r\n columnDef: 'sigla',\r\n header: 'Sigla'\r\n },\r\n {\r\n columnDef: 'nome',\r\n header: 'Nome'\r\n }], customFilterPredicate);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.alterou = true;\r\n this.model.idUG = data.id;\r\n this.nomeUG = data.nome;\r\n this.submit = false;\r\n }\r\n }\r\n );\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n}\r\n\r\npublic moveUp(element: any, indx: string){\r\n let arrayIndices = JSON.parse(\"[\" + indx + \"]\");\r\n\r\n if(arrayIndices.length == 1){\r\n \r\n if((arrayIndices[0]) == 0)\r\n return;\r\n\r\n moveItemInArray(this.model.itens, arrayIndices[0], arrayIndices[0]-1)\r\n \r\n }else if(arrayIndices.length == 2){\r\n \r\n if((arrayIndices[1]) == 0)\r\n return;\r\n\r\n moveItemInArray(this.model.itens[arrayIndices[0]].itens, arrayIndices[1], arrayIndices[1]-1)\r\n\r\n }else{\r\n if((arrayIndices[2]) == 0)\r\n return;\r\n\r\n moveItemInArray(this.model.itens[arrayIndices[0]].itens[arrayIndices[1]].itens, arrayIndices[2], arrayIndices[2]-1)\r\n }\r\n\r\n this.alterou = true;\r\n this.reordenar();\r\n}\r\n\r\npublic moveDown(element: any, indx: string){\r\n\r\n let arrayIndices = JSON.parse(\"[\" + indx + \"]\");\r\n\r\n if(arrayIndices.length == 1){\r\n \r\n if((arrayIndices[0]) == this.model.itens.length -1)\r\n return;\r\n\r\n moveItemInArray(this.model.itens, arrayIndices[0], arrayIndices[0]+1)\r\n \r\n }else if(arrayIndices.length == 2){\r\n \r\n if((arrayIndices[1]) == this.model.itens[arrayIndices[0]].itens.length -1)\r\n return;\r\n\r\n moveItemInArray(this.model.itens[arrayIndices[0]].itens, arrayIndices[1], arrayIndices[1]+1)\r\n\r\n }else{\r\n if((arrayIndices[2]) == this.model.itens[arrayIndices[0]].itens[arrayIndices[1]].itens.length -1)\r\n return;\r\n\r\n moveItemInArray(this.model.itens[arrayIndices[0]].itens[arrayIndices[1]].itens, arrayIndices[2], arrayIndices[2]+1)\r\n }\r\n\r\n this.alterou = true;\r\n this.reordenar();\r\n\r\n}\r\n\r\n public cancelar() {\r\n\r\n if(this.alterou){\r\n const dialogConfig = new MatDialogConfig();\r\n \r\n const modal = this.matDialog.open(ModalCancelarComponent, dialogConfig);\r\n modal.afterClosed().subscribe((resultado) => {\r\n if (resultado == true) {\r\n this.dialogRef.close(true);\r\n }\r\n });\r\n }else{\r\n this.dialogRef.close(true);\r\n }\r\n \r\n }\r\n\r\n}\r\n\r\n ","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Tipos de universo auditável\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n Classificação do Tipo\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n Subtipo de Universo Auditável\r\n
\r\n \r\n \r\n \r\n Adicionar \r\n \r\n
\r\n
\r\n \r\n \r\n Unidades Gestoras \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n {{ idTipoClassificacao == 1 \r\n ? \"Subtipo de Universo Auditável\" \r\n : element.sigla + \" - \" + element.nome }} \r\n
\r\n
\r\n Sem dados a exibir\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport Swal from 'sweetalert2';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { ITipoUniversoModel, ITipoUniversoUGModel } from 'src/app/models/tipo-universo.model';\r\nimport { TipoUniversoService } from 'src/app/services/tipo-universo.service';\r\nimport { IndicadorService } from 'src/app/services/indicador.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ModalTipoUniversoItemComponent } from './modal-tipo-universo-item/modal-tipo-universo-item.component';\r\n\r\n@Component({\r\n selector: 'app-tipo-universo-form',\r\n templateUrl: './tipo-universo-form.component.html',\r\n styleUrls: ['./tipo-universo-form.component.scss']\r\n})\r\nexport class TipoUniversoFormComponent extends BaseFormComponent implements OnInit {\r\n public model: ITipoUniversoModel = {} as ITipoUniversoModel;\r\n public ugsDataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public idTipoClassificacao: number;\r\n\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({ value: '', disabled: true }),\r\n nome: new FormControl('', Validators.required),\r\n descricao: new FormControl('', Validators.required),\r\n tipo: new FormControl(null, Validators.required),\r\n indicadorId: new FormControl(null, Validators.required)\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private tipoUniversoService: TipoUniversoService,\r\n private indicadorService: IndicadorService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Novo Tipo de universo auditável';\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.tipoUniversoService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n this.idTipoClassificacao = this.model.tipo;\r\n\r\n this.ugsDataSource = new MatTableDataSource(this.model.ugs);\r\n this.semDados = this.ugsDataSource.filteredData.length === 0;\r\n if(this.semDados){\r\n if(this.model.tipo == 1){\r\n this.alterarParaTipoPadronizado();\r\n }\r\n }\r\n\r\n if (this.visualizar){\r\n this.titulo = 'Visualizar Tipo de universo auditável - ' + this.model.nome;\r\n }\r\n else {\r\n this.titulo = 'Editar Tipo de universo auditável - ' + this.model.nome;\r\n }\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n this.router.navigate(['/tipo-universo']);\r\n return;\r\n }\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n this.exibirMensagemErro(err);\r\n this.router.navigate(['/tipo-universo']);\r\n }\r\n }\r\n\r\n public async salvarDados(salvarEFechar: boolean){\r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n this.submit = true;\r\n\r\n this.atualizarModel(this.form.value);\r\n this.model.tipo = this.idTipoClassificacao;\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.tipoUniversoService.atualizar(this.model);\r\n } else {\r\n res = await this.tipoUniversoService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n\r\n if(salvarEFechar == true)\r\n this.router.navigate(['/tipo-universo']);\r\n else\r\n if(this.novoRegistro){\r\n this.router.navigate([`/tipo-universo/${res.dados.id}`]);\r\n await this.ngOnInit();\r\n }\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err);\r\n } \r\n\r\n }\r\n\r\n public async exibirModalIndicador() {\r\n try {\r\n const res = await this.indicadorService.obter('', true);\r\n if (res.sucesso) {\r\n res.dados.sort((a, b) => a['nome'].localeCompare(b['nome']));\r\n const modal = this.exibirModal('Selecionar Indicador', res.dados);\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n //this.salvarDadosPendente = true;\r\n this.model.indicadorNome = data.nome;\r\n this.model.indicadorId = data.id;\r\n this.form.controls['indicadorId'].setValue(data.id);\r\n }\r\n });\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n \r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public abrirModalUG(ug: ITipoUniversoUGModel, visualizar: boolean){\r\n \r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component-universo-item';\r\n dialogConfig.width = '1000px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n idTipoUniverso: this.id,\r\n idClassificacaoTipo: this.idTipoClassificacao,\r\n idUG: ug ? ug.idUG : null,\r\n visualizar: visualizar,\r\n tipoDescription: this.model.tipoDescription,\r\n nomeUG: ug ? ug.nome : \"\",\r\n idsUgsExistentes: this.model.ugs ? this.model.ugs.map(item => item.idUG) : null\r\n };\r\n\r\n const modal = this.matDialog.open(ModalTipoUniversoItemComponent, dialogConfig);\r\n\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n this.ngOnInit();\r\n }\r\n })\r\n }\r\n\r\n public excluirUG(element: any){\r\n\r\n Swal.fire({\r\n title: 'Excluir subtipo de Universo Auditável',\r\n text: `Esta ação excluirá todo o subtipo de universo auditável. Será necessário realizar um novo cadastro de subtipo de universo auditável. Tem certeza que deseja excluí-lo?`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(resConfirm => {\r\n if (resConfirm.isConfirmed) {\r\n this.tipoUniversoService.excluirUG(this.id, element.idUG)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.ngOnInit();\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch(err => this.exibirMensagemErro(err))\r\n }\r\n })\r\n\r\n\r\n }\r\n\r\n public onChangeSelectTipo(event: any) {\r\n\r\n if(!this.semDados){\r\n Swal.fire({\r\n title: 'Alterar classificação',\r\n text: `Esta ação irá apagar os subtipos cadastrados. Deseja realmente continuar?`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(resConfirm => {\r\n if (resConfirm.isConfirmed) {\r\n \r\n this.idTipoClassificacao = event.target.value;\r\n \r\n if(this.idTipoClassificacao == 1){\r\n \r\n this.alterarParaTipoPadronizado();\r\n\r\n }else{\r\n \r\n this.alterarParaTipoNaoPadronizado();\r\n\r\n }\r\n \r\n }else{\r\n \r\n this.model.tipo = this.idTipoClassificacao;\r\n \r\n }\r\n });\r\n }else{\r\n this.idTipoClassificacao = event.target.value;\r\n\r\n if(this.idTipoClassificacao == 1){\r\n \r\n this.alterarParaTipoPadronizado();\r\n\r\n }else{\r\n \r\n this.alterarParaTipoNaoPadronizado();\r\n \r\n }\r\n }\r\n\r\n\t}\r\n\r\n private alterarParaTipoPadronizado(){\r\n let novoItem = {} as ITipoUniversoUGModel;\r\n let listaItens = [] as ITipoUniversoUGModel[];\r\n listaItens.push(novoItem);\r\n \r\n this.model.tipo = 1;\r\n this.model.tipoDescription = \"Padronizada\";\r\n this.model.ugs = null;\r\n this.model.ugs = listaItens;\r\n this.ugsDataSource = new MatTableDataSource(this.model.ugs);\r\n this.semDados = false;\r\n this.form.controls['tipo'].setValue(this.model.tipo);\r\n }\r\n\r\n private alterarParaTipoNaoPadronizado(){\r\n this.model.tipo = 2;\r\n this.model.tipoDescription = \"Não-Padronizada\";\r\n this.model.ugs = null;\r\n this.ugsDataSource = new MatTableDataSource(this.model.ugs);\r\n this.semDados = true;\r\n this.form.controls['tipo'].setValue(this.model.tipo);\r\n }\r\n\r\n public cancelar() {\r\n if(this.form.dirty){\r\n const dialogConfig = new MatDialogConfig();\r\n \r\n const modal = this.matDialog.open(ModalCancelarComponent, dialogConfig);\r\n modal.afterClosed().subscribe((resultado) => {\r\n if (resultado == true) {\r\n this.router.navigate(['/tipo-universo']);\r\n }\r\n });\r\n\r\n }else{\r\n this.router.navigate(['/tipo-universo']);\r\n }\r\n }\r\n \r\n \r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Tipo de Universo Auditável
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Tipo de Universo Auditável\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tIndicador\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tTodos os Resultados\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ indicador.nome }}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n \r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tClassificação\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tTodos os Resultados\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tPadronizado\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\tNão-padronizado\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Nome {{element.nome}} Classificação {{element.tipoDescription}} Indicador {{element.indicadorNome}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\nimport { ITipoUniversoModel } from 'src/app/models/tipo-universo.model';\r\nimport { IFiltroTipoUniverso } from 'src/app/models/filtros/filtro-tipo-universo.model';\r\nimport { IIndicadorModel } from 'src/app/models/indicador.model';\r\nimport { IndicadorService } from 'src/app/services/indicador.service';\r\nimport { TipoUniversoService } from 'src/app/services/tipo-universo.service';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'quantDiasPadrao':\r\n return item.quantidadeDiasPadrao;\r\n case 'nome': return item.nome.trim().toLowerCase(); \r\n default:\r\n return item[property];\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-tipo-universo-list',\r\n templateUrl: './tipo-universo-list.component.html',\r\n styleUrls: ['./tipo-universo-list.component.scss']\r\n})\r\nexport class TipoUniversoListComponent extends BaseListComponent {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: ITipoUniversoModel;\r\n public displayedColumns: string[] = ['selecao', 'nome','tipoDescription', 'indicador', 'ativo'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n public filtro = {} as IFiltroTipoUniverso;\r\n public totalItens: number;\r\n public pageEvent: any;\r\n public indicadores: IIndicadorModel[];\r\n\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private tipoUniversoService: TipoUniversoService,\r\n private toastr: ToastrService,\r\n private indicadorService: IndicadorService,\r\n private router: Router,\r\n private authService: AuthService\r\n ) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.TipoUniversoAuditavel, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.TipoUniversoAuditavel, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.TipoUniversoAuditavel, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.TipoUniversoAuditavel, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.TipoUniversoAuditavel, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.TipoUniversoAuditavel, EnumAcaoRecurso.Visualizar);\r\n this.permissoes.imprimir = this.authService.possuiPermissao(EnumRecursoPerfil.TipoUniversoAuditavel, EnumAcaoRecurso.Imprimir);\r\n }\r\n\r\n async ngAfterViewInit() {\r\n await this.configurarFiltro();\r\n this.buscar();\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n\r\n if(!this.permissoes.consultar){\r\n this.exibirMensagemErro(\"Você não possui permissão para Consulta.\");\r\n this.router.navigate(['/']);\r\n }\r\n }\r\n\r\n public novo() {\r\n \r\n if(!this.permissoes.incluir){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n\r\n this.router.navigate(['/tipo-universo/novo']);\r\n }\r\n\r\n public atualizarFiltroStatus(valor) {\r\n this.filtro = {} as IFiltroTipoUniverso;\r\n this.searchAtivo = valor;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.buscar();\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n\r\n this.tipoUniversoService\r\n .obter(this.filtro)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.totalItens = res.dados.totalItens;\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n this.configurarFiltro();\r\n }\r\n }).catch((err) => {\r\n this.exibirMensagemErro(err);\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n if(!this.permissoes.inativarReativar){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n\r\n this.tipoUniversoService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Tipo de universo auditável reativado com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n if(!this.permissoes.inativarReativar){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n\r\n this.tipoUniversoService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Tipo de universo auditável inativado com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n if(!this.permissoes.editar){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n\r\n this.router.navigate([`/tipo-universo/${id}`]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public excluir(id: number) {\r\n if(!this.permissoes.excluir){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n\r\n this.tipoUniversoService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(\"Tipo de universo auditável excluído com sucesso.\");\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n if(!this.permissoes.visualizar){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n\r\n this.router.navigate([`/tipo-universo/${id}/visualizar`]);\r\n }\r\n\r\n public imprimir(id: number){\r\n if(!this.permissoes.imprimir){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n }\r\n\r\n private async configurarFiltro() {\r\n \r\n await this.indicadorService.obter('', undefined, true).then(res => {\r\n if(res.sucesso){\r\n this.indicadores = res.dados;\r\n }\r\n });\r\n\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.colunaOrder = this.sort.active;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.pesquisa = this.searchNome;\r\n this.filtro.direcao = this.sort.direction;\r\n }\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n}\r\n\r\npublic selecionarIndicador(element: IIndicadorModel){\r\n if(element){\r\n this.filtro.idIndicador = element.id;\r\n }else{\r\n this.filtro.idIndicador = null;\r\n }\r\n this.buscar();\r\n}\r\n\r\npublic selecionarClassificacao(id: number){\r\n if(id){\r\n this.filtro.tipo = id;\r\n }else{\r\n this.filtro.tipo = null;\r\n }\r\n this.buscar();\r\n}\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

\r\n Códigos do SIGEFES\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n = 999999999){this.value=this.value.slice(0,9)}\"\r\n onkeypress=\"return event.charCode >= 48 && event.charCode <= 57\"\r\n id=\"codigoUg\"\r\n class=\"form-control form-control-sm\"\r\n [attr.disabled]=\"visualizar ? true : null\"\r\n formControlName=\"codigoUg\"\r\n [ngClass]=\"{\r\n 'is-invalid':\r\n f.submitted && form.controls['codigoUg'].invalid\r\n }\"\r\n appKeyboardlock\r\n autocomplete=\"new-password\"\r\n />\r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n = 999999999){this.value=this.value.slice(0,9)}\"\r\n onkeypress=\"return event.charCode >= 48 && event.charCode <= 57\"\r\n id=\"gestao\"\r\n class=\"form-control form-control-sm\"\r\n [attr.disabled]=\"visualizar ? true : null\"\r\n formControlName=\"gestao\"\r\n [ngClass]=\"{\r\n 'is-invalid':\r\n f.submitted && form.controls['gestao'].invalid\r\n }\"\r\n appKeyboardlock\r\n autocomplete=\"new-password\"\r\n />\r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n = 999999999){this.value=this.value.slice(0,9)}\"\r\n onkeypress=\"return event.charCode >= 48 && event.charCode <= 57\"\r\n id=\"orgaoSuperior\"\r\n [attr.disabled]=\"visualizar ? true : null\"\r\n class=\"form-control form-control-sm\"\r\n formControlName=\"orgaoSuperior\"\r\n [ngClass]=\"{\r\n 'is-invalid':\r\n f.submitted &&\r\n form.controls['orgaoSuperior'].invalid\r\n }\"\r\n appKeyboardlock\r\n autocomplete=\"new-password\"\r\n />\r\n \r\n \r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n = 999999999){this.value=this.value.slice(0,9)}\"\r\n onkeypress=\"return event.charCode >= 48 && event.charCode <= 57\"\r\n maxlength=\"10\"\r\n id=\"codigoUo\"\r\n class=\"form-control form-control-sm\"\r\n [attr.disabled]=\"visualizar ? true : null\"\r\n formControlName=\"codigoUo\"\r\n [ngClass]=\"{\r\n 'is-invalid':\r\n f.submitted && form.controls['codigoUo'].invalid\r\n }\"\r\n appKeyboardlock\r\n autocomplete=\"new-password\"\r\n />\r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Dados Gerais\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Campo obrigatório\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{ item.descricao }}\r\n \r\n \r\n \r\n Campo obrigatório\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{ item.nome }}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Campo obrigatório\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Auditoria Obrigatória\r\n \r\n
\r\n \r\n Selecione o ano\r\n \r\n \r\n {{item.nome}}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n Executa Orçamento\r\n \r\n
\r\n
\r\n \r\n Executa Obra\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n Executa Convênio\r\n \r\n
\r\n
\r\n \r\n Auditoria de Sistemas de TI\r\n \r\n
\r\n
\r\n \r\n Empresa Pública\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n Cancelar\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ","import { Component, OnInit, AfterViewInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport Inputmask from 'inputmask';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { IResponsavelUnidadeGestoraModel } from 'src/app/models/responsavel-unidade-gestora.model';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\nimport { AcessoCidadaoService } from 'src/app/services/acesso-cidadao.service';\r\nimport { OrganogramaService } from 'src/app/services/organograma.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseFormComponent } from '../../../shared/components/base-form/base-form.component';\r\nimport { IUnidadeGestoraMaturidadeGRModel } from 'src/app/models/unidade-gestora-maturidadeGR.model';\r\nimport { UnidadeGestoraMaturidadeGRService } from 'src/app/services/unidade-gestora-maturidadeGR.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { UnidadeGestoraMaturidadeGRHistoricoService } from 'src/app/services/unidade-gestora-maturidadeGRHistorico.service';\r\nimport { IFiltroUnidadeGestoraMaturidadeGRHistoricoModel } from 'src/app/models/filtro-unidade-gestora-maturidadegrhistorico.model';\r\nimport { HistoricoModalComponent } from 'src/app/shared/components/historico-modal/historico-modal.component';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-aba-dados',\r\n templateUrl: './aba-dados.component.html',\r\n styleUrls: ['./aba-dados.component.scss']\r\n})\r\nexport class AbaDadosComponent extends BaseFormComponent implements OnInit {\r\n public model: IUnidadeGestoraModel = {} as IUnidadeGestoraModel;\r\n public enumTipoAdministracao = [] as IEnumModel[];\r\n public enumAnosObrigatorios = [] as IEnumModel[];\r\n public enumFuncoes = [] as IEnumModel[];\r\n public modelResponsavel: IResponsavelUnidadeGestoraModel = {} as IResponsavelUnidadeGestoraModel;\r\n public semDados = true;\r\n public ugDataSource = new MatTableDataSource([]);\r\n public maturidades = [] as IUnidadeGestoraMaturidadeGRModel[];\r\n public modoVisualizar: boolean;\r\n\r\n public form = new FormGroup({\r\n codigoUg: new FormControl('', Validators.required),\r\n gestao: new FormControl('', Validators.required),\r\n orgaoSuperior: new FormControl('', Validators.required),\r\n codigoUo: new FormControl('', Validators.required),\r\n sigla: new FormControl('', Validators.required),\r\n nome: new FormControl('', Validators.required),\r\n cnpj: new FormControl(''),\r\n orgaoId: new FormControl(null, Validators.required),\r\n responsavelId: new FormControl(null, Validators.required),\r\n responsavelDelegadoPermanenteId: new FormControl(null),\r\n unidadeGestoraResponsavelId: new FormControl(null),\r\n tipoAdministracaoId: new FormControl('', Validators.required),\r\n auditoriaObrigatoria: new FormControl({value:'',disabled: this.visualizar}),\r\n anosObrigatorios: new FormControl({value:'', disabled: this.visualizar }),\r\n executaOrcamento: new FormControl({value:'',disabled: this.visualizar}),\r\n executaObra: new FormControl({value:'',disabled: this.visualizar}),\r\n executaConvenio: new FormControl({value:'',disabled: this.visualizar}),\r\n auditoriaSistemas: new FormControl({value:'',disabled: this.visualizar}),\r\n empresaPublica: new FormControl({value:'',disabled: this.visualizar}),\r\n unidadeGestoraMaturidadeGRId: new FormControl({value: '', disabled: true}),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n private acessoCidadaoService: AcessoCidadaoService,\r\n private organogramaService: OrganogramaService,\r\n private unidadeGestoraMaturidadeGRService: UnidadeGestoraMaturidadeGRService,\r\n private unidadeGestoraMaturidadeGRHistoricoService: UnidadeGestoraMaturidadeGRHistoricoService,\r\n public matDialog: MatDialog,\r\n private sharedService: SharedService\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Nova Unidade Gestora';\r\n }\r\n}\r\n\r\n\r\nasync ngOnInit() {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n this.modoVisualizar = this.sharedService.getModoVisualizacaoAbasUnidadeGestora();\r\n this.adicionarEnums();\r\n this.carregaMaturidades();\r\n\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.unidadeGestoraService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n \r\n\r\n this.desabilitaCamposModoVisualizacao();\r\n\r\n if (this.visualizar) {\r\n this.titulo = 'Visualisar Unidade Gestora - ' + this.model.sigla;\r\n }\r\n else{\r\n this.titulo = 'Editar Unidade Gestora - ' + this.model.sigla;\r\n }\r\n if (this.model.organogramaId) {\r\n this.form.controls['codigoUg'].enable();\r\n this.form.controls['cnpj'].enable();\r\n }\r\n\r\n if (this.model.importadoViaServico) {\r\n this.desabilitarUgImportadoViaServico();\r\n }\r\n\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/unidades-gestoras']);\r\n return;\r\n }\r\n }\r\n\r\n if (!this.model.importadoViaServico) {\r\n const tiposAdministracao: any[] = [];\r\n let result: any;\r\n\r\n result = await this.tabelaDominioService.obterTipoAdministracao();\r\n const { dados } = result[0];\r\n\r\n dados.forEach((item: { id: number; nome: string; }) => {\r\n tiposAdministracao.push({ codigo: item.id, nome: item.nome, descricao: item.nome });\r\n });\r\n\r\n this.enumTipoAdministracao = tiposAdministracao;\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/unidades-gestoras']);\r\n }\r\n}\r\n\r\nngAfterViewInit(): void {\r\n \r\n}\r\n\r\nprivate desabilitaCamposModoVisualizacao(){\r\n \r\n if (this.modoVisualizar) {\r\n this.form.disable();\r\n } else {\r\n this.form.enable();\r\n }\r\n\r\n this.form.controls['unidadeGestoraMaturidadeGRId'].disable(); \r\n}\r\n\r\nprivate desabilitarUgImportadoViaServico() {\r\n this.form.controls['cnpj'].disable();\r\n this.form.controls['codigoUg'].disable();\r\n this.form.controls['sigla'].disable();\r\n this.form.controls['gestao'].disable();\r\n this.form.controls['nome'].disable();\r\n this.form.controls['tipoAdministracaoId'].disable();\r\n this.enumTipoAdministracao = [{ codigo: this.model.tipoAdministracaoId, nome: this.model.tipoAdministracaoNome, descricao: this.model.tipoAdministracaoNome, guid: \"\" }];\r\n}\r\n\r\npublic async salvarDados(salvarEFechar: boolean)\r\n {\r\n \r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n\r\n this.submit = true;\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.unidadeGestoraService.atualizar(this.model);\r\n } else {\r\n res = await this.unidadeGestoraService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n\r\n if(salvarEFechar == true){\r\n this.router.navigate(['/unidades-gestoras']);\r\n }\r\n else{\r\n this.router.navigate([`/unidades-gestoras/${res.dados.id}`]);\r\n }\r\n\r\n } else {\r\n this.submit = false;\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(res.mensagem.descricao, true);\r\n }\r\n } catch (err) {\r\n this.submit = false;\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigate(['/unidades-gestoras']);\r\n }\r\n\r\n public async exibirModalOrgao() {\r\n try {\r\n const res = await this.organogramaService.ObterOrgaos();\r\n if (res.sucesso) {\r\n const modal = this.exibirModal('Selecionar Órgão', res.dados, false);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.model.orgaoId = data.id;\r\n this.model.nomeOrgao = data.nome;\r\n this.form.controls['orgaoId'].setValue(data.id);\r\n }\r\n }\r\n );\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public async exibirModalResponsavelUnidade() {\r\n if (!this.model.orgaoId) {\r\n this.exibirMensagemAlerta('É necessário selecionar um órgão antes de escolher o responsável.');\r\n return;\r\n }\r\n\r\n try {\r\n const res = await this.acessoCidadaoService.ObterAgentesPublicosPorConjunto(this.model.orgaoId);\r\n if (res.sucesso) {\r\n const modal = this.exibirModal('Selecionar Responsável pela Unidade', res.dados, false);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.model.responsavelId = data.id;\r\n this.model.nomeResponsavel = data.nome;\r\n this.form.controls['responsavelId'].setValue(data.id);\r\n }\r\n }\r\n );\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public async exibirModalResponsavelDelegadoPermanenteUnidade() {\r\n if (!this.model.orgaoId) {\r\n this.exibirMensagemAlerta('É necessário selecionar um órgão antes de escolher o responsável.');\r\n return;\r\n }\r\n\r\n try {\r\n const res = await this.acessoCidadaoService.ObterAgentesPublicosPorConjunto(this.model.orgaoId);\r\n if (res.sucesso) {\r\n const modal = this.exibirModal('Selecionar Responsável pela Unidade', res.dados, false);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.model.responsavelDelegadoPermanenteId = data.id;\r\n this.model.nomeResponsavelDelegadoPermanente = data.nome;\r\n this.form.controls['responsavelDelegadoPermanenteId'].setValue(data.id);\r\n }\r\n }\r\n );\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public async exibirModalUnidadeGestoraResponsavel() {\r\n try {\r\n const res = await this.unidadeGestoraService.obter();\r\n if (res.sucesso) {\r\n const customFilterPredicate = (data: { sigla: string, nome: string }, filterValue: string) => {\r\n return (data.sigla || '').trim().toLowerCase().indexOf(filterValue) !== -1\r\n || (data.nome || '').trim().toLowerCase().indexOf(filterValue) !== -1;\r\n };\r\n\r\n const modal = this.exibirModal('Selecionar Unidade Gestora Responsavel', res.dados.resultado.filter(_ => !this.ugDataSource.data.find(i => i.id === _.id)).map(c => ({ ...c, sigla: c.sigla })), false, [\r\n {\r\n columnDef: 'selecao',\r\n header: ''\r\n },\r\n {\r\n columnDef: 'sigla',\r\n header: 'Sigla'\r\n },\r\n {\r\n columnDef: 'nome',\r\n header: 'Nome'\r\n }], customFilterPredicate);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.model.unidadeGestoraResponsavelId = data.id;\r\n this.model.nomeUnidadeGestoraResponsavel = data.nome;\r\n this.form.controls['unidadeGestoraResponsavelId'].setValue(data.id);\r\n }\r\n }\r\n );\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n\r\n public adicionarEnums(){\r\n this.enumAnosObrigatorios.push({ codigo: 2, nome: \"1º\", descricao: \"1º\" , guid: \"\"});\r\n this.enumAnosObrigatorios.push({ codigo: 4, nome: \"2º\", descricao: \"2º\" , guid: \"\"});\r\n this.enumAnosObrigatorios.push({ codigo: 8, nome: \"3º\", descricao: \"3º\" , guid: \"\"});\r\n this.enumAnosObrigatorios.push({ codigo: 16, nome: \"4º\", descricao: \"4º\" , guid: \"\"});\r\n }\r\n\r\n public async carregaMaturidades(){\r\n const filtro = {} as FiltroModel;\r\n this.unidadeGestoraMaturidadeGRService\r\n .obter(filtro)\r\n .then((res) => {\r\n this.maturidades = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemAlerta(err.mensagem.descricao);\r\n }); \r\n }\r\n\r\n public async abrirModalHistoricoMaturidade(){\r\n const filtroHistorico = {} as IFiltroUnidadeGestoraMaturidadeGRHistoricoModel;\r\n filtroHistorico.idug = this.model.id;\r\n const dadosHistoricoMaturidade = await this.unidadeGestoraMaturidadeGRHistoricoService.obter(filtroHistorico)\r\n \r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-historico-component';\r\n dialogConfig.width = '800px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n codigo: this.model.codigoUg,\r\n sigla: this.model.sigla,\r\n nome:this.model.nome,\r\n historicoDados: dadosHistoricoMaturidade.dados\r\n };\r\n\r\n const modal = this.matDialog.open(\r\n HistoricoModalComponent,\r\n dialogConfig\r\n );\r\n\r\n\r\n }\r\n\r\n mudarAba(novaAba: number) {\r\n this.aba = novaAba;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Entendendo a Entidade\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Versão {{element.versao}} Data {{element.dataCriacaoFormatada}} Situação {{element.situacao}} Status \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { ICategoriaRiscoModel } from 'src/app/models/categoria-risco.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { CategoriaRiscoService } from 'src/app/services/categoria-risco.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\nimport { IEntendendoEntidadeListaModel } from 'src/app/models/entendendo-entidade-lista.model';\r\nimport { EntendendoEntidadeService } from 'src/app/services/entendendo-entidade.service';\r\nimport { FiltroQuestionarioUG } from 'src/app/models/filtro-questionario-ug.model';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { ModalQuestionarioNovaVersaoComponent } from './modal-questionario-nova-versao/modal-questionario-nova-versao.component';\r\nimport { ModalSolicitarPreenchimentoComponent } from './modal-solicitar-preenchimento/modal-solicitar-preenchimento.component';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport { EnumStatusAvaliacaoQuestionarioUG } from 'src/app/models/enum/status-avaliacao-questionario-ug.enum';\r\nimport { EnumTipoQuestionarioUG } from 'src/app/models/enum/tipo-questionario-ug.enum';\r\nimport { EnumTipoAvaliacaoQuestionarioUG } from 'src/app/models/enum/tipo-avaliacao-questionario-ug.enum';\r\nimport { EQuestionarioUGSituacao, EQuestionarioUGSituacaoDescricao } from 'src/app/models/enum/questionario-ug-situacao.enum';\r\nimport { QuestionarioUGService } from 'src/app/services/questionarioug.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { saveAs } from 'file-saver';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'versao': return item.versao.trim().toLowerCase();\r\n case 'data': return item.data.trim().toLowerCase();\r\n case 'situacao': return item.situacao.trim().toLowerCase();\r\n case 'ativo':\r\n return item.ativo;\r\n default:\r\n return item.versao.trim().toLowerCase();\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-aba-entendendo-entidade',\r\n templateUrl: './aba-entendendo-entidade.component.html',\r\n styleUrls: ['./aba-entendendo-entidade.component.scss']\r\n})\r\nexport class AbaEntendendoEntidadeComponent extends BaseListComponent {\r\n\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IEntendendoEntidadeListaModel;\r\n public displayedColumns: string[] = ['selecao', 'versao', 'data', 'situacao', 'status'];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n public filtro = {} as FiltroQuestionarioUG;\r\n public totalItens: number;\r\n public pageEvent: any;\r\n private currentDialogRef: MatDialogRef;\r\n\r\n public botaoNovoDisable = false;\r\n public botaoEditarDisable = false;\r\n public botaoExcluirDisable = false;\r\n public botaoImprimirDisable = false;\r\n public botaoPreenchimentoDisable = false;\r\n public botaoImportarDisable = false;\r\n public botaoVisualizarDisable = false;\r\n\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private http: HttpClient,\r\n private entendendoEntidadeService: EntendendoEntidadeService,\r\n private questionarioUGService: QuestionarioUGService,\r\n private router: Router,\r\n private matDialog: MatDialog,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n private sharedService: SharedService\r\n ) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n this.setarPermissoes();\r\n await this.configuraTela();\r\n this.buscar();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Visualizar);\r\n this.permissoes.imprimir = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Imprimir);\r\n this.permissoes.importar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Importar);\r\n\r\n }\r\n\r\n async ngAfterViewInit() {\r\n this.configurarFiltro();\r\n await this.configuraTela();\r\n this.buscar();\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n\r\n public novo() {\r\n\r\n if (!this.semDados) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n source: 'novo'\r\n };\r\n this.currentDialogRef = this.matDialog.open(ModalQuestionarioNovaVersaoComponent, dialogConfig);\r\n this.currentDialogRef.afterClosed().subscribe((data) => {\r\n this.buscar();\r\n });\r\n } else {\r\n this.router.navigate(['gerar-questionario']);\r\n }\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n this.entendendoEntidadeService\r\n .obter(this.filtro)\r\n .then((res) => {\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.totalItens = res.dados.totalItens;\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n }\r\n\r\n public reativar(id: number) {\r\n this.entendendoEntidadeService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Categoria de Risco reativado com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.entendendoEntidadeService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Categoria de Risco inativado com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n const situacoesNaoPermitidas = [\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Pendente],\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Finalizado]\r\n ];\r\n const situacaoAtual = this.selectedModel.situacao;\r\n if (!situacoesNaoPermitidas.includes(situacaoAtual) && this.selectedModel.ativo == true) {\r\n this.router.navigate([`editar-entendendo-entidade/${id}`]);\r\n }\r\n\r\n }\r\n\r\n preencher(id: number) {\r\n const situacaoAtual = this.selectedModel.situacao;\r\n\r\n const situacoesNaoPermitidas = [\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Pendente],\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Finalizado]\r\n ];\r\n\r\n if (!situacoesNaoPermitidas.includes(situacaoAtual) && this.selectedModel.ativo == true) {\r\n this.router.navigate([`questionario/pre-planejamento-resposta/${id}`]);\r\n } else {\r\n this.exibirMensagemAlerta('Questionário só pode ser preenchido se estiver com Status diferente de Finalizado ou Pendente e também que esteja ativo.');\r\n }\r\n }\r\n\r\n public importarArquivo() {\r\n if (!this.semDados) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n source: 'importarArquivo'\r\n };\r\n this.currentDialogRef = this.matDialog.open(ModalQuestionarioNovaVersaoComponent, dialogConfig);\r\n this.currentDialogRef.afterClosed().subscribe((data) => {\r\n this.buscar();\r\n });\r\n } else {\r\n this.router.navigate([`importacao-arquivo-questionario`]);\r\n }\r\n\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n isSelect() {\r\n if (this.selectedModel !== null) {\r\n return !this.selectedModel?.ativo;\r\n }\r\n }\r\n\r\n public excluir(id: number) {\r\n this.entendendoEntidadeService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Questionário excluído com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.router.navigate([`visualizar-entendendo-entidade/${id}`]);\r\n }\r\n\r\n public imprimir(id: number) {\r\n\r\n this.questionarioUGService.DownloadArquivoPorIdQuestionario(id).then((res) => {\r\n console.log(res);\r\n if (res && res.dados && typeof res.dados.url === 'string' && res.dados.url.trim() !== '') {\r\n this.http.get(res.dados.url, { responseType: 'blob' }).subscribe((blob) => {\r\n const fileName = res.dados.nomeArquivo;\r\n saveAs(blob, fileName);\r\n })\r\n }\r\n else {\r\n this.router.navigate([`imprimir-entendendo-entidade/${id}`]);\r\n }\r\n });\r\n\r\n\r\n\r\n\r\n\r\n }\r\n\r\n private configurarFiltro() {\r\n this.filtro.idUg = this.sharedService.getId();\r\n this.filtro.tipoQuestionario = 1; // criar um enum\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.colunaOrder = this.sort.active;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.pesquisa = this.searchNome;\r\n this.filtro.direcao = this.sort.direction;\r\n }\r\n\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n }\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n\r\n\r\n\r\n public solicitar(id: number) {\r\n const situacoesPermitidas = [\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.EmElaboracao],\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Avocado]\r\n ];\r\n\r\n const situacaoAtual = this.selectedModel.situacao;\r\n\r\n if (situacoesPermitidas.includes(situacaoAtual) && this.selectedModel.ativo == true) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-solicitar-preenchimento';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n param1: id\r\n };\r\n\r\n this.currentDialogRef = this.matDialog.open(ModalSolicitarPreenchimentoComponent, dialogConfig);\r\n this.currentDialogRef.afterClosed().subscribe((data) => {\r\n this.buscar();\r\n });\r\n }\r\n else {\r\n this.exibirMensagemAlerta('Questionario só pode ser Solicitado se estiver no Status de Pendente/Avocado e Ativo');\r\n }\r\n }\r\n\r\n public avocar(id: number) {\r\n const situacao = EQuestionarioUGSituacao.Pendente;\r\n if (this.selectedModel.situacao == EQuestionarioUGSituacaoDescricao[situacao] && this.selectedModel.ativo == true) {\r\n this.entendendoEntidadeService\r\n .Avocar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Questionário avocado com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n else {\r\n this.exibirMensagemAlerta('Questionario só pode ser avocado se estiver no status Pendente e Ativo');\r\n }\r\n\r\n }\r\n\r\n public async avaliar(id: number) {\r\n const situacaoEnviado = EQuestionarioUGSituacao.Enviado;\r\n const situacaoContestado = EQuestionarioUGSituacao.Contestado;\r\n const situacaoEmValidacao = EQuestionarioUGSituacao.EmValidacao;\r\n\r\n this.sharedService.setTipoQuestionario(EnumTipoQuestionarioUG.EntendendoEntidade);\r\n\r\n if (\r\n (this.selectedModel.situacao == EQuestionarioUGSituacaoDescricao[situacaoEnviado] ||\r\n this.selectedModel.situacao == EQuestionarioUGSituacaoDescricao[situacaoContestado] ||\r\n this.selectedModel.situacao == EQuestionarioUGSituacaoDescricao[situacaoEmValidacao]) &&\r\n this.selectedModel.ativo == true\r\n ) {\r\n await this.questionarioUGService.Avaliar(id);\r\n this.router.navigate([`avaliar-questionario/${id}`]);\r\n } else {\r\n this.exibirMensagemAlerta('Questionario só pode ser avaliado se estiver nos Status de Enviado, Contestado ou Em validação e também que esteja Ativo');\r\n }\r\n\r\n }\r\n\r\n public isButtonDisabled(): boolean {\r\n // Verifica se existe um modelo selecionado\r\n if (!this.selectedModel) {\r\n return true;\r\n }\r\n\r\n // Verifica as condições adicionais\r\n return !this.selectedModel.ativo ||\r\n !(this.selectedModel.situacao === 'Em Elaboração' || this.selectedModel.situacao === 'Avocado');\r\n }\r\n\r\n public isButtonDisabledEditar(): boolean {\r\n // Verifica se existe um modelo selecionado\r\n if (!this.selectedModel) {\r\n return true;\r\n }\r\n\r\n const situacoesNaoPermitidas = [\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Pendente],\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Finalizado]\r\n ];\r\n\r\n const situacaoAtual = this.selectedModel.situacao;\r\n\r\n // Verifica as condições adicionais\r\n return !this.selectedModel.ativo || situacoesNaoPermitidas.includes(situacaoAtual);\r\n\r\n }\r\n\r\n\r\n async configuraTela() {\r\n if (this.sharedService.getModoVisualizacaoAbasUnidadeGestora()) {\r\n this.botaoNovoDisable = true;\r\n this.botaoImportarDisable = true;\r\n this.botaoEditarDisable = true;\r\n this.botaoExcluirDisable = true;\r\n this.botaoImprimirDisable = false;\r\n this.botaoPreenchimentoDisable = true;\r\n this.botaoVisualizarDisable = false;\r\n }\r\n\r\n this.unidadeGestoraService.obterPorId(this.filtro.idUg)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n if (!res.dados.ativo) {\r\n this.botaoNovoDisable = true;\r\n this.botaoImportarDisable = true;\r\n this.botaoEditarDisable = true;\r\n this.botaoExcluirDisable = true;\r\n this.botaoImprimirDisable = true;\r\n this.botaoPreenchimentoDisable = true;\r\n this.botaoVisualizarDisable = true;\r\n }\r\n }\r\n });\r\n\r\n this.entendendoEntidadeService.DownloadArquivo(this.filtro.idUg)\r\n .then((res) => {\r\n if (res.dados.url != '') {\r\n this.botaoEditarDisable = true;\r\n this.botaoPreenchimentoDisable = true;\r\n this.botaoVisualizarDisable = true;\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial \r\n
  2. \r\n
  3. \r\n Entendendo a Entidade\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n Documento de Trabalho\r\n \r\n \r\n \r\n {{ element.codigo }} -\r\n {{ element.descricao }}\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n Perguntas\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n Pergunta\r\n Seção\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
#NomeTipoObrigatórioAções
\r\n
\r\n \r\n \r\n {{ element?.ordemExibicao }}\r\n
\r\n
{{ element?.nome }}{{ element?.tipoDescription }} Sim \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{ subItem?.ordemExibicao }}\r\n
\r\n
{{ subItem?.nome }}{{ subItem?.tipoDescription }} Sim \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Nenhum item cadastrado\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ","import { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { Component, ViewChild, OnInit } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { MatSort, Sort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { IModeloQuestionarioItemModel, IModeloQuestionarioModel } from \"src/app/models/modelo-questionario.model\";\r\nimport { IPermissaoModel } from \"src/app/models/permissao.model\";\r\nimport { EnumRecursoPerfil } from \"src/app/models/enum/recurso-perfil.enum\";\r\nimport { EnumAcaoRecurso } from \"src/app/models/enum/acao-recurso.enum\";\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { TabelaDominioService } from \"src/app/services/tabela-dominio.service\";\r\nimport { IEnumModel } from \"src/app/models/enum.model\";\r\nimport { PerguntaService } from \"src/app/services/pergunta.service\";\r\nimport { MatDialogConfig } from \"@angular/material/dialog\";\r\nimport { EntendendoEntidadeService } from \"src/app/services/entendendo-entidade.service\";\r\nimport { IQuestionarioUGItemModel, IQuestionarioUGModel } from \"src/app/models/questionario-ug.model\";\r\nimport { ModalQuestionarioUGPerguntaComponent } from \"./modal-pergunta/modal-pergunta.component\";\r\nimport { ModalQuestionarioUGSecaoComponent } from \"./modal-secao/modal-secao.component\";\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-editar-entendendo-entidade',\r\n templateUrl: './editar-entendendo-entidade.component.html',\r\n styleUrls: ['./editar-entendendo-entidade.component.scss']\r\n})\r\nexport class EditarEntendendoEntidadeComponent extends BaseFormComponent implements OnInit {\r\n \r\n public model= {} as IQuestionarioUGModel;\r\n public tiposDocumentos = [] as IEnumModel[];\r\n columnsToDisplay = ['ordem', 'nome', 'tipoDescription', 'obrigatorio', 'actions'];\r\n subColumnsToDisplay = ['ordem', 'nome', 'tipoDescription', 'obrigatorio', 'actions'];\r\n public idUnidadeGestora : number;\r\n\r\n constructor(\r\n private questionarioUGService: EntendendoEntidadeService,\r\n toastr: ToastrService,\r\n route: ActivatedRoute,\r\n router: Router,\r\n private authService: AuthService,\r\n localeService: BsLocaleService,\r\n private perguntaService: PerguntaService,\r\n private tabelaDominioService: TabelaDominioService,\r\n public matDialog: MatDialog\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({value: '', disabled:true}),\r\n nome: new FormControl('', Validators.required),\r\n tipoDocumento: new FormControl({value:[] as IEnumModel[]})\r\n })\r\n\r\n async ngOnInit(){\r\n await this.tabelaDominioService\r\n .obterTiposDocumentoTrabalho()\r\n .then((res) => this.tiposDocumentos = res.dados)\r\n .catch((err) => this.exibirMensagemErro(err));\r\n\r\n if(!this.novoRegistro){\r\n this.questionarioUGService\r\n .obterPorId(this.id)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.model = res.dados\r\n this.idUnidadeGestora = res.dados.unidadeGestoraId;\r\n this.form.controls['nome'].setValue(res.dados.nome);\r\n this.form.controls['id'].setValue(res.dados.id);\r\n this.form.controls['tipoDocumento'].setValue(res.dados.tipoDocumentoId);\r\n this.titulo = \"Editar Questionário - \" + this.model.nome.toString();\r\n this.reordenar();\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => this.exibirMensagemErro(err));\r\n }else{\r\n this.titulo = \"Novo questionário\";\r\n } \r\n\r\n }\r\n\r\n public async salvarDados(salvarEFechar: boolean){\r\n if (this.form.invalid) {\r\n this.exibirMensagemErro('Formulário invalido!');\r\n return;\r\n }\r\n\r\n this.model.nome = this.form.controls['nome'].value;\r\n this.model.id = this.id ?? 0;\r\n this.model.tipoDocumentoId = this.form.controls['tipoDocumento'].value;\r\n\r\n \r\n this.questionarioUGService\r\n .atualizar(this.model)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n if(salvarEFechar){\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.idUnidadeGestora}?aba=1`);\r\n }else{\r\n this.router.navigate([`editar-entendendo-entidade/${this.model.id}`]);\r\n }\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => this.exibirMensagemErro(err));\r\n \r\n }\r\n\r\n public drop(event: CdkDragDrop, element: any) {\r\n let contadorGeralIndice = 0;\r\n let contadorItem = 0;\r\n let contadorSubItem = 0;\r\n let indiceAnteriorModel = -1;\r\n let indiceAtualModel = -1;\r\n let moveu = false;\r\n\r\n this.model.itens.forEach((item, idx) => {\r\n if(moveu == true){\r\n return;\r\n }\r\n\r\n if(item.nome == element.nome){\r\n if(contadorGeralIndice == event.previousIndex){\r\n indiceAnteriorModel = idx;\r\n }\r\n \r\n if(contadorGeralIndice == event.currentIndex){\r\n indiceAtualModel = idx;\r\n }\r\n \r\n if(indiceAnteriorModel >= 0 && indiceAtualModel >= 0){\r\n moveItemInArray(this.model.itens, indiceAnteriorModel, indiceAtualModel); \r\n moveu = true; \r\n return;\r\n }\r\n \r\n contadorGeralIndice += 1;\r\n \r\n if(item.subItens){\r\n item.subItens.forEach((subItem, subIdx) => {\r\n if(moveu == true){\r\n return;\r\n }\r\n \r\n if(contadorGeralIndice == event.previousIndex){\r\n indiceAnteriorModel = subIdx;\r\n }\r\n \r\n if(contadorGeralIndice == event.currentIndex){\r\n indiceAtualModel = subIdx;\r\n }\r\n \r\n if(indiceAnteriorModel >= 0 && indiceAtualModel >= 0){\r\n moveItemInArray(item.subItens, indiceAnteriorModel, indiceAtualModel); \r\n moveu = true; \r\n return;\r\n }\r\n \r\n \r\n contadorGeralIndice += 1;\r\n });\r\n }\r\n }\r\n \r\n });\r\n\r\n this.reordenar();\r\n }\r\n\r\n public reordenar(){\r\n this.model.itens.forEach((item, idx) => {\r\n item.ordem = (idx + 1);\r\n item.ordemExibicao = item.ordem.toString();\r\n if(item.subItens){\r\n item.subItens.forEach((subItem, subIdx) => {\r\n const itemPai = this.model.itens.find(_ => _.id == subItem.idItemPai);\r\n subItem.ordem = subIdx + 1;\r\n subItem.ordemExibicao = `${item.ordemExibicao}.${subItem.ordem.toString()}`\r\n });\r\n }\r\n });\r\n }\r\n\r\n public async exibirModalPergunta(idItemPai: number, idx: number){\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n\r\n const modal = this.matDialog.open(ModalQuestionarioUGPerguntaComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n let novoItem = {} as IQuestionarioUGItemModel;\r\n novoItem.idQuestionarioUG = this.id;\r\n novoItem.nome = data.nome;\r\n novoItem.tipoId = 2;\r\n novoItem.tipoDescription = data.tipoEntrada.descricao;\r\n novoItem.obrigatorio = data.obrigatorio;\r\n novoItem.perguntaId = data.id;\r\n novoItem.atualizarModelo = data.atualizarModelo;\r\n\r\n if(idItemPai == -1 && idx == -1){\r\n if(!this.model.itens)\r\n this.model.itens = [] as IQuestionarioUGItemModel[];\r\n\r\n this.model.itens.push(novoItem);\r\n }else{\r\n const itemPai = this.model.itens[idx];\r\n \r\n if(!itemPai.subItens)\r\n itemPai.subItens = [] as IQuestionarioUGItemModel[];\r\n\r\n itemPai.subItens.push(novoItem);\r\n }\r\n this.reordenar();\r\n }\r\n })\r\n }\r\n\r\n public exibirModalSecao(element: any){\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n id: element ? element.id : 0,\r\n idModeloQuestionario : this.id,\r\n nome: element ? element.nome : \"\"\r\n };\r\n\r\n const modal = this.matDialog.open(ModalQuestionarioUGSecaoComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n \r\n let novaSecao = data as IQuestionarioUGItemModel;\r\n\r\n if(!this.model.itens || this.model.itens.length == 0){\r\n this.model.itens = [] as IQuestionarioUGItemModel[];\r\n this.model.itens.push(novaSecao);\r\n this.reordenar();\r\n return;\r\n }\r\n\r\n if(this.model.itens.find((element)=> element.nome.toUpperCase() == novaSecao.nome.toUpperCase())){\r\n this.exibirMensagemErro(\"Já existe seção com este nome.\");\r\n return;\r\n } \r\n\r\n var isNew = true;\r\n \r\n this.model.itens.forEach((element, idx) => {\r\n if(novaSecao.nomeAnterior == element.nome \r\n && novaSecao.nomeAnterior != \"\"){\r\n element.nome = novaSecao.nome;\r\n isNew = false;\r\n }\r\n });\r\n\r\n if(isNew){\r\n this.model.itens.push(novaSecao);\r\n }\r\n\r\n\r\n this.reordenar();\r\n }\r\n })\r\n }\r\n\r\n public excluirItem(element: IQuestionarioUGItemModel){\r\n \r\n if(element.id != 0 && element.obrigatorio == true){\r\n this.exibirMensagemErro(\"Não é possível excluir um item do modelo obrigatório.\")\r\n return;\r\n }\r\n\r\n var idxOf = this.model.itens.indexOf(element, 0);\r\n this.model.itens.splice(idxOf, 1);\r\n \r\n this.reordenar(); \r\n }\r\n\r\n public excluirSubItem(nomePai: string, element: IQuestionarioUGItemModel){\r\n \r\n if(element.id != 0 && element.obrigatorio == true){\r\n this.exibirMensagemErro(\"Não é possível excluir um item do modelo obrigatório.\")\r\n return;\r\n }\r\n\r\n let elementPai = this.model.itens.find((element)=> element.nome.toUpperCase() == nomePai.toUpperCase());\r\n const idxIndicePai = this.model.itens.indexOf(elementPai, 0);\r\n const itemPai = this.model.itens[idxIndicePai];\r\n var idxOf = itemPai.subItens.indexOf(element,0);\r\n itemPai.subItens.splice(idxOf, 1);\r\n\r\n this.reordenar(); \r\n }\r\n\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.model.unidadeGestoraId}?aba=1`);\r\n }\r\n\r\n public excluir(){\r\n \r\n Swal.fire({\r\n title: 'Atenção',\r\n text: \"Deseja realmente excluir o questionário?\",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n if (res.value) {\r\n this.questionarioUGService\r\n .excluir(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Questionário excluído com sucesso.');\r\n this.onBack();\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n });\r\n }\r\n });\r\n \r\n }\r\n\r\n public semDados(): boolean{\r\n return !this.model || !this.model.itens || this.model.itens.length == 0;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Inserir Pergunta

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Nome\r\n \r\n {{element.nome}} Tipo entrada\r\n \r\n {{element.tipoEntrada.descricao}} Obrigatório \r\n \r\n \r\n
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ","import { ToastrService } from 'ngx-toastr';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport Swal from 'sweetalert2';\r\nimport { CoordenacaoService } from 'src/app/services/coordenacao.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IPerguntaModel } from 'src/app/models/pergunta.model';\r\nimport { PerguntaService } from 'src/app/services/pergunta.service';\r\nimport { IQuestionarioUGItemModel } from 'src/app/models/questionario-ug.model';\r\n\r\n@Component({\r\n selector: 'app-modal-pergunta',\r\n templateUrl: './modal-pergunta.component.html',\r\n styleUrls: ['./modal-pergunta.component.scss']\r\n})\r\nexport class ModalQuestionarioUGPerguntaComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n public model: IQuestionarioUGItemModel;\r\n public dataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'tipo', 'obrigatorio'];\r\n public selecionado: IPerguntaModel;\r\n public totalItens: number;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n private perguntaService: PerguntaService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscarPerguntas();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n\r\n }\r\n\r\n public selecionar(item: IPerguntaModel) {\r\n this.selecionado = !this.selecionado || this.selecionado.id !== item.id ? item : null;\r\n }\r\n\r\n public async concluir() {\r\n\r\n Swal.fire({\r\n title: \"\",\r\n text: \"Deseja sugerir a atualização do questionário na base?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then((resConfirm) => {\r\n if (resConfirm.isConfirmed) {\r\n this.selecionado.atualizarModelo = true;\r\n }\r\n this.dialogRef.close(this.selecionado);\r\n });\r\n }\r\n\r\n public buscarPerguntas() {\r\n this.perguntaService\r\n .obter(\"\", true)\r\n .then((res) => {\r\n\r\n if (res.sucesso) {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.data.length == 0;\r\n this.totalItens = res.dados.length;\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n });\r\n\r\n }\r\n\r\n public filtrar(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n\r\n}\r\n","import { ToastrService } from 'ngx-toastr';\r\nimport { MatDialog,MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { IQuestionarioUGItemModel } from 'src/app/models/questionario-ug.model';\r\n\r\n@Component({\r\n selector: 'app-modal-secao',\r\n templateUrl: './modal-secao.component.html',\r\n styleUrls: ['./modal-secao.component.scss']\r\n})\r\nexport class ModalQuestionarioUGSecaoComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n \r\n public model = {} as IQuestionarioUGItemModel;\r\n public campoObrigatorio = false;\r\n public titulo : string = 'Inserir seção';\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.model.id = data.id ?? 0;\r\n this.model.idQuestionarioUG = data.idModeloQuestionario;\r\n this.model.nome = data.nome;\r\n this.model.tipoId = 1;\r\n this.model.tipoDescription = \"Seção\";\r\n this.model.ativo = true;\r\n this.model.nomeAnterior = data.nome;\r\n\r\n if(this.model.id != 0 || this.model.nome !=\"\"){\r\n this.titulo = \"Editar seção\";\r\n }\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n \r\n \r\n ngAfterViewInit(): void {\r\n \r\n }\r\n\r\n public async concluir() {\r\n \r\n this.dialogRef.close(this.model);\r\n\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{titulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\nimport { IEntendendoEntidadeListaModel } from 'src/app/models/entendendo-entidade-lista.model';\r\nimport { EntendendoEntidadeService } from 'src/app/services/entendendo-entidade.service';\r\nimport { MatDialogConfig } from '@angular/material/dialog';\r\nimport { ModalSelecaoQuestionarioComponent } from '../modal-selecao-questionario/modal-selecao-questionario.component';\r\nimport { IModeloQuestionarioItemModel } from 'src/app/models/modelo-questionario.model';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-gerar-questionario',\r\n templateUrl: './gerar-questionario.component.html',\r\n styleUrls: ['./gerar-questionario.component.scss']\r\n})\r\nexport class GerarQuestionarioComponent extends BaseListComponent {\r\n public filtro = {} as FiltroModel;\r\n model: any;\r\n unidadeGestoraId: number;\r\n modeloRelatorioId: number;\r\n \r\n \r\n constructor(\r\n private authService: AuthService,\r\n private entendendoEntidadeService: EntendendoEntidadeService,\r\n private matDialog: MatDialog,\r\n private router: Router,\r\n private sharedService: SharedService\r\n ) { \r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.unidadeGestoraId = this.sharedService.getId();\r\n }\r\n\r\n public gerarQuestionario() {\r\n if(!this.modeloRelatorioId || this.modeloRelatorioId == 0){\r\n this.exibirMensagemErro(\"Informe o modelo do questionário.\")\r\n return;\r\n }\r\n \r\n this.entendendoEntidadeService\r\n .inserir(this.modeloRelatorioId,this.unidadeGestoraId)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=1`);\r\n \r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n // this.buscar();\r\n });\r\n }\r\n\r\n public buscarQuestionario(){\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n\r\n const modal = this.matDialog.open(ModalSelecaoQuestionarioComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n this.filtro.pesquisa = data.nome;\r\n this.modeloRelatorioId = data.id;\r\n }\r\n })\r\n }\r\n\r\n public exibirModalquestionario(){\r\n \r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Entendendo a Entidade\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\nimport { IEntendendoEntidadeListaModel } from 'src/app/models/entendendo-entidade-lista.model';\r\nimport { EntendendoEntidadeService } from 'src/app/services/entendendo-entidade.service';\r\nimport { MatDialogConfig } from '@angular/material/dialog';\r\nimport { ModalSelecaoQuestionarioComponent } from '../modal-selecao-questionario/modal-selecao-questionario.component';\r\nimport { IModeloQuestionarioItemModel } from 'src/app/models/modelo-questionario.model';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport { IArquivoModel } from 'src/app/models/arquivo.model';\r\nimport { IQuestionarioUGModel } from 'src/app/models/questionario-ug.model';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { QuestionarioUGRespostaService } from 'src/app/services/questionarioug-resposta.service';\r\n\r\n@Component({\r\n selector: 'app-importacao-arquivo-questionario',\r\n templateUrl: './importacao-arquivo-questionario.component.html',\r\n styleUrls: ['./importacao-arquivo-questionario.component.scss']\r\n})\r\nexport class ImportacaoArquivoQuestionarioComponent extends BaseFormComponent implements OnInit {\r\n public filtro = {} as FiltroModel;\r\n model: any;\r\n unidadeGestoraId: number;\r\n modeloRelatorioId: number;\r\n arquivo: File | null = null;\r\n mensagem: string = '';\r\n arquivoUrl: string;\r\n nomeArquivo: string;\r\n botaoEncerrarHabilitado: boolean = false;\r\n \r\n\r\n constructor(\r\n private authService: AuthService,\r\n private questionarioUGService: EntendendoEntidadeService,\r\n private questionarioUGRespostaService: QuestionarioUGRespostaService,\r\n matDialog: MatDialog,\r\n router: Router,\r\n private sharedService: SharedService,\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n localeService: BsLocaleService\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.unidadeGestoraId = this.sharedService.getId();\r\n this.downloadAnexo();\r\n }\r\n\r\n onFileSelected(event: any): void {\r\n const file: File = event.target.files[0];\r\n if (file) {\r\n // Verifica se a extensão do arquivo é PDF\r\n const fileExtension = file.name.split('.').pop()?.toLowerCase();\r\n if (fileExtension !== 'pdf') {\r\n // Emite um aviso caso a extensão não seja PDF\r\n this.toastr.error('O tipo de arquivo selecionado não é válido, selecione apenas arquivo PDF!', 'Extensão inválida');\r\n this.arquivo = null; // Reseta o arquivo selecionado\r\n } else {\r\n this.arquivo = file;\r\n }\r\n }\r\n }\r\n\r\n downloadAnexo(): void {\r\n\r\n this.questionarioUGService.DownloadArquivo(this.unidadeGestoraId).then(\r\n (res) => {\r\n this.arquivoUrl = res.dados.url;\r\n this.nomeArquivo = res.dados.nomeArquivo;\r\n if (this.arquivoUrl) {\r\n this.botaoEncerrarHabilitado = true; // Habilita o botão\r\n }\r\n },\r\n (error) => {\r\n }\r\n );\r\n\r\n }\r\n\r\n onEncerrarAvaliacao(){\r\n Swal.fire({\r\n title: 'Atenção',\r\n text: \"Esta ação não poderá ser desfeita! Deseja continuar? \",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n if (res.value) {\r\n\r\n this.questionarioUGService.encerrarQuestionarioImportacaoArquivo(this.unidadeGestoraId, 1)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=1`);\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n\r\n }\r\n})}\r\n\r\n enviarArquivo(): void {\r\n if (this.arquivo) {\r\n const arquivoModel: IArquivoModel = {\r\n id: 0,\r\n nomeArquivo: this.arquivo.name,\r\n entidadeArquivo: 1, \r\n arquivo: this.arquivo,\r\n url: ''\r\n };\r\n\r\n \r\n\r\n this.questionarioUGService.enviarArquivo(this.unidadeGestoraId, 1 ,arquivoModel).then(\r\n (response) => {\r\n this.downloadAnexo();\r\n this.exibirMensagemSucesso('Arquivo importado com sucesso');\r\n // this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=1`);\r\n },\r\n (error) => {\r\n this.exibirMensagemErro(error.mensagem.descricao);\r\n }\r\n );\r\n }\r\n }\r\n\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=1`);\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n \r\n
\r\n \r\n \r\n Encerrar Avaliação\r\n \r\n
\r\n","\r\n\r\n\t
\r\n\t\t
\r\n\t\t\tENTENDIMENTO DA UNIDADE AUDITADA
\r\n\t\t\tVersäo: {{ versao }} \r\n\t\t\t
\r\n\t\t\tData: {{ dataFormatada }}\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
Unidade a ser auditada: {{ nomeUnidadeGestora }}
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{{ element.pergunta }}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { IQuestionarioUGModel, IVisualizarQuestionarioRespostaUGModel, QuestionarioUGItensResposta } from 'src/app/models/questionario-ug.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { EntendendoEntidadeService } from 'src/app/services/entendendo-entidade.service';\r\nimport { PerguntaService } from 'src/app/services/pergunta.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { QuestionarioUGRespostaService } from 'src/app/services/questionarioug-resposta.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IListaQuestionarioRespostaUGModel } from 'src/app/models/questionario-ug.model';\r\n\r\n@Component({\r\n selector: 'app-imprimir-entendendo-entidade',\r\n templateUrl: './imprimir-entendendo-entidade.component.html',\r\n styleUrls: ['./imprimir-entendendo-entidade.component.scss']\r\n})\r\nexport class ImprimirEntendendoEntidadeComponent extends BaseFormComponent implements OnInit {\r\n public tiles = [];\r\n public idUnidadeGestora : number;\r\n public versao : number;\r\n public dataFormatada : string; \r\n public nomeUnidadeGestora : string;\r\n public dataSource = new MatTableDataSource([]);\r\n displayedColumns: string[] = ['pergunta'];\r\n public model= {} as IListaQuestionarioRespostaUGModel;\r\n\r\n\r\n constructor(\r\n private questionarioUGService: EntendendoEntidadeService,\r\n toastr: ToastrService,\r\n route: ActivatedRoute,\r\n router: Router,\r\n private authService: AuthService,\r\n localeService: BsLocaleService,\r\n private perguntaService: PerguntaService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private questionarioService: QuestionarioUGRespostaService,\r\n public matDialog: MatDialog,\r\n public matGridListModule: MatGridListModule\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n if(!this.novoRegistro){\r\n this.questionarioService.ObterRespostaQuestionario(this.id)\r\n .then((res) => {\r\n this.model = res.dados;\r\n this.dataSource = new MatTableDataSource(res.dados.respostas);\r\n });\r\n }\r\n \r\n if(!this.novoRegistro){\r\n this.questionarioUGService\r\n .ImprimirRespostaQuestionario(this.id)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.idUnidadeGestora = res.dados[0].idUnidadeGestora;\r\n this.dataFormatada = res.dados[0].dataFormatada;\r\n this.versao = res.dados[0].versao;\r\n this.nomeUnidadeGestora = res.dados[0].nomeUnidadeGestora;\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n } \r\n }\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.idUnidadeGestora}?aba=1`);\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { EnumTipoQuestionarioUG } from 'src/app/models/enum/tipo-questionario-ug.enum';\r\nimport { EntendendoEntidadeService } from 'src/app/services/entendendo-entidade.service';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-modal-questionario-importa-dados',\r\n templateUrl: './modal-questionario-importa-dados.component.html',\r\n styleUrls: ['./modal-questionario-importa-dados.component.scss']\r\n})\r\nexport class ModalQuestionarioImportaDadosComponent implements OnInit {\r\n unidadeGestoraId: number;\r\n\r\n constructor(\r\n private router: Router,\r\n private questionarioUGService: EntendendoEntidadeService,\r\n private sharedService: SharedService,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.unidadeGestoraId = this.sharedService.getId();\r\n }\r\n\r\n public Sim() {\r\n this.questionarioUGService\r\n .inserirQuestionarioAPartirDoUltimo(this.unidadeGestoraId, EnumTipoQuestionarioUG.EntendendoEntidade)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n // aqui chamar o pagina principal\r\n this.dialogRef.close();\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=1`);\r\n window.location.reload();\r\n } else {\r\n // this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n // this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n // this.buscar();\r\n });\r\n }\r\n\r\n public Nao() {\r\n this.dialogRef.close();\r\n this.router.navigate(['gerar-questionario']);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Questionário Nova Versão

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Deseja importar os dados da versão ativa?

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n ","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { ModalQuestionarioImportaDadosComponent } from '../modal-questionario-importa-dados/modal-questionario-importa-dados.component';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-modal-questionario-nova-versao',\r\n templateUrl: './modal-questionario-nova-versao.component.html',\r\n styleUrls: ['./modal-questionario-nova-versao.component.scss']\r\n})\r\nexport class ModalQuestionarioNovaVersaoComponent implements OnInit {\r\n private currentDialogRef: MatDialogRef;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n private matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data: any ,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Sim() {\r\n\r\n if(this.data.source === 'importarArquivo')\r\n {\r\n this.dialogRef.close();\r\n this.router.navigate([`importacao-arquivo-questionario`]);\r\n }\r\n else\r\n {\r\n this.dialogRef.close();\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal2-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n \r\n const modal = this.matDialog.open(ModalQuestionarioImportaDadosComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n \r\n }\r\n })\r\n }\r\n }\r\n\r\n public Nao() {\r\n this.dialogRef.close();\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Questionário Nova Versão

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Você solicitou a geração de uma nova versão, a versão atual será inativada e uma nova versão deverá ser preenchida! Tem certeza que deseja criar uma nova e inativar a versão atual?

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n ","
\r\n
\r\n
\r\n

Selecionar Modelo de Questionário

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Nome\r\n \r\n {{element.nome}} Tipo entrada\r\n \r\n {{element.tipoEntrada.descricao}} Obrigatório \r\n \r\n \r\n
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ","import { ToastrService } from 'ngx-toastr';\r\nimport { MatDialog,MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n AfterViewInit,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IModeloQuestionarioModel } from 'src/app/models/modelo-questionario.model';\r\nimport { ModeloQuestionarioService } from 'src/app/services/modelo-questionario.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\n\r\n@Component({\r\n selector: 'app-modal-selecao-questionario',\r\n templateUrl: './modal-selecao-questionario.component.html',\r\n styleUrls: ['./modal-selecao-questionario.component.scss']\r\n})\r\nexport class ModalSelecaoQuestionarioComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @Output() nomeSelecionado = new EventEmitter();\r\n \r\n public filtro = {} as FiltroModel;\r\n public dataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public displayedColumns: string[] = ['selecao', 'nome'];\r\n public selecionado: IModeloQuestionarioModel;\r\n public totalItens: number;\r\n \r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n private modeloQuestionarioService: ModeloQuestionarioService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.filtro.ativo = true;\r\n this.buscarModeloQuestionario();\r\n }\r\n \r\n \r\n ngAfterViewInit(): void {\r\n \r\n }\r\n\r\n\r\n public selecionar(item: IModeloQuestionarioModel) {\r\n this.selecionado = !this.selecionado || this.selecionado.id !== item.id ? item : null;\r\n this.nomeSelecionado.emit(item.nome);\r\n }\r\n\r\n public async concluir() {\r\n this.dialogRef.close(this.selecionado);\r\n }\r\n\r\n public buscarModeloQuestionario(){\r\n this.modeloQuestionarioService\r\n .obterModeloEntendendoEntidade(this.filtro)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length == 0;\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n });\r\n \r\n }\r\n\r\n public filtrar(event: Event){\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n \r\n\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { EntendendoEntidadeService } from 'src/app/services/entendendo-entidade.service';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-modal-solicitar-preenchimento',\r\n templateUrl: './modal-solicitar-preenchimento.component.html',\r\n styleUrls: ['./modal-solicitar-preenchimento.component.scss']\r\n})\r\nexport class ModalSolicitarPreenchimentoComponent implements OnInit {\r\n prazoDias: number;\r\n unidadeGestoraId: number;\r\n\r\n constructor(\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private questionarioUGService: EntendendoEntidadeService,\r\n private sharedService: SharedService,\r\n private dialogRef: MatDialogRef\r\n\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.unidadeGestoraId = this.sharedService.getId();\r\n }\r\n\r\n public cancelar(){\r\n this.dialogRef.close();\r\n }\r\n\r\n public concluir(){\r\n\r\n this.questionarioUGService\r\n .solicitarPreenchimentoQuestionario(this.data.param1, this.prazoDias)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n // aqui chamar o pagina principal\r\n this.dialogRef.close();\r\n } else {\r\n // this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n // this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n // this.buscar();\r\n });\r\n }\r\n\r\n public onChangePreencherPrazo(event){\r\n this.prazoDias = event.target.value;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Prazo para Preenchimento

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n ","\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tSeção/Pergunta\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n {{ element.pergunta }}\r\n \r\n
\r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAvaliação Auditor\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n {{element.tipoAvaliacaoAuditor\t}}\r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tResposta Revisada\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tRéplica\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n {{element.tipoReplica}}\r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tResposta Revisada da Réplica\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n \r\n \r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAvaliação Final\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n {{element.tipoAvaliacaoFinal}}\r\n \r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Resposta Final\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t
\r\n \r\n\t
\r\n
\r\n
\r\n \r\n Fechar\r\n \r\n
\r\n
\r\n\r\n\t\r\n
\r\n","import { Component, NgModule, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { IQuestionarioUGModel, IVisualizarQuestionarioRespostaUGModel, QuestionarioUGItensResposta } from 'src/app/models/questionario-ug.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { EntendendoEntidadeService } from 'src/app/services/entendendo-entidade.service';\r\nimport { PerguntaService } from 'src/app/services/pergunta.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { IListaQuestionarioRespostaUGModel } from 'src/app/models/questionario-ug.model';\r\nimport { QuestionarioUGRespostaService } from 'src/app/services/questionarioug-resposta.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n\r\n@Component({\r\n selector: 'app-visualizar-entendendo-entidade',\r\n templateUrl: './visualizar-entendendo-entidade.component.html',\r\n styleUrls: ['./visualizar-entendendo-entidade.component.scss']\r\n})\r\n\r\nexport class VisualizarEntendendoEntidadeComponent extends BaseFormComponent implements OnInit {\r\n public model= {} as IListaQuestionarioRespostaUGModel;\r\n public tiles = [];\r\n public idUnidadeGestora : number;\r\n public semDados: boolean;\r\n public dataSource = new MatTableDataSource([]);\r\n displayedColumns: string[] = ['pergunta','tipoAvaliacaoAuditor', 'avaliacaoAuditor', 'tipoReplica', 'replica', 'avaliacaoFinal', 'tipoAvaliacaoFinal'];\r\n\r\n constructor(\r\n private questionarioUGService: EntendendoEntidadeService,\r\n toastr: ToastrService,\r\n route: ActivatedRoute,\r\n router: Router,\r\n private authService: AuthService,\r\n localeService: BsLocaleService,\r\n private perguntaService: PerguntaService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private questionarioService: QuestionarioUGRespostaService,\r\n public matDialog: MatDialog,\r\n public matGridListModule: MatGridListModule\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({value: '', disabled:true}),\r\n nome: new FormControl('', Validators.required),\r\n tipoDocumento: new FormControl({value:[] as IEnumModel[]})\r\n })\r\n\r\n async ngOnInit() {\r\n\r\n if(!this.novoRegistro){\r\n this.questionarioService.ObterRespostaQuestionario(this.id)\r\n .then((res) => {\r\n this.model = res.dados;\r\n console.log(res.dados);\r\n this.titulo = \"Visualizar Questionário - \" + this.model.nomeQuestionario.toString();\r\n this.dataSource = new MatTableDataSource(res.dados.respostas);\r\n });\r\n }\r\n }\r\n\r\n public onBack() {\r\n \r\n this.submit = false;\r\n \r\n this.router.navigateByUrl(`/unidades-gestoras/${this.model.idUG}?aba=1`);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Maturidade de risco\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Versão {{element.versao}} Data {{element.dataCriacaoFormatada}} Resultado da avaliação {{element.resultado}} Situação {{element.situacao}} Status \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport { QuestionarioUGService } from 'src/app/services/questionarioug.service';\r\nimport { FiltroQuestionarioUG } from 'src/app/models/filtro-questionario-ug.model';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { ModalQuestionarioNovaVersaoSharedComponent } from '../shared/modal-questionario-nova-versao/modal-questionario-nova-versao.component';\r\nimport { ModalSolicitarPreenchimentoSharedComponent } from '../shared/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component';\r\nimport { EnumTipoQuestionarioUG } from 'src/app/models/enum/tipo-questionario-ug.enum';\r\nimport { IQuestionarioUGListaModel } from 'src/app/models/questionario-ug-lista.model';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport { EQuestionarioUGSituacao, EQuestionarioUGSituacaoDescricao } from 'src/app/models/enum/questionario-ug-situacao.enum';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'nome': return item.nome.trim().toLowerCase();\r\n case 'descricao': return item.descricao.trim().toLowerCase();\r\n case 'ativo':\r\n return item.ativo;\r\n default:\r\n return item.nome.trim().toLowerCase();\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-aba-maturidade-risco',\r\n templateUrl: './aba-maturidade-risco.component.html',\r\n styleUrls: ['./aba-maturidade-risco.component.scss']\r\n})\r\nexport class AbaMaturidadeRiscoComponent extends BaseListComponent {\r\n\r\npublic dataSource = new MatTableDataSource([]);\r\npublic selectedModel: IQuestionarioUGListaModel;\r\npublic displayedColumns: string[] = ['selecao', 'versao', 'data', 'resultado' , 'situacao','status'];\r\npublic searchNome: string;\r\npublic searchAtivo = true;\r\npublic semDados = true;\r\npublic permissoes: IPermissaoModel;\r\npublic filtro = {} as FiltroQuestionarioUG;\r\npublic totalItens: number;\r\npublic pageEvent: any;\r\nprivate currentDialogRef: MatDialogRef;\r\n\r\npublic botaoNovoDisable = false;\r\npublic botaoEditarDisable = false;\r\npublic botaoExcluirDisable = false;\r\npublic botaoImprimirDisable = false;\r\npublic botaoPreenchimentoDisable = false;\r\npublic botaoImportarDisable = false;\r\npublic botaoVisualizarDisable = false;\r\n\r\n@ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private questionarioUGService: QuestionarioUGService,\r\n private router: Router,\r\n private matDialog: MatDialog,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n private sharedService: SharedService\r\n ) {\r\n super();\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n async ngAfterViewInit() {\r\n this.configurarFiltro();\r\n await this.configuraTela();\r\n this.buscar();\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Visualizar);\r\n this.permissoes.importar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Importar);\r\n this.permissoes.imprimir = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Imprimir);\r\n\r\n // comentado temporariamente pois esta com erro intermitente, mesmo com acesso fica apresentando a mensagem de erro apenas algumas vezes\r\n // if(!this.permissoes.consultar){\r\n // this.exibirMensagemErro(\"Você não possui permissão para Consultar.\");\r\n // this.router.navigate([`/unidades-gestoras/${this.sharedService.getId()}`]);\r\n // return;\r\n // }\r\n }\r\n\r\n\r\n\r\npublic novo() {\r\n\r\n if(!this.permissoes.incluir){\r\n this.exibirMensagemErro(\"Você não possui permissão para Incluir.\");\r\n return;\r\n }\r\n\r\n if (!this.semDados)\r\n {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n source: 'novo',\r\n tipoQuestionario: EnumTipoQuestionarioUG.MaturidadeRisco\r\n };\r\n this.sharedService.setTipoQuestionario(EnumTipoQuestionarioUG.MaturidadeRisco);\r\n this.currentDialogRef = this.matDialog.open(ModalQuestionarioNovaVersaoSharedComponent, dialogConfig);\r\n this.currentDialogRef.afterClosed().subscribe((data) => {\r\n this.buscar();\r\n });\r\n} else {\r\n this.sharedService.setTipoQuestionario(EnumTipoQuestionarioUG.MaturidadeRisco);\r\n this.router.navigate(['gerar-questionario-shared']);\r\n}\r\n}\r\n\r\npublic buscar() {\r\n this.selectedModel = null;\r\n this.questionarioUGService\r\n .obter(this.filtro)\r\n .then((res) => {\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.totalItens = res.dados.totalItens;\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n}\r\n\r\npublic reativar(id: number) {\r\n if(!this.permissoes.inativarReativar){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n\r\n this.questionarioUGService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Categoria de Risco reativado com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n}\r\n\r\npublic inativar(id: number) {\r\n if(!this.permissoes.inativarReativar){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n\r\n this.questionarioUGService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Categoria de Risco inativado com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n}\r\n\r\npublic editar(id: number) {\r\n if(!this.permissoes.editar){\r\n this.exibirMensagemErro(\"Você não possui permissão para Editar.\");\r\n return;\r\n }\r\n\r\n const situacoesNaoPermitidas = [\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Pendente],\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Finalizado]\r\n ];\r\n const situacaoAtual = this.selectedModel.situacao;\r\n\r\n if(!situacoesNaoPermitidas.includes(situacaoAtual) && this.selectedModel.ativo == true)\r\n {\r\n this.sharedService.setTipoQuestionario(EnumTipoQuestionarioUG.MaturidadeRisco);\r\n this.router.navigate([`editar-questionario/${id}`]);\r\n }\r\n}\r\n\r\npreencher(id: number) {\r\n const situacaoAtual = this.selectedModel.situacao;\r\n\r\n const situacoesNaoPermitidas = [\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Pendente],\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Finalizado]\r\n ];\r\n\r\n if (!situacoesNaoPermitidas.includes(situacaoAtual) && this.selectedModel.ativo == true) {\r\n this.router.navigate([`questionario/pre-planejamento-resposta/${id}`]);\r\n } else {\r\n this.exibirMensagemAlerta('Questionário só pode ser preenchido se estiver com Status diferente de Finalizado ou Pendente e também que esteja ativo.');\r\n }\r\n}\r\n\r\npublic importarArquivo(){\r\n if(!this.permissoes.importar){\r\n this.exibirMensagemErro(\"Você não possui permissão para Importar.\");\r\n return;\r\n }\r\n\r\n this.sharedService.setTipoQuestionario(EnumTipoQuestionarioUG.MaturidadeRisco);\r\n if (!this.semDados)\r\n {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n source: 'importarArquivo'\r\n };\r\n this.currentDialogRef = this.matDialog.open(ModalQuestionarioNovaVersaoSharedComponent, dialogConfig);\r\n this.currentDialogRef.afterClosed().subscribe((data) => {\r\n this.buscar();\r\n });\r\n} else {\r\n this.router.navigate([`importacao-arquivo-questionario-shared`]);\r\n}\r\n\r\n}\r\n\r\n\r\n isSelect(){\r\n if(this.selectedModel !== null){\r\n return !this.selectedModel?.ativo;\r\n }\r\n\r\n }\r\npublic selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n}\r\n\r\npublic excluir(id: number) {\r\n if(!this.permissoes.excluir){\r\n this.exibirMensagemErro(\"Você não possui permissão para Excluir.\");\r\n return;\r\n }\r\n\r\n this.questionarioUGService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Questionário excluído com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n}\r\n\r\npublic visualizar(id: number) {\r\n if(!this.permissoes.visualizar){\r\n this.exibirMensagemErro(\"Você não possui permissão para Visualizar.\");\r\n return;\r\n }\r\n\r\n this.sharedService.setTipoQuestionario(EnumTipoQuestionarioUG.MaturidadeRisco);\r\n this.router.navigate([`visualizar-questionario/${id}`]);\r\n}\r\n\r\npublic imprimir(id: number){\r\n if(!this.permissoes.imprimir){\r\n this.exibirMensagemErro(\"Você não possui permissão para Imprimir.\");\r\n return;\r\n }\r\n\r\n this.sharedService.setTipoQuestionario(EnumTipoQuestionarioUG.MaturidadeRisco);\r\n this.router.navigate([`imprimir-questionario/${id}`]);\r\n}\r\n\r\nprivate configurarFiltro() {\r\n this.filtro.idUg = this.sharedService.getId();\r\n this.filtro.tipoQuestionario = EnumTipoQuestionarioUG.MaturidadeRisco;\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.colunaOrder = this.sort.active;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.pesquisa = this.searchNome;\r\n this.filtro.direcao = this.sort.direction;\r\n}\r\n\r\nsortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n}\r\n\r\npageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n}\r\n\r\n\r\n\r\npublic solicitar(id: number){\r\n if(!this.permissoes.editar){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n\r\n const situacoesPermitidas = [\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.EmElaboracao],\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Avocado]\r\n ];\r\n\r\n const situacaoAtual = this.selectedModel.situacao;\r\n\r\n this.sharedService.setTipoQuestionario(EnumTipoQuestionarioUG.MaturidadeRisco);\r\n\r\n\r\n if(situacoesPermitidas.includes(situacaoAtual) && this.selectedModel.ativo == true){\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-solicitar-preenchimento';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n param1: id\r\n };\r\n\r\n this.currentDialogRef = this.matDialog.open(ModalSolicitarPreenchimentoSharedComponent, dialogConfig);\r\n this.currentDialogRef.afterClosed().subscribe((data) => {\r\n this.buscar();\r\n });\r\n }else{\r\n this.exibirMensagemAlerta('Questionario só pode ser Solicitado se estiver no Status de Pendente/Avocado e Ativo');\r\n }\r\n\r\n}\r\n\r\npublic avocar(id: number){\r\n if(!this.permissoes.editar){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n\r\n const situacao = EQuestionarioUGSituacao.Pendente;\r\n\r\n if(this.selectedModel.situacao == EQuestionarioUGSituacaoDescricao[situacao] && this.selectedModel.ativo == true){\r\n this.questionarioUGService\r\n .Avocar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Questionário avocado com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }else{\r\n this.exibirMensagemAlerta('Questionario só pode ser avocado se estiver no status Pendente e Ativo');\r\n }\r\n}\r\n\r\npublic async avaliar(id: number){\r\n if(!this.permissoes.editar){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n\r\n const situacaoEnviado = EQuestionarioUGSituacao.Enviado;\r\n const situacaoContestado = EQuestionarioUGSituacao.Contestado;\r\n const situacaoEmValidacao = EQuestionarioUGSituacao.EmValidacao;\r\n\r\n this.sharedService.setTipoQuestionario(EnumTipoQuestionarioUG.MaturidadeRisco);\r\n\r\n if (\r\n (this.selectedModel.situacao == EQuestionarioUGSituacaoDescricao[situacaoEnviado] ||\r\n this.selectedModel.situacao == EQuestionarioUGSituacaoDescricao[situacaoContestado] ||\r\n this.selectedModel.situacao == EQuestionarioUGSituacaoDescricao[situacaoEmValidacao] ) &&\r\n this.selectedModel.ativo == true\r\n ) {\r\n await this.questionarioUGService.Avaliar(id);\r\n this.router.navigate([`avaliar-questionario/${id}`]);\r\n } else {\r\n this.exibirMensagemAlerta('Questionario só pode ser avaliado se estiver nos Status de Enviado, Contestado ou Em validação e também que esteja Ativo');\r\n }\r\n\r\n}\r\n\r\npublic isButtonDisabled(): boolean {\r\n // Verifica se existe um modelo selecionado\r\n if (!this.selectedModel) {\r\n return true;\r\n }\r\n\r\n // Verifica as condições adicionais\r\n return !this.selectedModel.ativo ||\r\n !(this.selectedModel.situacao === 'Em Elaboração' || this.selectedModel.situacao === 'Avocado');\r\n}\r\n\r\npublic isButtonDisabledEditar(): boolean {\r\n // Verifica se existe um modelo selecionado\r\n if (!this.selectedModel) {\r\n return true;\r\n }\r\n\r\n const situacoesNaoPermitidas = [\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Pendente],\r\n EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Finalizado]\r\n ];\r\n\r\n const situacaoAtual = this.selectedModel.situacao;\r\n\r\n // Verifica as condições adicionais\r\n return !this.selectedModel.ativo || situacoesNaoPermitidas.includes(situacaoAtual);\r\n}\r\n\r\nasync configuraTela(){\r\n\r\n this.unidadeGestoraService.obterPorId(this.filtro.idUg)\r\n .then((res) => {\r\n if(res.sucesso){\r\n if(!res.dados.ativo){\r\n this.botaoNovoDisable = true;\r\n this.botaoImportarDisable = true;\r\n this.botaoEditarDisable = true;\r\n this.botaoExcluirDisable = true;\r\n this.botaoImprimirDisable = true;\r\n this.botaoPreenchimentoDisable = true;\r\n this.botaoVisualizarDisable = true;\r\n }\r\n }\r\n });\r\n\r\n}\r\n\r\n}\r\n","\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tSeção/Pergunta\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n {{ element.pergunta }}\r\n \r\n
\r\n \r\n \r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAvaliação Auditor\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n {{element.tipoAvaliacaoAuditor\t}}\r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tResposta Revisada\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tRéplica\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n {{element.tipoReplica}}\r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tResposta Revisada da Réplica\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAvaliação Final\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n {{element.tipoAvaliacaoFinal}}\r\n \r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Resposta Final\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\r\n\t\t
\r\n \r\n\t
\r\n
\r\n
\r\n \r\n Fechar\r\n \r\n
\r\n
\r\n\r\n\t\r\n
\r\n","import { Component, NgModule, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { IQuestionarioUGModel, IVisualizarQuestionarioRespostaUGModel, QuestionarioUGItensResposta } from 'src/app/models/questionario-ug.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { EntendendoEntidadeService } from 'src/app/services/entendendo-entidade.service';\r\nimport { PerguntaService } from 'src/app/services/pergunta.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { IListaQuestionarioRespostaUGModel } from 'src/app/models/questionario-ug.model';\r\nimport { QuestionarioUGRespostaService } from 'src/app/services/questionarioug-resposta.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n\r\n@Component({\r\n selector: 'app-visualizar-maturidade-de-risco',\r\n templateUrl: './visualizar-maturidade-de-risco.component.html',\r\n styleUrls: ['./visualizar-maturidade-de-risco.component.scss']\r\n})\r\n\r\nexport class VisualizarMaturidadeDeRiscoComponent extends BaseFormComponent implements OnInit {\r\n public model= {} as IListaQuestionarioRespostaUGModel;\r\n public tiles = [];\r\n public idUnidadeGestora : number;\r\n public semDados: boolean;\r\n public dataSource = new MatTableDataSource([]);\r\n displayedColumns: string[] = ['pergunta','tipoAvaliacaoAuditor', 'avaliacaoAuditor', 'tipoReplica', 'replica', 'avaliacaoFinal', 'tipoAvaliacaoFinal'];\r\n\r\n constructor(\r\n private questionarioUGService: EntendendoEntidadeService,\r\n toastr: ToastrService,\r\n route: ActivatedRoute,\r\n router: Router,\r\n private authService: AuthService,\r\n localeService: BsLocaleService,\r\n private perguntaService: PerguntaService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private questionarioService: QuestionarioUGRespostaService,\r\n public matDialog: MatDialog,\r\n public matGridListModule: MatGridListModule\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({value: '', disabled:true}),\r\n nome: new FormControl('', Validators.required),\r\n tipoDocumento: new FormControl({value:[] as IEnumModel[]})\r\n })\r\n\r\n async ngOnInit() {\r\n\r\n if(!this.novoRegistro){\r\n this.questionarioService.ObterRespostaQuestionario(this.id)\r\n .then((res) => {\r\n this.model = res.dados;\r\n this.titulo = \"Visualizar Questionário - \" + this.model.nomeQuestionario.toString();\r\n this.dataSource = new MatTableDataSource(res.dados.respostas);\r\n });\r\n }\r\n }\r\n\r\n public onBack() {\r\n\r\n this.submit = false;\r\n\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.model.idUG}?aba=1`);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Riscos Chaves\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Versão {{element.versao}} Tipo de Universo Auditável {{element.nomeTipoUniverso}} Data {{element.dataCriacaoFormatada}} Situação {{element.situacao}} Status \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, ViewChild } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport { IRiscosChavesListaModel } from 'src/app/models/riscos-chaves-lista.model';\r\nimport { RiscosChavesServices } from 'src/app/services/riscos-chaves.service';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport { QuestionarioUGService } from 'src/app/services/questionarioug.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Route } from '@angular/router';\r\nimport { FiltroRiscosChavesModel } from \"../../../models/filtro-riscos-chaves.model\";\r\nimport {\r\n EUniversoAuditavelSituacao,\r\n EUniversoAuditavelSituacaoDescricao\r\n} from \"../../../models/enum/universo-auditavel-situacao\";\r\nimport {\r\n ModalSolicitarPreenchimentoUniversoComponent\r\n} from \"../aba-universo-auditavel/modal-solicitar-preenchimento/modal-solicitar-preenchimento.component\";\r\nimport {\r\n ModalSolicitarPreenchimentoRiscosChavesComponent\r\n} from \"./modal-solicitar-preenchimento/modal-solicitar-preenchimento.component\";\r\nimport { ERiscosChavesSituacao, ERiscosChavesSituacaoDescricao } from \"../../../models/enum/riscos-chaves-situacao\";\r\nimport {\r\n ModalSelecaoUniversoAuditavelComponent\r\n} from \"./modal-selecao-universo-auditavel/modal-selecao-universo-auditavel.component\";\r\nimport { FiltroUniversoAuditavel } from \"../../../models/filtro-universo-auditavel\";\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'versao': return item.versao.trim().toLowerCase();\r\n case 'nome': return item.nomeTipoUniverso.trim().toLowerCase();\r\n case 'data': return item.data.trim().toLowerCase();\r\n case 'situacao': return item.situacao.trim().toLowerCase();\r\n case 'ativo':\r\n return item.ativo;\r\n default:\r\n return item.versao.trim().toLowerCase();\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-aba-riscos-chaves',\r\n templateUrl: './aba-riscos-chaves.component.html',\r\n styleUrls: ['./aba-riscos-chaves.component.scss']\r\n})\r\nexport class AbaRiscosChavesComponent extends BaseListComponent {\r\n\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IRiscosChavesListaModel;\r\n public displayedColumns: string[] = ['selecao', 'versao', 'nomeTipoUniverso', 'dataCriacaoFormatada', 'situacao', 'status'];\r\n public nomeTipoUniverso: string;\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public permissoes: IPermissaoModel;\r\n public filtro = {} as FiltroRiscosChavesModel;\r\n public totalItens: number;\r\n public pageEvent: any;\r\n public unidadeGestoraId: number;\r\n private currentDialogRef: MatDialogRef;\r\n tipoUniversoId: number;\r\n tipoUniverso: number;\r\n universoAuditavelId: number;\r\n\r\n public botaoNovoDisable = false;\r\n public botaoEditarDisable = false;\r\n public botaoExcluirDisable = false;\r\n public botaoImprimirDisable = false;\r\n public botaoPreenchimentoDisable = false;\r\n public botaoImportarDisable = false;\r\n public botaoVisualizarDisable = false;\r\n public universoSelecionado = false;\r\n public filtroUniverso = {} as FiltroUniversoAuditavel;\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private http: HttpClient,\r\n private riscosChavesService: RiscosChavesServices,\r\n private matDialog: MatDialog,\r\n private questionarioUGService: QuestionarioUGService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n private sharedService: SharedService\r\n ) {\r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n this.setarPermissoes();\r\n this.configurarFiltro();\r\n this.buscar();\r\n }\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n // this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Excluir);\r\n // this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Inserir);\r\n // this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Visualizar);\r\n // this.permissoes.imprimir = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Imprimir);\r\n this.permissoes.importar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioEntentendoEntidade, EnumAcaoRecurso.Importar);\r\n\r\n }\r\n\r\n async ngAfterViewInit() {\r\n\r\n //await this.configuraTela();\r\n this.buscar();\r\n\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n\r\n public novo() {\r\n\r\n // if (!this.semDados) {\r\n // const dialogConfig = new MatDialogConfig();\r\n // dialogConfig.id = 'modal-component';\r\n // dialogConfig.width = '650px';\r\n // dialogConfig.hasBackdrop = true;\r\n // dialogConfig.disableClose = true;\r\n // dialogConfig.data = {\r\n // source: 'novo'\r\n // };\r\n // //this.currentDialogRef = this.matDialog.open(ModalQuestionarioNovaVersaoComponent, dialogConfig);\r\n // this.currentDialogRef.afterClosed().subscribe((data) => {\r\n // this.buscar();\r\n // });\r\n // } else {\r\n\r\n this.router.navigate([`/gerar`]);\r\n\r\n // }\r\n }\r\n\r\n public buscar() {\r\n this.selectedModel = null;\r\n this.riscosChavesService\r\n .obter(this.filtro)\r\n .then((res) => {\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.totalItens = res.dados.totalItens;\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n private configurarFiltro() {\r\n this.filtro.unidadeGestoraId = this.sharedService.getId();\r\n // this.filtro.tipoQuestionario = 1; // criar um enum\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.colunaOrder = this.sort.active;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.pesquisa = this.searchNome;\r\n this.filtro.direcao = this.sort.direction;\r\n }\r\n\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n }\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n\r\n public editar(id: number) {\r\n if(!this.permissoes.editar){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n this.router.navigate([`/riscos-chaves-form/${id}`]);\r\n }\r\n\r\n public solicitar(id: number) {\r\n\r\n const situacoesPermitidas = [\r\n ERiscosChavesSituacaoDescricao[ERiscosChavesSituacao.EmElaboracao],\r\n ERiscosChavesSituacaoDescricao[ERiscosChavesSituacao.Avocado],\r\n ERiscosChavesSituacaoDescricao[ERiscosChavesSituacao.Expirado]\r\n ];\r\n const situacaoAtual = this.selectedModel.situacao;\r\n\r\n if(situacoesPermitidas.includes(situacaoAtual) && this.selectedModel.ativo == true){\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-solicitar-preenchimento-risco-chaves';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n param1: id\r\n };\r\n\r\n this.currentDialogRef = this.matDialog.open(ModalSolicitarPreenchimentoRiscosChavesComponent, dialogConfig);\r\n this.currentDialogRef.afterClosed().subscribe((data) => {\r\n this.buscar();\r\n });\r\n\r\n }\r\n }\r\n isSelect() {\r\n if (this.selectedModel !== null) {\r\n return !this.selectedModel?.ativo;\r\n }\r\n }\r\n public preencher(id: number) {}\r\n\r\n public avocar(id: number) {\r\n const situacao = ERiscosChavesSituacao.Pendente;\r\n if (this.selectedModel.situacao === ERiscosChavesSituacaoDescricao[situacao] && this.selectedModel.ativo == true){\r\n this.riscosChavesService.Avocar(id).then(res=>{\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Riscos chaves avocado com sucesso.');\r\n }else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n }).catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n }).finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n }\r\n public isButtonDisabled(): boolean {\r\n // Verifica se existe um modelo selecionado\r\n if (!this.selectedModel) {\r\n return true;\r\n }\r\n // Verifica as condições adicionais\r\n return !this.selectedModel.ativo ||\r\n !(this.selectedModel.situacao === 'Em Elaboração' || this.selectedModel.situacao === 'Avocado' || this.selectedModel.situacao === 'Em revisão' || this.selectedModel.situacao === 'Em preenchimento');\r\n }\r\n public excluir(id: number) {\r\n\r\n if(!this.permissoes.excluir){\r\n this.exibirMensagemErro(\"Você não possui permissão para Excluir.\");\r\n return;\r\n }\r\n\r\n this.riscosChavesService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Universo excluído com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n public importarArquivo() {\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n router: 'importar-riscos-chaves',\r\n unidadeGestora: this.filtro.unidadeGestoraId\r\n\r\n };\r\n\r\n const modal = this.matDialog.open(ModalSelecaoUniversoAuditavelComponent , dialogConfig );\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n this.filtroUniverso.pesquisa = data.nomeTipoUniversoAuditavel;\r\n if(this.filtroUniverso.pesquisa)\r\n this.universoSelecionado = true;\r\n\r\n this.tipoUniversoId = data.tipoUniversoAuditavelId;\r\n this.universoAuditavelId = data.id;\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Component, ViewChild,OnInit } from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { RiscosChavesServices } from 'src/app/services/riscos-chaves.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\nimport { IRiscosChavesModel } from 'src/app/models/riscos-chaves.model';\r\nimport { IUniversoAuditavelModel } from 'src/app/models/universo-auditavel.model';\r\nimport { TipoUniversoService } from 'src/app/services/tipo-universo.service';\r\nimport { MatDialogConfig } from '@angular/material/dialog';\r\nimport { ModalSelecaoUniversoAuditavelComponent } from '../modal-selecao-universo-auditavel/modal-selecao-universo-auditavel.component';\r\nimport { ModalSelecaoCriterioAvaliacaoComponent } from '../modal-selecao-criterio-avaliacao/modal-selecao-criterio-avaliacao.component';\r\nimport { IModeloQuestionarioItemModel } from 'src/app/models/modelo-questionario.model';\r\nimport { MatDialogRef, MatDialog } from '@angular/material/dialog';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport { UniversoAuditavelService } from 'src/app/services/universo-auditavel.service';\r\nimport { FiltroUniversoAuditavel } from 'src/app/models/filtro-universo-auditavel';\r\nimport { TipoUniversoEnum } from 'src/app/models/enum/tipo-universo.enum';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { FiltroCriterioAvaliacaoRiscos } from 'src/app/models/filtro-criterio-avaliacao-riscos.model';\r\nimport { ITipoUniversoModel } from 'src/app/models/tipo-universo.model';\r\n\r\n@Component({\r\n selector: 'app-gerar',\r\n templateUrl: './gerar.component.html',\r\n styleUrls: ['./gerar.component.scss']\r\n})\r\nexport class GerarComponent extends BaseListComponent {\r\n\r\n public filtroUniverso = {} as FiltroUniversoAuditavel;\r\n public filtroCriterios = {} as FiltroCriterioAvaliacaoRiscos;\r\n\tunidadeGestoraId: number;\r\n universoAuditavelId: number;\r\n\ttipoUniversoId: number;\r\n\ttipoUniverso: number;\r\n criterioAvaliacaoId: number;\r\n public dataSource: any[] = [];\r\n public universoSelecionado = false;\r\n public criterioSelecionado = false;\r\n public modelRiscosChaves : IRiscosChavesModel = {} as IRiscosChavesModel;\r\n public modelTipoUniverso : ITipoUniversoModel;\r\n\r\n constructor(\r\n private riscosChavesService: RiscosChavesServices,\r\n\t\tprivate universoAuditavelService: UniversoAuditavelService,\r\n\t\tprivate tipoUniversoService: TipoUniversoService,\r\n\t\tprivate matDialog: MatDialog,\r\n\t\tprivate router: Router,\r\n\t\tprivate sharedService: SharedService\r\n ) { \r\n super();\r\n }\r\n \r\n \r\n \r\n\r\n ngOnInit(): void {\r\n\r\n this.filtroUniverso.unidadeGestoraId = this.sharedService.getId();\r\n this.unidadeGestoraId = this.sharedService.getId();\r\n \r\n //this.buscar();\r\n\t}\r\n\r\n public buscar() {\r\n this.universoAuditavelService.obterAtivos(this.filtroUniverso).then((res)=>{\r\n this.dataSource = res.dados.resultado;\r\n }).catch((err)=> {\r\n this.exibirMensagemErro(err.mensagem);\r\n });\r\n }\r\n\r\n\tpublic buscarTipoUniversoAuditavel(){\r\n\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = 'modal-component';\r\n\t\tdialogConfig.width = '650px';\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\r\n const modal = this.matDialog.open(ModalSelecaoUniversoAuditavelComponent , dialogConfig );\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n this.filtroUniverso.pesquisa = data.nomeTipoUniversoAuditavel;\r\n if(this.filtroUniverso.pesquisa)\r\n this.universoSelecionado = true;\r\n\r\n this.tipoUniversoId = data.tipoUniversoAuditavelId;\r\n this.universoAuditavelId = data.id;\r\n }\r\n })\r\n\t}\r\n\r\n public buscarCriterioAvaliacao(){\r\n\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = 'modal-component';\r\n\t\tdialogConfig.width = '650px';\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\r\n const modal = this.matDialog.open(ModalSelecaoCriterioAvaliacaoComponent , dialogConfig );\r\n modal.afterClosed().subscribe((data) => {\r\n \r\n if(data){\r\n this.filtroCriterios.pesquisa = data.nome;\r\n if(this.filtroCriterios)\r\n this.criterioSelecionado = true;\r\n this.criterioAvaliacaoId = data.id;\r\n }\r\n })\r\n\t}\r\n\r\n public async verificaCriacao(){\r\n \r\n this.gerar();\r\n \r\n\r\n }\r\n\r\n\r\n public gerar(){\r\n \r\n if(!this.tipoUniversoId || this.tipoUniversoId == 0){\r\n this.exibirMensagemErro(\"Informe o modelo um tipo de Universo Auditável\")\r\n return;\r\n\r\n \r\n } \r\n else {\r\n this.inserirRiscosChaves(this.tipoUniversoId);\r\n }\r\n \r\n\r\n }\r\n public async inserirRiscosChaves(id: number){\r\n try {\r\n \r\n let res: IBaseModel = null;\r\n const result = await this.tipoUniversoService.obterPorId(id);\r\n if(result.sucesso){\r\n this.modelTipoUniverso = result.dados;\r\n this.modelRiscosChaves.nomeTipoUniverso = this.modelTipoUniverso.nome;\r\n this.modelRiscosChaves.tipoUniversoAuditavelId = this.tipoUniversoId;\r\n this.modelRiscosChaves.unidadeGestoraId = this.unidadeGestoraId;\r\n this.modelRiscosChaves.criterioAvaliacaoId = this.criterioAvaliacaoId \r\n }\r\n\r\n res = await this.riscosChavesService.inserir(this.modelRiscosChaves);\r\n if (res.sucesso) {\r\n this.router.navigate([`/riscos-chaves-form/${res.dados.id}`]);\r\n }\r\n \r\n }\r\n catch {\r\n \r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Tipo de Universo Auditável\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { BaseFormComponent } from \"../../../../shared/components/base-form/base-form.component\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { FiltroModel } from \"../../../../models/filtro.model\";\r\nimport { AuthService } from \"../../../../services/auth.service\";\r\nimport { EntendendoEntidadeService } from \"../../../../services/entendendo-entidade.service\";\r\nimport { QuestionarioUGRespostaService } from \"../../../../services/questionarioug-resposta.service\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { SharedService } from \"../../../../services/shared.service\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { TipoUniversoService } from \"../../../../services/tipo-universo.service\";\r\nimport { UniversoAuditavelService } from \"../../../../services/universo-auditavel.service\";\r\nimport { IArquivoModel } from \"../../../../models/arquivo.model\";\r\nimport Swal from \"sweetalert2\";\r\n\r\n\r\n@Component({\r\n selector: 'app-importar-arquivo-risco-chaves',\r\n templateUrl: './importar-arquivo-risco-chaves.component.html',\r\n styleUrls: ['./importar-arquivo-risco-chaves.component.scss']\r\n})\r\nexport class ImportarArquivoRiscosChavesComponent extends BaseFormComponent implements OnInit{\r\n public filtro = {} as FiltroModel;\r\n\r\n tipoUniversoId:number;\r\n unidadeGestoraId:number;\r\n searchTerm: string = '';\r\n nomeTipoUniverso: string = '';\r\n arquivo: File | null = null;\r\n arquivoUrl: string;\r\n nomeArquivo: string;\r\n errorMessage: string | null = null;\r\n botaoEncerrarHabilitado: boolean = true;\r\n constructor(\r\n private authService: AuthService,\r\n private tipoUniversoService: TipoUniversoService,\r\n private universoAuditavelService: UniversoAuditavelService,\r\n matDialog: MatDialog,\r\n router: Router,\r\n private sharedService: SharedService,\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n localeService: BsLocaleService\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.unidadeGestoraId = this.route.snapshot.queryParams['unidadeGestoraId']\r\n this.tipoUniversoId = this.route.snapshot.queryParams['tipoUniversoId']\r\n\r\n this.buscarTipoUniverso();\r\n this.downloadAnexo();\r\n }\r\n\r\n public buscarTipoUniverso(){\r\n\r\n if(this.tipoUniversoId !== null){\r\n this.tipoUniversoService.obterPorId(this.tipoUniversoId).then(res =>{\r\n if(res.sucesso){\r\n this.nomeTipoUniverso = res.dados.nome;\r\n }else{\r\n this.exibirMensagemAlerta('Tipo não encontrado!');\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n onFileSelected(event: any): void {\r\n const file: File = event.target.files[0];\r\n if (file) {\r\n // Verifica se a extensão do arquivo é PDF\r\n const fileExtension = file.name.split('.').pop()?.toLowerCase();\r\n if (fileExtension !== 'pdf') {\r\n // Emite um aviso caso a extensão não seja PDF\r\n this.errorMessage = 'Por favor, selecione um arquivo PDF!';\r\n this.arquivo = null; // Reseta o arquivo selecionado\r\n } else {\r\n this.arquivo = file;\r\n this.errorMessage = null;\r\n }\r\n }\r\n }\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=4`);\r\n }\r\n\r\n enviarArquivo(): void {\r\n\r\n if (this.arquivo) {\r\n const arquivoModel: IArquivoModel = {\r\n id: 0,\r\n nomeArquivo: this.arquivo.name,\r\n entidadeArquivo: 1,\r\n arquivo: this.arquivo,\r\n url: ''\r\n };\r\n\r\n\r\n\r\n this.universoAuditavelService.enviarArquivo(this.unidadeGestoraId, this.tipoUniversoId , arquivoModel).then(\r\n (response) => {\r\n this.downloadAnexo();\r\n this.exibirMensagemSucesso('Arquivo importado com sucesso');\r\n // this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=1`);\r\n },\r\n (error) => {\r\n this.exibirMensagemErro(error.mensagem.descricao);\r\n }\r\n );\r\n }\r\n }\r\n\r\n search(): void {\r\n console.log('Searching for:', this.searchTerm);\r\n // Implementar lógica de pesquisa aqui\r\n }\r\n\r\n finalizarAvaliacao(): void {\r\n console.log('Avaliação finalizada');\r\n // Implementar lógica de finalização aqui\r\n }\r\n\r\n cancelar(): void {\r\n console.log('Operação cancelada');\r\n // Implementar lógica de cancelamento aqui\r\n }\r\n\r\n\r\n onEncerrarAvaliacao(){\r\n Swal.fire({\r\n title: 'Atenção',\r\n text: \"Esta ação não poderá ser desfeita! Deseja continuar? \",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n console.log(this.tipoUniversoId);\r\n console.log(this.unidadeGestoraId);\r\n if (res.value) {\r\n this.universoAuditavelService.encerrarUniversoImportacaoArquivo(this.unidadeGestoraId, this.tipoUniversoId)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=3`);\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n\r\n }\r\n })}\r\n\r\n downloadAnexo(): void {\r\n this.universoAuditavelService.DownloadArquivo(this.unidadeGestoraId, this.tipoUniversoId).then(res=> {\r\n if(res.sucesso && res.dados !== undefined){\r\n this.arquivoUrl = res.dados.url;\r\n this.nomeArquivo = res.dados.nomeArquivo;\r\n if (res.dados.id) {\r\n this.botaoEncerrarHabilitado = false; // Habilita o botão\r\n }\r\n }else{\r\n return;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n \r\n \r\n Encerrar Avaliação\r\n \r\n
\r\n","
\r\n
\r\n
\r\n

Selecionar Critério Avaliação

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Nome\r\n \r\n {{element.nome}} Obrigatório \r\n \r\n \r\n
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ","import { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { CriteriosAvaliacaoRiscoService } from 'src/app/services/criterios-avaliacao-risco.service';\r\nimport { IUniversoAuditavelModel } from 'src/app/models/universo-auditavel.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { FiltroUniversoAuditavel } from 'src/app/models/filtro-universo-auditavel';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport { ITipoUniversoModel } from 'src/app/models/tipo-universo.model';\r\nimport { MatCheckboxChange } from \"@angular/material/checkbox\";\r\nimport { ICriteriosAvaliacaoRiscos } from 'src/app/models/criterios-avaliacao-riscos.model';\r\nimport { FiltroCriterioAvaliacaoRiscos } from 'src/app/models/filtro-criterio-avaliacao-riscos.model';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'versao': return item.versao.trim().toLowerCase();\r\n case 'data': return item.data.trim().toLowerCase();\r\n case 'situacao': return item.situacao.trim().toLowerCase();\r\n case 'ativo':\r\n return item.ativo;\r\n default:\r\n return item.versao;\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-modal-selecao-criterio-avaliacao',\r\n templateUrl: './modal-selecao-criterio-avaliacao.component.html',\r\n styleUrls: ['./modal-selecao-criterio-avaliacao.component.scss']\r\n})\r\nexport class ModalSelecaoCriterioAvaliacaoComponent extends BaseListComponent implements OnInit {\r\n\r\n public semDados = true;\r\n public totalItens: number;\r\n public selecionado: ITipoUniversoModel;\r\n public filtro = {} as FiltroCriterioAvaliacaoRiscos;\r\n public displayedColumns: string[] = ['selecao', 'nome'];\r\n public dataSource = new MatTableDataSource([]);\r\n\r\n \r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @Output() nomeSelecionado = new EventEmitter();\r\n\r\n constructor(private dialogRef: MatDialogRef,\r\n private criterioAvaliacaoService: CriteriosAvaliacaoRiscoService,\r\n ) { \r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscar();\r\n }\r\n\r\n public buscar() {\r\n //this.selectedModel = null;\r\n this.criterioAvaliacaoService.obterAtivos(this.filtro).then((res)=>{\r\n this.totalItens = res.dados.totalItens;\r\n // @ts-ignore\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n\r\n }).catch((err)=> {\r\n this.exibirMensagemErro(err.mensagem);\r\n });\r\n }\r\n\r\n public async concluir() {\r\n // if(this.data !== null){\r\n // this.filtroUniverso.unidadeGestoraId = this.data.unidadeGestora;\r\n // this.filtroUniverso.tipoUniversoAuditavelId = this.tipoUniversoId;\r\n // this.filtroUniverso.ativo = true;\r\n\r\n this.dialogRef.close(this.selecionado);\r\n\r\n }\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n public filtrar(event: Event){\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n onCheckboxChange(event: MatCheckboxChange, element: any){\r\n if (event.checked){\r\n this.selecionado = !this.selecionado || this.selecionado.id !== element.id ? element : null;\r\n this.nomeSelecionado = element.nome;\r\n\r\n }\r\n }\r\n public selecionar(item: ITipoUniversoModel) {\r\n this.selecionado = !this.selecionado || this.selecionado.id !== item.id ? item : null;\r\n \r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Selecionar Risco

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Nome\r\n \r\n {{element.nome}} Obrigatório \r\n \r\n \r\n
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ","import { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { RiscosService } from 'src/app/services/riscos.service';\r\nimport { RiscosChavesServices } from 'src/app/services/riscos-chaves.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { IRiscosModel } from 'src/app/models/riscos.model';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport { MatCheckboxChange } from \"@angular/material/checkbox\";\r\nimport { FiltroRisco } from 'src/app/models/filtro-risco.model';\r\nimport { IRiscosChavesModel, IRiscosChavesProcessoItemModel } from 'src/app/models/riscos-chaves.model';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'versao': return item.versao.trim().toLowerCase();\r\n case 'data': return item.data.trim().toLowerCase();\r\n case 'situacao': return item.situacao.trim().toLowerCase();\r\n case 'ativo':\r\n return item.ativo;\r\n default:\r\n return item.versao;\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-modal-selecao-risco',\r\n templateUrl: './modal-selecao-risco.component.html',\r\n styleUrls: ['./modal-selecao-risco.component.scss']\r\n})\r\nexport class ModalSelecaoRiscoComponent extends BaseListComponent implements OnInit {\r\n\r\n public filtro = {} as FiltroRisco;\r\n public semDados = true;\r\n public riscosChavesId: number;\r\n public totalItens: number;\r\n public selecionado: IRiscosModel;\r\n public displayedColumns: string[] = ['selecao', 'nome'];\r\n public dataSource = new MatTableDataSource([]);\r\n public modelRiscosChaves: IRiscosChavesModel;\r\n \r\n\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @Output() idSelecionado = new EventEmitter();\r\n\r\n constructor(private riscoService: RiscosService,\r\n private riscosChavesService: RiscosChavesServices,\r\n private route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n ) { \r\n super();\r\n }\r\n\r\n ngOnInit(): void { \r\n this.buscar();\r\n }\r\n\r\n public buscar() {\r\n this.riscoService.obterAtivos(this.filtro).then((res)=>{\r\n this.totalItens = res.dados.totalItens;\r\n // @ts-ignore\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n\r\n }).catch((err)=> {\r\n this.exibirMensagemErro(err.mensagem);\r\n });\r\n }\r\n\r\n public async concluir() {\r\n\r\n this.dialogRef.close(this.selecionado);\r\n\r\n }\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n public filtrar(event: Event){\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n onCheckboxChange(event: MatCheckboxChange, element: any){\r\n if (event.checked){\r\n this.selecionado = !this.selecionado || this.selecionado.id !== element.id ? element : null;\r\n this.idSelecionado = element.id;\r\n\r\n }\r\n }\r\n public async selecionar(item: IRiscosModel) {\r\n this.selecionado = !this.selecionado || this.selecionado.id !== item.id ? item : null;\r\n \r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Selecionar Universo Auditável

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n Nome\r\n \r\n {{element.nomeTipoUniversoAuditavel}} Tipo entrada\r\n \r\n {{element.tipoEntrada.descricao}} Obrigatório \r\n \r\n \r\n
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild, Output, EventEmitter, Inject } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { UniversoAuditavelService } from 'src/app/services/universo-auditavel.service';\r\nimport { IUniversoAuditavelModel } from 'src/app/models/universo-auditavel.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { FiltroUniversoAuditavel } from 'src/app/models/filtro-universo-auditavel';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport { ITipoUniversoModel } from 'src/app/models/tipo-universo.model';\r\nimport { MatCheckboxChange } from \"@angular/material/checkbox\";\r\nimport { FiltroRiscosChavesModel } from \"../../../../models/filtro-riscos-chaves.model\";\r\nimport { RiscosChavesServices } from \"../../../../services/riscos-chaves.service\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BaseFormComponent } from \"../../../../shared/components/base-form/base-form.component\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport {\r\n ModalUniversoAuditavelImportacaoComponent\r\n} from \"../../shared/modal-universo-auditavel-importacao/modal-universo-auditavel-importacao.component\";\r\nimport {\r\n ModalRiscosChavesImportacaoComponent\r\n} from \"../../shared/modal-riscos-chaves-importacao/modal-riscos-chaves-importacao.component\";\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'versao': return item.versao.trim().toLowerCase();\r\n case 'data': return item.data.trim().toLowerCase();\r\n case 'situacao': return item.situacao.trim().toLowerCase();\r\n case 'ativo':\r\n return item.ativo;\r\n default:\r\n return item.versao;\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-modal-selecao-universo-auditavel',\r\n templateUrl: './modal-selecao-universo-auditavel.component.html',\r\n styleUrls: ['./modal-selecao-universo-auditavel.component.scss']\r\n})\r\nexport class ModalSelecaoUniversoAuditavelComponent extends BaseFormComponent implements OnInit {\r\n\r\n public semDados = true;\r\n public totalItens: number;\r\n public selecionado: ITipoUniversoModel;\r\n public filtro = {} as FiltroUniversoAuditavel;\r\n public filtroRiscosChaves = {} as FiltroRiscosChavesModel;\r\n public displayedColumns: string[] = ['selecao', 'nome'];\r\n public dataSource = new MatTableDataSource([]);\r\n public tipoUniversoId: number;\r\n public pageEvent: any;\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @Output() nomeSelecionado = new EventEmitter();\r\n\r\n constructor(private dialogRef: MatDialogRef,\r\n private universoAuditavelService: UniversoAuditavelService,\r\n private risosChavesService: RiscosChavesServices,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n public toastr: ToastrService,\r\n public matDialog: MatDialog,\r\n route: ActivatedRoute,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscar();\r\n }\r\n\r\n public buscar() {\r\n\r\n this.universoAuditavelService.obterAtivos(this.filtro).then((res)=>{\r\n this.totalItens = res.dados.totalItens;\r\n // @ts-ignore\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n\r\n }).catch((err)=> {\r\n this.exibirMensagemErro(err.mensagem);\r\n });\r\n }\r\n\r\n public async concluir() {\r\n // if(this.data !== null){\r\n // this.filtroRiscosChaves.unidadeGestoraId = this.data.unidadeGestora;\r\n // this.filtroUniverso.tipoUniversoAuditavelId = this.tipoUniversoId;\r\n // this.filtroUniverso.ativo = true;\r\n\r\n if(this.data !== null){\r\n this.filtroRiscosChaves.unidadeGestoraId = this.data.unidadeGestora;\r\n this.filtroRiscosChaves.tipoUniversoAuditavelId = this.tipoUniversoId;\r\n\r\n const retorno = await this.risosChavesService.obter(this.filtroRiscosChaves);\r\n\r\n if(retorno.dados.resultado.length > 0){\r\n this.dialogRef.close();\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component-importar';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n source: 'importar-risco-chaves-novo',\r\n unidadeGestoraId: this.filtroRiscosChaves.unidadeGestoraId,\r\n tipoUniversoId: this.tipoUniversoId,\r\n\r\n };\r\n const modal= this.matDialog.open(ModalRiscosChavesImportacaoComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n\r\n });\r\n\r\n }else{\r\n this.router.navigate(['/importar-arquivo-riscos-chaves/novo'], { queryParams: { unidadeGestoraId: this.filtroRiscosChaves.unidadeGestoraId, tipoUniversoId: this.tipoUniversoId } });\r\n this.dialogRef.close(this.selecionado);\r\n }\r\n\r\n }\r\n\r\n this.dialogRef.close(this.selecionado);\r\n\r\n }\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n public filtrar(event: Event){\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n onCheckboxChange(event: MatCheckboxChange, element: any){\r\n if (event.checked){\r\n this.selecionado = !this.selecionado || this.selecionado.id !== element.id ? element : null;\r\n this.nomeSelecionado = element.nomeTipoUniversoAuditavel;\r\n this.tipoUniversoId = element.id;\r\n // this.tipoUniverso = element.tipo;\r\n }\r\n }\r\n public selecionar(item: ITipoUniversoModel) {\r\n this.selecionado = !this.selecionado || this.selecionado.id !== item.id ? item : null;\r\n this.tipoUniversoId = item.id;\r\n //this.tipoUniverso = item.tipo;\r\n }\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { EntendendoEntidadeService } from \"../../../../services/entendendo-entidade.service\";\r\nimport { SharedService } from \"../../../../services/shared.service\";\r\nimport { UniversoAuditavelService } from \"../../../../services/universo-auditavel.service\";\r\nimport { RiscosChavesServices } from \"../../../../services/riscos-chaves.service\";\r\n\r\n@Component({\r\n selector: 'app-modal-solicitar-preenchimento',\r\n templateUrl: './modal-solicitar-preenchimento.component.html',\r\n styleUrls: ['./modal-solicitar-preenchimento.component.scss']\r\n})\r\nexport class ModalSolicitarPreenchimentoRiscosChavesComponent implements OnInit{\r\n\r\n prazoDias: number;\r\n\r\n public mensagemAlerta: string;\r\n\r\n constructor(\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private riscosChavesService: RiscosChavesServices,\r\n private sharedService: SharedService,\r\n private dialogRef: MatDialogRef\r\n\r\n ) { }\r\n\r\n ngOnInit(): void {}\r\n public cancelar(){\r\n this.dialogRef.close();\r\n }\r\n\r\n public concluir(){\r\n\r\n if (!this.prazoDias || this.prazoDias < 1) {\r\n this.exibirMensagemAlerta(\"Preencha um prazo!\");\r\n return;\r\n }\r\n this.riscosChavesService\r\n .solicitarPreenchimentoFormulario(this.data.param1, this.prazoDias)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n // aqui chamar o pagina principal\r\n this.dialogRef.close();\r\n } else {\r\n // this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n // this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n // this.buscar();\r\n });\r\n }\r\n\r\n public onChangePreencherPrazo(event){\r\n this.prazoDias = event.target.value;\r\n }\r\n public exibirMensagemAlerta(mensagem: string): void{\r\n this.mensagemAlerta = mensagem;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Prazo para Preenchimento

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Unidades Gestora\r\n
  4. \r\n
  5. Editar Unidade Gestora
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n

Riscos

\r\n \r\n \r\n \r\n \r\n Descrição do Risco \r\n \r\n Descrição do Risco \r\n {{risco.nomeRisco}}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ escala }} \r\n \r\n \r\n \r\n \r\n \r\n {{ mag.magnitude }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n RI \r\n {{ risco.ri }} \r\n \r\n \r\n \r\n \r\n Nível de Risco \r\n {{ risco.nivelRisco }} \r\n \r\n \r\n \r\n \r\n Situação \r\n \r\n \r\n Inexistente\r\n Fraco\r\n Forte\r\n \r\n \r\n \r\n \r\n \r\n \r\n Risco de Controle \r\n {{ risco.riscoControle }} \r\n \r\n \r\n \r\n \r\n RR \r\n {{ risco.rr }} \r\n \r\n \r\n \r\n \r\n Nível de Risco \r\n {{ risco.nivelRiscoResidual }} \r\n \r\n \r\n \r\n \r\n Ações \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogConfig, MatDialog } from '@angular/material/dialog';\r\nimport { FiltroRisco } from 'src/app/models/filtro-risco.model';\r\nimport { CriteriosAvaliacaoRiscoService } from 'src/app/services/criterios-avaliacao-risco.service';\r\nimport { RiscosChavesServices } from 'src/app/services/riscos-chaves.service';\r\nimport { RiscosService } from 'src/app/services/riscos.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport { ModalSelecaoRiscoComponent } from '../modal-selecao-risco/modal-selecao-risco.component';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { IRiscosChavesProcessoItemModel } from 'src/app/models/riscos-chaves.model';\r\nimport { ICriteriosAvaliacaoRiscos } from 'src/app/models/criterios-avaliacao-riscos.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { EscalasService } from 'src/app/services/escalas.service';\r\n\r\nexport interface Risco {\r\n descricao: string;\r\n impacto: number;\r\n probabilidade: number;\r\n ri: number;\r\n nivelRisco: string;\r\n situacao: string;\r\n riscoControle: number;\r\n rr: number;\r\n nivelRiscoResidual: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-preenchimento-riscos-criterios',\r\n templateUrl: './preenchimento-riscos-criterios.component.html',\r\n styleUrls: ['./preenchimento-riscos-criterios.component.scss']\r\n})\r\nexport class PreenchimentoRiscosCriteriosComponent extends BaseListComponent implements OnInit {\r\n\r\n public filtro = {} as FiltroRisco;\r\n public modelRiscosChavesProcessoItem: IRiscosChavesProcessoItemModel = {} as IRiscosChavesProcessoItemModel;\r\n public modelCriterioAvaliacaoRisco: ICriteriosAvaliacaoRiscos = {} as ICriteriosAvaliacaoRiscos;\r\n public dataSource = new MatTableDataSource([]);\r\n public nomeRisco: string;\r\n id: number;\r\n processoId: number;\r\n displayedColumnDescricao: string[] = ['descricao'];\r\n displayedColumnEscalas: string[] = [];\r\n displayedColumns: string[] = ['ri', 'nivelRisco', 'situacao', 'riscoControle', 'rr', 'nivelRiscoResidual', 'acoes']\r\n\r\n\r\n\r\n \r\n\r\n constructor(private riscosChavesService: RiscosChavesServices,\r\n private riscosService: RiscosService,\r\n private escalasService: EscalasService,\r\n private criteriosAvaliacaoService: CriteriosAvaliacaoRiscoService,\r\n private sharedService: SharedService,\r\n private matDialog: MatDialog,\r\n private route: ActivatedRoute\r\n ) { \r\n super();\r\n }\r\n\r\n async ngOnInit() {\r\n this.id = parseInt(this.route.snapshot.paramMap.get('id'));\r\n this.processoId = parseInt(this.route.snapshot.paramMap.get('processoId'));\r\n await this.riscosChavesService.obterPorId(this.id)\r\n this.obterDescricaoRisco();\r\n \r\n }\r\n\r\n excluirRisco(index: number) {\r\n // this.dataSource.splice(index, 1);\r\n // this.dataSource = [...this.dataSource]; // Atualiza o array\r\n }\r\n\r\n public obterDescricaoRisco() {\r\n //this.selectedModel = null;\r\n this.riscosChavesService\r\n .obterItensProcesso(41,655)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados); \r\n console.log(this.dataSource.data) \r\n this.obterEscalas();\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n }\r\n\r\n public buscarRisco(){\r\n \r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = 'modal-component';\r\n\t\tdialogConfig.width = '650px';\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\r\n const modal = this.matDialog.open(ModalSelecaoRiscoComponent , dialogConfig );\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n this.filtro.pesquisa = data.id;\r\n this.adicionarRisco(data.id);\r\n }\r\n })\r\n\t}\r\n\r\n public async adicionarRisco(riscoId: number){\r\n try {\r\n \r\n const result = await (await this.riscosService.obterPorId(riscoId)).dados;7\r\n this.nomeRisco = result.nome;\r\n if (this.id) {\r\n const res = await this.riscosChavesService.obterPorId(this.id).then((res)=>{\r\n this.modelRiscosChavesProcessoItem.riscoChaveId = res.dados.id;\r\n this.modelRiscosChavesProcessoItem.criterioAvaliacaoId = res.dados.criterioAvaliacaoId;\r\n this.modelRiscosChavesProcessoItem.riscoId = riscoId;\r\n this.modelRiscosChavesProcessoItem.processoId = this.processoId;\r\n this.modelRiscosChavesProcessoItem.nomeRisco = this.nomeRisco; \r\n })\r\n await this.riscosChavesService.inserirProcessoItem(this.modelRiscosChavesProcessoItem);\r\n }\r\n } catch (error) {\r\n console.error(\"Erro inesperado ao inserir o risco no processo!:\", error);\r\n }\r\n\r\n }\r\n\r\n public obterEscalas() {\r\n\r\n if (this.dataSource.data.length > 0) {\r\n this.displayedColumnEscalas = this.dataSource.data[0].escalasCriterioAvaliacao.map(e => e.nome);\r\n }\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial \r\n
  2. \r\n
  3. \r\n Riscos Chaves\r\n
  4. \r\n
  5. Titulo
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
SubtipoMacroprocessoProcessosMagnitude (Risco Inerente)Magnitude (Risco Residual)Ações
{{ subtipo.nome }}
{{ macro.nome }}
{{ processo.nome }}{{ processo.magnitudeRiscoInerente || 0 }}{{ processo.magnitudeRiscoResidual || 0 }}\r\n \r\n \r\n
Magnitude1 2
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { RiscosChavesServices } from 'src/app/services/riscos-chaves.service';\r\nimport { CriteriosAvaliacaoRiscoService } from 'src/app/services/criterios-avaliacao-risco.service';\r\nimport { TipoUniversoService } from 'src/app/services/tipo-universo.service';\r\nimport { IRiscosChavesModel } from 'src/app/models/riscos-chaves.model';\r\nimport { IUniversoAuditavelModel } from 'src/app/models/universo-auditavel.model';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ITipoUniversoModel, \r\n ITipoUniversoItemModel, \r\n ITipoUniversoUGModel \r\n} from 'src/app/models/tipo-universo.model';\r\n\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-riscos-chaves-form',\r\n templateUrl: './riscos-chaves-form.component.html',\r\n styleUrls: ['./riscos-chaves-form.component.scss']\r\n})\r\nexport class RiscosChavesFormComponent extends BaseFormComponent implements OnInit {\r\n\r\n public tipoUniversoId : number;\r\n public unidadeGestoraId : number;\r\n public criterioAvaliacaoId: number;\r\n public criterioId: string;\r\n public unidadeGestora: number;\r\n public processoId: number;\r\n public semDados: boolean;\r\n public modelRiscosChaves : IRiscosChavesModel = {} as IRiscosChavesModel;\r\n public modelTipoUniverso : ITipoUniversoModel = {} as ITipoUniversoModel;\r\n public modelTipoUniversoItens : ITipoUniversoUGModel = {} as ITipoUniversoUGModel;\r\n \r\n \r\n\r\n constructor(route: ActivatedRoute, \r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private riscosChavesService: RiscosChavesServices,\r\n private tipoUniversoService: TipoUniversoService,\r\n private criterioAvaliacaoService: CriteriosAvaliacaoRiscoService,\r\n public matDialog: MatDialog,\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n if(this.id){\r\n const res = await this.riscosChavesService.obterPorId(this.id);\r\n if(res.sucesso){\r\n this.tipoUniversoId = res.dados.tipoUniversoAuditavelId; \r\n this.unidadeGestoraId = res.dados.unidadeGestoraId;\r\n this.criterioAvaliacaoId = res.dados.criterioAvaliacaoId;\r\n\r\n }\r\n \r\n }\r\n if(this.tipoUniversoId != null){\r\n this.buscarTipoUniverso(this.tipoUniversoId);\r\n }\r\n }\r\n\r\n public async buscarTipoUniverso(idTipo:number){\r\n this.buscarItens(this.tipoUniversoId, this.unidadeGestoraId);\r\n }\r\n\r\n public async buscarItens(idTipoUniverso: number, idUG: number){\r\n\r\n if(idTipoUniverso){\r\n const res = await this.tipoUniversoService.obterItens(idTipoUniverso, idUG);\r\n if(res.sucesso){\r\n this.modelTipoUniversoItens = res.dados;\r\n this.criterioId = this.criterioAvaliacaoId.toString();\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n\r\n }\r\n }\r\n\r\n public async abrirPreenchimento(processoId: number){\r\n \r\n const res = await this.criterioAvaliacaoService.obterPorId(this.criterioAvaliacaoId);\r\n if(res.sucesso){\r\n if(this.id)\r\n this.router.navigate([`/preenchimento-riscos-criterios`,this.id, processoId]);\r\n }\r\n\r\n }\r\n\r\n getRowSpan(subtipo: any): number {\r\n let rowCount = 0;\r\n subtipo.itens.forEach(macro => {\r\n if (macro.tipo === 2) {\r\n rowCount += macro.itens.length || 1; // Se não houver processos, contar pelo menos 1 linha\r\n }\r\n });\r\n return rowCount || 1; // Se não houver macros, contar pelo menos 1 linha\r\n }\r\n\r\n \r\n\r\n}\r\n\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Universo Auditável\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {{ option.nome }}\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n {{ option.nome }}\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n \r\n \r\n Versão {{element.versao}} Data {{element.dataCriacaoFormatada}} Tipo Universo Auditável {{element.nomeTipoUniversoAuditavel}} Situação {{element.status}} Status \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { BaseListComponent } from \"../../../shared/components/base-list/base-list.component\";\r\nimport { Component, ViewChild } from \"@angular/core\";\r\nimport { IQuestionarioUGListaModel } from \"../../../models/questionario-ug-lista.model\";\r\nimport { IUniversoAuditavelModel } from \"../../../models/universo-auditavel.model\";\r\nimport { AuthService } from \"../../../services/auth.service\";\r\nimport { QuestionarioUGService } from \"../../../services/questionarioug.service\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MatDialog, MatDialogConfig, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { UnidadeGestoraService } from \"../../../services/unidade-gestora.service\";\r\nimport { SharedService } from \"../../../services/shared.service\";\r\nimport { FiltroUniversoAuditavel } from \"../../../models/filtro-universo-auditavel\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { UniversoAuditavelService } from \"../../../services/universo-auditavel.service\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { IPermissaoModel } from \"../../../models/permissao.model\";\r\nimport { EnumRecursoPerfil } from \"../../../models/enum/recurso-perfil.enum\";\r\nimport { EnumAcaoRecurso } from \"../../../models/enum/acao-recurso.enum\";\r\nimport { EnumTipoQuestionarioUG } from \"../../../models/enum/tipo-questionario-ug.enum\";\r\nimport {\r\n ModalUniversoAuditavelNovaVersaoComponent\r\n} from \"../shared/modal-universo-auditavel-nova-versao/modal-universo-auditavel-nova-versao.component\";\r\nimport {\r\n EQuestionarioUGSituacao,\r\n EQuestionarioUGSituacaoDescricao\r\n} from \"../../../models/enum/questionario-ug-situacao.enum\";\r\nimport {\r\n EUniversoAuditavelSituacao,\r\n EUniversoAuditavelSituacaoDescricao\r\n} from \"../../../models/enum/universo-auditavel-situacao\";\r\nimport {\r\n ModalSolicitarPreenchimentoUniversoComponent\r\n} from \"./modal-solicitar-preenchimento/modal-solicitar-preenchimento.component\";\r\nimport { ModalSelecaoTipoUniversoComponent } from \"./modal-selecao-tipo-universo/modal-selecao-tipo-universo.component\";\r\nimport { MatCheckboxChange } from \"@angular/material/checkbox\";\r\n\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'versao': return item.versao.trim().toLowerCase();\r\n case 'data': return item.data.trim().toLowerCase();\r\n case 'situacao': return item.situacao.trim().toLowerCase();\r\n case 'ativo':\r\n return item.ativo;\r\n default:\r\n return item.versao;\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-aba-universo-auditavel',\r\n templateUrl: './aba-univserso-auditavel.component.html',\r\n styleUrls: ['./aba-univserso-auditavel.component.scss']\r\n})\r\n\r\nexport class AbaUniversoAuditavelComponent extends BaseListComponent{\r\n\r\n public selectedModel: IUniversoAuditavelModel;\r\n public dataSource = new MatTableDataSource([]);\r\n public filtro = {} as FiltroUniversoAuditavel;\r\n public searchAtivo = true;\r\n public botaoImportarDisable = false;\r\n public pageEvent: any;\r\n public totalItens: number;\r\n public displayedColumns: string[] = ['selecao', 'versao', 'nomeTipoUniversoAuditavel', 'dataCriacaoFormatada' , 'ativo', 'status'];\r\n public semDados = true;\r\n public botaoImprimirDisable = false;\r\n public botaoExcluirDisable = false;\r\n public botaoVisualizarDisable = false;\r\n public botaoEditarDisable = false;\r\n public botaoNovoDisable = false;\r\n public permissoes: IPermissaoModel;\r\n private currentDialogRef: MatDialogRef;\r\n tipoUniversoId: number;\r\n tipoUniverso: number;\r\n\r\n\r\n\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n optionsSituacao = [\r\n { id: undefined, nome: 'Todos' },\r\n { id: 1, nome: 'Em elaboração' },\r\n { id: 2, nome: 'Em preenchimento' },\r\n { id: 3, nome: 'Revisão' },\r\n { id: 4, nome: 'Pendente' },\r\n { id: 5, nome: 'Avocado' },\r\n { id: 6, nome: 'Expirado' },\r\n { id: 7, nome: 'Finalizado' },\r\n ];\r\n\r\n optionsTipoUniverso = [\r\n { id: undefined, nome: 'Todos' },\r\n { id: 1, nome: 'Pradonizado' },\r\n { id: 2, nome: 'Não Pradonizado ' },\r\n ];\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private questionarioUGService: QuestionarioUGService,\r\n private router: Router,\r\n private matDialog: MatDialog,\r\n private universoAuditavelService: UniversoAuditavelService,\r\n private sharedService: SharedService\r\n ) {\r\n super();\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n\r\n }\r\n\r\n async ngAfterViewInit() {\r\n this.configurarFiltro();\r\n this.buscar();\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Consultar);\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Excluir);\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.AtivarInativar);\r\n this.permissoes.incluir = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Inserir);\r\n this.permissoes.visualizar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Visualizar);\r\n this.permissoes.importar = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Importar);\r\n this.permissoes.imprimir = this.authService.possuiPermissao(EnumRecursoPerfil.QuestionarioMaturidade, EnumAcaoRecurso.Imprimir);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n public editar(id: number) {\r\n if(!this.permissoes.editar){\r\n this.exibirMensagemErro(\"Você não possui permissão para esta ação.\");\r\n return;\r\n }\r\n\r\n this.router.navigate([`/universo-auditavel-form/${id}`]);\r\n }\r\n public excluir(id: number) {\r\n\r\n if(!this.permissoes.excluir){\r\n this.exibirMensagemErro(\"Você não possui permissão para Excluir.\");\r\n return;\r\n }\r\n\r\n this.universoAuditavelService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Universo excluído com sucesso.');\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n public novo() {\r\n if(!this.permissoes.incluir){\r\n this.exibirMensagemErro(\"Você não possui permissão para Incluir.\");\r\n return;\r\n }\r\n this.sharedService.setId(this.filtro.unidadeGestoraId);\r\n this.router.navigate(['tipo-universo-auditavel/novo']);\r\n }\r\n public visualizar(id: number) {\r\n this.router.navigate([`visualizar-universo-auditavel/${id}`]);\r\n }\r\n public imprimir(id: number) {}\r\n\r\n selecionarOpcao(option: any) {\r\n this.filtro.status = option.nome === 'Todos' ? undefined : option.nome;\r\n this.buscar();\r\n }\r\n\r\n isChecked(option: any): boolean {\r\n return option.nome === 'Todos'\r\n ? this.filtro?.status === undefined\r\n : this.filtro?.status === option.nome;\r\n }\r\n handleCheckboxChange(event: MatCheckboxChange, element: any): void {\r\n event.source._inputElement.nativeElement.click();\r\n if(element.arquivoId !== undefined){\r\n this.botaoEditarDisable = true;\r\n }else{\r\n this.botaoEditarDisable = false;\r\n }\r\n this.selectedModel = event.checked ? element : null;\r\n }\r\n\r\n public preencher(id: number, acao:string) {\r\n\r\n const situacaoAtual = this.selectedModel.status;\r\n\r\n const situacoesNaoPermitidas = [\r\n EUniversoAuditavelSituacao[EUniversoAuditavelSituacao.Pendente],\r\n EUniversoAuditavelSituacao[EUniversoAuditavelSituacao.Finalizado]\r\n ];\r\n\r\n if(!situacoesNaoPermitidas.includes(situacaoAtual) && this.selectedModel.ativo === true){\r\n this.router.navigate([`universo-auditavel-preechimento-form`]);\r\n this.sharedService.setParams(this.selectedModel.unidadeGestoraId, id, this.selectedModel.tipoUniversoAuditavelId, acao );\r\n\r\n }else{\r\n this.exibirMensagemAlerta('Universo só pode ser preenchido se estiver com Status diferente de Finalizado ou Pendente e também que esteja ativo.');\r\n }\r\n\r\n }\r\n public solicitar(id: number) {\r\n\r\n const situacoesPermitidas = [\r\n EUniversoAuditavelSituacaoDescricao[EUniversoAuditavelSituacao.EmElaboracao],\r\n EUniversoAuditavelSituacaoDescricao[EUniversoAuditavelSituacao.Avocado]\r\n ];\r\n const situacaoAtual = this.selectedModel.status;\r\n\r\n if(situacoesPermitidas.includes(situacaoAtual) && this.selectedModel.ativo == true){\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-solicitar-preenchimento';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n param1: id\r\n };\r\n\r\n this.currentDialogRef = this.matDialog.open(ModalSolicitarPreenchimentoUniversoComponent, dialogConfig);\r\n this.currentDialogRef.afterClosed().subscribe((data) => {\r\n this.buscar();\r\n });\r\n\r\n }\r\n\r\n\r\n }\r\n public avocar(id: number) {\r\n const situacao = EUniversoAuditavelSituacao.Pendente;\r\n if (this.selectedModel.status === EUniversoAuditavelSituacaoDescricao[situacao] && this.selectedModel.ativo == true){\r\n this.universoAuditavelService.Avocar(id).then(res=>{\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Universo Auditável avocado com sucesso.');\r\n }else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n }).catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n }).finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n }\r\n\r\n public avaliar(id: number) {}\r\n public buscar() {\r\n\r\n this.selectedModel = null;\r\n\r\n this.universoAuditavelService.obter(this.filtro).then((res)=>{\r\n this.totalItens = res.dados.totalItens;\r\n // @ts-ignore\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n this.configurarFiltro();\r\n\r\n }).catch((err)=> {\r\n this.exibirMensagemErro(err.mensagem);\r\n });\r\n }\r\n private async configurarFiltro() {\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = this.tableOnePaginator.pageSize;\r\n this.filtro.colunaOrder = this.sort.active;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.direcao = this.sort.direction;\r\n this.filtro.unidadeGestoraId = this.sharedService.getId();\r\n }\r\n public importarArquivo() {\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n router: 'importar-arquivo-universo-auditavel',\r\n unidadeGestora: this.filtro.unidadeGestoraId\r\n };\r\n\r\n const modal = this.matDialog.open(ModalSelecaoTipoUniversoComponent , dialogConfig );\r\n\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n this.filtro.pesquisa = data.nome;\r\n this.tipoUniversoId = data.id;\r\n this.tipoUniverso = data.tipo;\r\n }\r\n })\r\n }\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n public isButtonDisabled(): boolean {\r\n // Verifica se existe um modelo selecionado\r\n if (!this.selectedModel) {\r\n return true;\r\n }\r\n\r\n // Verifica as condições adicionais\r\n return !this.selectedModel.ativo ||\r\n !(this.selectedModel.status === 'Em Elaboração' || this.selectedModel.status === 'Avocado' || this.selectedModel.status === 'Em revisão' || this.selectedModel.status === 'Em preenchimento');\r\n }\r\n\r\n public isButtonPreechimentoDisabled(): boolean {\r\n // Verifica se existe um modelo selecionado\r\n if (!this.selectedModel) {\r\n return true;\r\n }\r\n\r\n // Verifica as condições adicionais\r\n return !this.selectedModel.ativo ||\r\n !(this.selectedModel.status === 'Em revisão');\r\n }\r\n\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n\r\n this.buscar();\r\n }\r\n isSelect() {\r\n if (this.selectedModel !== null) {\r\n return !this.selectedModel?.ativo;\r\n }\r\n }\r\n\r\n public isButtonDisabledEditar(): boolean { return true}\r\n}\r\n","import { BaseListComponent } from \"../../../../shared/components/base-list/base-list.component\";\r\nimport { Component } from \"@angular/core\";\r\nimport { FiltroModel } from \"../../../../models/filtro.model\";\r\nimport { AuthService } from \"../../../../services/auth.service\";\r\nimport { EntendendoEntidadeService } from \"../../../../services/entendendo-entidade.service\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogConfig,\r\n\tMatDialogRef,\r\n} from \"@angular/material/dialog\";\r\nimport { Router } from \"@angular/router\";\r\nimport { SharedService } from \"../../../../services/shared.service\";\r\nimport { TipoUniversoService } from \"../../../../services/tipo-universo.service\";\r\nimport { ModalSelecaoTipoUniversoComponent } from \"../modal-selecao-tipo-universo/modal-selecao-tipo-universo.component\";\r\nimport { UniversoAuditavelService } from \"../../../../services/universo-auditavel.service\";\r\nimport { IUniversoAuditavelModel } from \"../../../../models/universo-auditavel.model\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { FiltroUniversoAuditavel } from \"../../../../models/filtro-universo-auditavel\";\r\nimport { ModalUniversoAuditavelNovaVersaoComponent } from \"../../shared/modal-universo-auditavel-nova-versao/modal-universo-auditavel-nova-versao.component\";\r\nimport { TipoUniversoEnum } from \"../../../../models/enum/tipo-universo.enum\";\r\n\r\n@Component({\r\n\tselector: \"app-gerar-universo-auditavel\",\r\n\ttemplateUrl: \"./gerar-universo-auditavel.component.html\",\r\n\tstyleUrls: [\"./gerar-universo-auditavel.component.scss\"],\r\n})\r\nexport class GerarUniversoAuditavelComponent extends BaseListComponent {\r\n\tpublic filtro = {} as FiltroUniversoAuditavel;\r\n\tunidadeGestoraId: number;\r\n\ttipoUniversoId: number;\r\n\ttipoUniverso: number;\r\n\tpublic dataSource: any[] = [];\r\n\tprivate currentDialogRef: MatDialogRef;\r\n\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate universoAuditavelService: UniversoAuditavelService,\r\n\t\tprivate tipoUniversoService: TipoUniversoService,\r\n\t\tprivate matDialog: MatDialog,\r\n\t\tprivate router: Router,\r\n\t\tprivate sharedService: SharedService\r\n\t) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.filtro.unidadeGestoraId = this.sharedService.getId();\r\n\t\tthis.unidadeGestoraId = this.sharedService.getId();\r\n\t\tthis.buscar();\r\n\t}\r\n\r\n\tpublic buscar() {\r\n\t\tthis.universoAuditavelService\r\n\t\t\t.obter(this.filtro)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.dataSource = res.dados.resultado;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem);\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic buscarTipoUniversoAuditavel() {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component\";\r\n\t\tdialogConfig.width = \"650px\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tModalSelecaoTipoUniversoComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n\r\n\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\tif (data) {\r\n\t\t\t\tthis.filtro.pesquisa = data.nome;\r\n\t\t\t\tthis.tipoUniversoId = data.id;\r\n\t\t\t\tthis.tipoUniverso = data.tipo;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic cancelar() {\r\n\t\tthis.router.navigateByUrl(\r\n\t\t\t`/unidades-gestoras/${this.filtro.unidadeGestoraId}?aba=3`\r\n\t\t);\r\n\t}\r\n\r\n\tpublic async verificaCriacao() {\r\n\t\tconst itemExiste = this.dataSource.filter(\r\n\t\t\t(item) => item.nomeTipoUniversoAuditavel === this.filtro.pesquisa\r\n\t\t);\r\n\t\tif (this.tipoUniverso === TipoUniversoEnum.NaoPadronizado) {\r\n\t\t\tconst retorno = await this.tipoUniversoService.obterPorId(\r\n\t\t\t\tthis.tipoUniversoId\r\n\t\t\t);\r\n\t\t\tif (retorno.sucesso) {\r\n\t\t\t\tconst verificaUG = retorno.dados.ugs.filter(\r\n\t\t\t\t\t(res) => res.idUG === this.unidadeGestoraId\r\n\t\t\t\t);\r\n\t\t\t\tif (verificaUG.length === 0) {\r\n\t\t\t\t\tthis.exibirMensagemAlerta(\r\n\t\t\t\t\t\t\"Unidade Gestora não cadastrada no Tipo de Universo Não-Padronizado selecionado!\"\r\n\t\t\t\t\t);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (itemExiste.length > 0) {\r\n\t\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\t\tdialogConfig.id = \"modal-component\";\r\n\t\t\tdialogConfig.width = \"650px\";\r\n\t\t\tdialogConfig.hasBackdrop = true;\r\n\t\t\tdialogConfig.disableClose = true;\r\n\t\t\tdialogConfig.data = {\r\n\t\t\t\tsource: \"novo\",\r\n\t\t\t\tunidadeGestoraId: this.unidadeGestoraId,\r\n\t\t\t\ttipoUniversoId: this.tipoUniversoId,\r\n\t\t\t\ttipoUniverso: this.tipoUniverso,\r\n\t\t\t};\r\n\t\t\tthis.currentDialogRef = this.matDialog.open(\r\n\t\t\t\tModalUniversoAuditavelNovaVersaoComponent,\r\n\t\t\t\tdialogConfig\r\n\t\t\t);\r\n\t\t\tthis.currentDialogRef.afterClosed().subscribe((data) => {\r\n\t\t\t\tthis.buscar();\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.gerarUniversoAuditavel();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async verificaTipoNaoPadronizado() {\r\n\t\tconst item = await this.tipoUniversoService.obterPorId(\r\n\t\t\tthis.tipoUniversoId\r\n\t\t);\r\n\r\n\t\tif (item.sucesso) {\r\n\t\t\tconst verificaUG = item.dados.ugs.filter(\r\n\t\t\t\t(res) => res.idUG === this.unidadeGestoraId\r\n\t\t\t);\r\n\r\n\t\t\tif (verificaUG.length > 1) {\r\n\t\t\t\treturn true;\r\n\t\t\t} else {\r\n\t\t\t\tthis.exibirMensagemAlerta(\r\n\t\t\t\t\t\"Unidade Gestora não cadastrada no Tipo de Universo Não-Padronizado selecionado!\"\r\n\t\t\t\t);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpublic gerarUniversoAuditavel() {\r\n\t\tif (!this.tipoUniversoId || this.tipoUniversoId == 0) {\r\n\t\t\tthis.exibirMensagemErro(\"Informe um tipo de Universo Auditável\");\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tlet params: IUniversoAuditavelModel = {\r\n\t\t\tunidadeGestoraId: this.unidadeGestoraId,\r\n\t\t\ttipoUniversoAuditavelId: this.tipoUniversoId,\r\n\t\t};\r\n\r\n\t\tthis.universoAuditavelService\r\n\t\t\t.inserir(params)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.router.navigateByUrl(\r\n\t\t\t\t\t\t`/unidades-gestoras/${this.unidadeGestoraId}?aba=3`\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.exibirMensagemAlerta(res.mensagem.descricao);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.exibirMensagemErro(err.mensagem);\r\n\t\t\t});\r\n\t}\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Universo Auditável\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { BaseFormComponent } from \"../../../../shared/components/base-form/base-form.component\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { FiltroModel } from \"../../../../models/filtro.model\";\r\nimport { AuthService } from \"../../../../services/auth.service\";\r\nimport { EntendendoEntidadeService } from \"../../../../services/entendendo-entidade.service\";\r\nimport { QuestionarioUGRespostaService } from \"../../../../services/questionarioug-resposta.service\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { SharedService } from \"../../../../services/shared.service\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { TipoUniversoService } from \"../../../../services/tipo-universo.service\";\r\nimport { UniversoAuditavelService } from \"../../../../services/universo-auditavel.service\";\r\nimport { IArquivoModel } from \"../../../../models/arquivo.model\";\r\nimport Swal from \"sweetalert2\";\r\n\r\n\r\n@Component({\r\n selector: 'app-importar-arquivo-universo-auditavel',\r\n templateUrl: './importar-arquivo-universo-auditavel.component.html',\r\n styleUrls: ['./importar-arquivo-universo-auditavel.component.scss']\r\n})\r\nexport class ImportarArquivoUniversoAuditavelComponent extends BaseFormComponent implements OnInit{\r\n public filtro = {} as FiltroModel;\r\n\r\n tipoUniversoId:number;\r\n unidadeGestoraId:number;\r\n searchTerm: string = '';\r\n nomeTipoUniverso: string = '';\r\n arquivo: File | null = null;\r\n arquivoUrl: string;\r\n nomeArquivo: string;\r\n errorMessage: string | null = null;\r\n botaoEncerrarHabilitado: boolean = true;\r\n constructor(\r\n private authService: AuthService,\r\n private tipoUniversoService: TipoUniversoService,\r\n private universoAuditavelService: UniversoAuditavelService,\r\n matDialog: MatDialog,\r\n router: Router,\r\n private sharedService: SharedService,\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n localeService: BsLocaleService\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.unidadeGestoraId = this.route.snapshot.queryParams['unidadeGestoraId']\r\n this.tipoUniversoId = this.route.snapshot.queryParams['tipoUniversoId']\r\n\r\n this.buscarTipoUniverso();\r\n this.downloadAnexo();\r\n }\r\n\r\n public buscarTipoUniverso(){\r\n\r\n if(this.tipoUniversoId !== null){\r\n this.tipoUniversoService.obterPorId(this.tipoUniversoId).then(res =>{\r\n if(res.sucesso){\r\n this.nomeTipoUniverso = res.dados.nome;\r\n }else{\r\n this.exibirMensagemAlerta('Tipo não encontrado!');\r\n }\r\n })\r\n }\r\n }\r\n\r\n\r\n onFileSelected(event: any): void {\r\n const file: File = event.target.files[0];\r\n if (file) {\r\n // Verifica se a extensão do arquivo é PDF\r\n const fileExtension = file.name.split('.').pop()?.toLowerCase();\r\n if (fileExtension !== 'pdf') {\r\n // Emite um aviso caso a extensão não seja PDF\r\n this.errorMessage = 'Por favor, selecione um arquivo PDF!';\r\n this.arquivo = null; // Reseta o arquivo selecionado\r\n } else {\r\n this.arquivo = file;\r\n this.errorMessage = null;\r\n }\r\n }\r\n }\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=3`);\r\n }\r\n\r\n enviarArquivo(): void {\r\n\r\n if (this.arquivo) {\r\n const arquivoModel: IArquivoModel = {\r\n id: 0,\r\n nomeArquivo: this.arquivo.name,\r\n entidadeArquivo: 1,\r\n arquivo: this.arquivo,\r\n url: ''\r\n };\r\n\r\n\r\n\r\n this.universoAuditavelService.enviarArquivo(this.unidadeGestoraId, this.tipoUniversoId , arquivoModel).then(\r\n (response) => {\r\n this.downloadAnexo();\r\n this.exibirMensagemSucesso('Arquivo importado com sucesso');\r\n // this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=1`);\r\n },\r\n (error) => {\r\n this.exibirMensagemErro(error.mensagem.descricao);\r\n }\r\n );\r\n }\r\n }\r\n\r\n search(): void {\r\n console.log('Searching for:', this.searchTerm);\r\n // Implementar lógica de pesquisa aqui\r\n }\r\n\r\n finalizarAvaliacao(): void {\r\n console.log('Avaliação finalizada');\r\n // Implementar lógica de finalização aqui\r\n }\r\n\r\n cancelar(): void {\r\n console.log('Operação cancelada');\r\n // Implementar lógica de cancelamento aqui\r\n }\r\n\r\n\r\n onEncerrarAvaliacao(){\r\n Swal.fire({\r\n title: 'Atenção',\r\n text: \"Esta ação não poderá ser desfeita! Deseja continuar? \",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n console.log(this.tipoUniversoId);\r\n console.log(this.unidadeGestoraId);\r\n if (res.value) {\r\n this.universoAuditavelService.encerrarUniversoImportacaoArquivo(this.unidadeGestoraId, this.tipoUniversoId)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=3`);\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n\r\n }\r\n })}\r\n\r\n downloadAnexo(): void {\r\n this.universoAuditavelService.DownloadArquivo(this.unidadeGestoraId, this.tipoUniversoId).then(res=> {\r\n if(res.sucesso && res.dados !== undefined){\r\n this.arquivoUrl = res.dados.url;\r\n this.nomeArquivo = res.dados.nomeArquivo;\r\n if (res.dados.id) {\r\n this.botaoEncerrarHabilitado = false; // Habilita o botão\r\n }\r\n }else{\r\n return;\r\n }\r\n });\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n \r\n \r\n Encerrar Avaliação\r\n \r\n
\r\n","
\r\n
\r\n
\r\n

Selecionar Tipo Universo

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n Nome\r\n \r\n {{element.nome}} Tipo entrada\r\n \r\n {{element.tipoEntrada.descricao}} Obrigatório \r\n \r\n \r\n
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { BaseFormComponent } from \"../../../../shared/components/base-form/base-form.component\";\r\nimport { AfterViewInit, Component, EventEmitter, Inject, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { FiltroModel } from \"../../../../models/filtro.model\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { TipoUniversoService } from \"../../../../services/tipo-universo.service\";\r\nimport { ITipoUniversoModel } from \"../../../../models/tipo-universo.model\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { defaultDataAcessor } from \"../../../../core/helpers/mat-sort-data-accessor\";\r\nimport { IFiltroTipoUniverso } from \"../../../../models/filtros/filtro-tipo-universo.model\";\r\nimport { IModeloQuestionarioModel } from \"../../../../models/modelo-questionario.model\";\r\nimport { IUniversoAuditavelModel } from \"../../../../models/universo-auditavel.model\";\r\nimport { UniversoAuditavelService } from \"../../../../services/universo-auditavel.service\";\r\nimport { FiltroUniversoAuditavel } from \"../../../../models/filtro-universo-auditavel\";\r\nimport { MatCheckboxChange } from \"@angular/material/checkbox\";\r\nimport {\r\n ModalUniversoAuditavelImportacaoComponent\r\n} from \"../../shared/modal-universo-auditavel-importacao/modal-universo-auditavel-importacao.component\";\r\nimport {\r\n ModalUniversoAuditavelNovaVersaoComponent\r\n} from \"../../shared/modal-universo-auditavel-nova-versao/modal-universo-auditavel-nova-versao.component\";\r\n\r\n\r\n@Component({\r\n selector: 'app-modal-selecao-tipo-universo',\r\n templateUrl: './modal-selecao-tipo-universo.component.html',\r\n styleUrls: ['./modal-selecao-tipo-universo.component.scss']\r\n})\r\nexport class ModalSelecaoTipoUniversoComponent extends BaseFormComponent implements AfterViewInit, OnInit{\r\n @ViewChild('TableOnePaginator', { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @Output() nomeSelecionado = new EventEmitter();\r\n public filtro = {} as IFiltroTipoUniverso;\r\n public filtroUniverso = {} as FiltroUniversoAuditavel;\r\n public selecionado: ITipoUniversoModel;\r\n public totalItens: number;\r\n public pageEvent: any;\r\n public tipoUniversoId: number;\r\n public tipoUniverso: number;\r\n public displayedColumns: string[] = ['selecao', 'nome'];\r\n public semDados = true;\r\n public dataSource = new MatTableDataSource([]);\r\n private currentDialogRef: MatDialogRef;\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n private tipoUniversoService: TipoUniversoService,\r\n private universoService: UniversoAuditavelService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dataSource.paginator = this.paginator;\r\n this.paginator.pageSize = 10;\r\n this.filtro.ativo = true;\r\n this.filtro.itensPorPagina = this.paginator.pageSize;\r\n this.buscarTipoUniverso();\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.filtro.ativo = true;\r\n // this.filtro.itensPorPagina = this.paginator.pageSize;\r\n // console.log(this.filtro.itensPorPagina);\r\n // this.buscarTipoUniverso();\r\n }\r\n\r\n public async concluir() {\r\n if(this.data !== null){\r\n this.filtroUniverso.unidadeGestoraId = this.data.unidadeGestora;\r\n this.filtroUniverso.tipoUniversoAuditavelId = this.tipoUniversoId;\r\n this.filtroUniverso.ativo = true;\r\n\r\n const retorno = await this.universoService.obter(this.filtroUniverso);\r\n\r\n if(retorno.dados.resultado.length > 0){\r\n this.dialogRef.close();\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component-importar';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n source: 'importar-universo-auditavel-novo',\r\n unidadeGestoraId: this.filtroUniverso.unidadeGestoraId,\r\n tipoUniversoId: this.tipoUniversoId,\r\n tipoUniverso: this.tipoUniverso,\r\n\r\n };\r\n const modal= this.matDialog.open(ModalUniversoAuditavelImportacaoComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n\r\n });\r\n }else{\r\n this.router.navigate(['/importar-arquivo-universo-auditavel/novo'], { queryParams: { unidadeGestoraId: this.filtroUniverso.unidadeGestoraId, tipoUniversoId: this.tipoUniversoId } });\r\n this.dialogRef.close(this.selecionado);\r\n }\r\n }else{\r\n this.dialogRef.close(this.selecionado);\r\n }\r\n\r\n }\r\n\r\n public buscarTipoUniverso(){\r\n this.tipoUniversoService\r\n .obter(this.filtro)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.totalItens = res.dados.totalItens;\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n }).catch((err) => {\r\n this.exibirMensagemErro(err);\r\n });\r\n }\r\n public selecionar(item: ITipoUniversoModel) {\r\n this.selecionado = !this.selecionado || this.selecionado.id !== item.id ? item : null;\r\n this.tipoUniversoId = item.id;\r\n this.tipoUniverso = item.tipo;\r\n }\r\n\r\n onCheckboxChange(event: MatCheckboxChange, element: any){\r\n if (event.checked){\r\n this.selecionado = !this.selecionado || this.selecionado.id !== element.id ? element : null;\r\n this.nomeSelecionado = element.nome;\r\n this.tipoUniversoId = element.id;\r\n this.tipoUniverso = element.tipo;\r\n }\r\n }\r\n\r\n public filtrar(event: Event){\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscarTipoUniverso();\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { EntendendoEntidadeService } from \"../../../../services/entendendo-entidade.service\";\r\nimport { SharedService } from \"../../../../services/shared.service\";\r\nimport { UniversoAuditavelService } from \"../../../../services/universo-auditavel.service\";\r\n\r\n@Component({\r\n selector: 'app-modal-solicitar-preenchimento',\r\n templateUrl: './modal-solicitar-preenchimento.component.html',\r\n styleUrls: ['./modal-solicitar-preenchimento.component.scss']\r\n})\r\nexport class ModalSolicitarPreenchimentoUniversoComponent implements OnInit{\r\n\r\n prazoDias: number;\r\n UniversoAuditavelId: number;\r\n\r\n constructor(\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private universoAuditavelService: UniversoAuditavelService,\r\n private sharedService: SharedService,\r\n private dialogRef: MatDialogRef\r\n\r\n ) { }\r\n\r\n ngOnInit(): void {}\r\n public cancelar(){\r\n this.dialogRef.close();\r\n }\r\n\r\n public concluir(){\r\n this.universoAuditavelService\r\n .solicitarPreenchimentoQuestionario(this.data.param1, this.prazoDias)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n // aqui chamar o pagina principal\r\n this.dialogRef.close();\r\n } else {\r\n // this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n // this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n // this.buscar();\r\n });\r\n }\r\n\r\n public onChangePreencherPrazo(event){\r\n this.prazoDias = event.target.value;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Prazo para Preenchimento

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Universo auditável\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Classificação do Tipo\r\n
\r\n \r\n
\r\n
\r\n
\r\n Unidade Gestora\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n Adicionar Subtipo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n
#NomeTipo EntradaAções
\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n\r\n {{ subTipo?.ordemExibicao }}\r\n
\r\n \r\n \r\n {{ subTipo?.nome }} \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{ subTipo?.tipoDescription }}\r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n\r\n 0\">\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n Nenhum item cadastrado\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n","import { BaseFormComponent } from \"../../../../shared/components/base-form/base-form.component\";\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { AuthService } from \"../../../../services/auth.service\";\r\nimport { QuestionarioUGService } from \"../../../../services/questionarioug.service\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\r\nimport { UniversoAuditavelService } from \"../../../../services/universo-auditavel.service\";\r\nimport { SharedService } from \"../../../../services/shared.service\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport {\r\n ITipoUniversoItemModel,\r\n ITipoUniversoModel,\r\n ITipoUniversoUGModel\r\n} from \"../../../../models/tipo-universo.model\";\r\nimport { TipoUniversoService } from \"../../../../services/tipo-universo.service\";\r\nimport { IUniversoAuditavelModel } from \"../../../../models/universo-auditavel.model\";\r\nimport {\r\n ModalTipoUniversoItemDescricaoComponent\r\n} from \"../../../tipo-universo-form/modal-tipo-universo-item/modal-tipo-universo-item-descricao/modal-tipo-universo-item-descricao.component\";\r\nimport { moveItemInArray } from \"@angular/cdk/drag-drop\";\r\nimport Swal from \"sweetalert2\";\r\nimport { ModalCancelarComponent } from \"../../../../shared/components/modal-cancelar/modal-cancelar-component\";\r\n\r\n\r\n@Component({\r\n selector: 'app-universo-auditavel-form',\r\n templateUrl: './universo-auditavel-form.component.html',\r\n styleUrls: ['./universo-auditavel-form.component.scss']\r\n})\r\n\r\nexport class UniversoAuditavelFormComponent extends BaseFormComponent implements OnInit{\r\n\r\n\r\n public modelTipoUniverso : ITipoUniversoModel = {} as ITipoUniversoModel;\r\n public modelUniversoAuditavel : IUniversoAuditavelModel = {} as IUniversoAuditavelModel;\r\n public modelTipoUniversoItens : ITipoUniversoUGModel = {} as ITipoUniversoUGModel;\r\n public id: number;\r\n public unidadeGestora: number;\r\n public idTipoUniverso: number;\r\n public semDados: boolean;\r\n public titulo: string;\r\n public tipoDescription = \"\";\r\n public nomeUG: string[] = [];\r\n public idClassificacaoTipo: number;\r\n public alterou: boolean;\r\n\r\n\r\n constructor(\r\n private authService: AuthService,\r\n public matDialog: MatDialog,\r\n private universoAuditavelService: UniversoAuditavelService,\r\n private tipoUniversoService: TipoUniversoService,\r\n private sharedService: SharedService,\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n const id = this.route.snapshot.paramMap.get(\"id\");\r\n this.id = parseInt(id,10);\r\n }\r\n async ngOnInit() {\r\n\r\n if(this.id){\r\n const res = await this.universoAuditavelService.obterPorId(this.id);\r\n if(res.sucesso){\r\n this.modelUniversoAuditavel = res.dados;\r\n this.unidadeGestora = this.modelUniversoAuditavel.unidadeGestoraId;\r\n this.idTipoUniverso = this.modelUniversoAuditavel.tipoUniversoAuditavelId;\r\n\r\n }\r\n\r\n this.buscarTipoUniverso(this.idTipoUniverso);\r\n }\r\n }\r\n\r\n public async buscarTipoUniverso(idTipo:number){\r\n const res = await this.tipoUniversoService.obterPorId(idTipo);\r\n if(res.sucesso){\r\n this.modelTipoUniverso = res.dados;\r\n\r\n this.titulo = 'Editar Mapeamento Universo Auditável ' + this.modelTipoUniverso.nome;\r\n this.tipoDescription = res.dados.tipoDescription;\r\n this.idClassificacaoTipo = res.dados.tipo;\r\n }\r\n this.buscarItens(this.idTipoUniverso, this.unidadeGestora);\r\n }\r\n public async buscarItens(idTipoUniverso: number, idUG: number){\r\n\r\n if(idTipoUniverso){\r\n\r\n const res = await this.tipoUniversoService.obterItens(idTipoUniverso, idUG);\r\n if(res.sucesso){\r\n this.modelTipoUniversoItens = res.dados;\r\n this.semDados = this.modelTipoUniversoItens.itens.length == 0;\r\n if(this.semDados){\r\n this.novoRegistro = true;\r\n }else{\r\n this.novoRegistro = false;\r\n }\r\n this.reordenar();\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n\r\n }\r\n }\r\n\r\n public exibirModalItemNovo(element: any, indx: string){\r\n\r\n\r\n let item = {} as ITipoUniversoItemModel;\r\n item.id = element?.id ?? 0;\r\n item.idItemPai = element?.idItemPai ?? 0;\r\n item.idTipoUniversoAuditavel = element?.idTipoUniversoAuditavel ?? this.modelTipoUniversoItens.idTipoUniversoAuditavel;\r\n item.idUG = element?.idUG ?? this.modelTipoUniversoItens.idUG;\r\n item.nome = element?.nome ?? \"\";\r\n item.tipo = element?.tipo ?? 1;\r\n\r\n let arrayIndices = JSON.parse(\"[\" + indx + \"]\");\r\n\r\n if(arrayIndices.length == 1 && arrayIndices[0] == null){\r\n\r\n item.tipo = 1;\r\n item.tipoDescription = element?.tipoDescription ?? \"SubTipo\";\r\n\r\n }else if(arrayIndices.length == 1 && arrayIndices[0] != null){\r\n\r\n item.tipo = 2;\r\n item.tipoDescription = element?.tipoDescription ?? \"Macroprocesso\";\r\n\r\n }else if(arrayIndices.length == 2){\r\n\r\n item.tipo = 3;\r\n item.tipoDescription = element?.tipoDescription ?? \"Processo\";\r\n\r\n }\r\n\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-descricao';\r\n dialogConfig.width = '450px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n item: item,\r\n indx: indx\r\n };\r\n\r\n const modal = this.matDialog.open(ModalTipoUniversoItemDescricaoComponent, dialogConfig);\r\n\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n\r\n let novoItem = data.item as ITipoUniversoItemModel;\r\n\r\n //NÃO HAVENDO ÍNDICE, ADICIONA-SE NO ITEM RAIZ\r\n if(!data.indx){\r\n\r\n if(this.existeNomeMesmoNivel(this.modelTipoUniversoItens.itens, novoItem.nome)){\r\n this.exibirMensagemErro(\"Já existe SubTipo com este nome.\");\r\n return;\r\n }\r\n\r\n novoItem.tipo = 1;\r\n novoItem.tipoDescription=\"SubTipo\";\r\n if(!this.modelTipoUniversoItens.itens){\r\n this.modelTipoUniversoItens.itens = [] as ITipoUniversoItemModel[];\r\n }\r\n this.modelTipoUniversoItens.itens.push(novoItem);\r\n this.alterou = true;\r\n this.reordenar();\r\n return;\r\n }\r\n\r\n //indx recebe os índices da hierarquia da árvore:\r\n //0 -> nível 1\r\n //0,0 -> nível 2\r\n //0,0,0 -> nível 3\r\n\r\n let arrayIndices = JSON.parse(\"[\" + data.indx + \"]\");\r\n\r\n if(arrayIndices.length == 1){\r\n\r\n if(this.existeNomeMesmoNivel(this.modelTipoUniversoItens.itens[arrayIndices[0]].itens, novoItem.nome)){\r\n this.exibirMensagemErro(\"Já existe Macroprocesso com este nome.\");\r\n return;\r\n }\r\n\r\n novoItem.tipo = 2;\r\n novoItem.tipoDescription = \"Macroprocesso\";\r\n\r\n if(!this.modelTipoUniversoItens.itens[arrayIndices[0]].itens){\r\n this.modelTipoUniversoItens.itens[arrayIndices[0]].itens = [] as ITipoUniversoItemModel[];\r\n }\r\n\r\n this.modelTipoUniversoItens.itens[arrayIndices[0]].itens.push(novoItem);\r\n\r\n }else if(arrayIndices.length == 2){\r\n\r\n if(this.existeNomeMesmoNivel(this.modelTipoUniversoItens.itens[arrayIndices[0]].itens[arrayIndices[1]].itens, novoItem.nome)){\r\n this.exibirMensagemErro(\"Já existe Macroprocesso com este nome.\");\r\n return;\r\n }\r\n\r\n novoItem.tipo = 3;\r\n novoItem.tipoDescription = \"Processo\";\r\n\r\n if(!this.modelTipoUniversoItens.itens[arrayIndices[0]].itens[arrayIndices[1]].itens){\r\n this.modelTipoUniversoItens.itens[arrayIndices[0]].itens[arrayIndices[1]].itens = [] as ITipoUniversoItemModel[];\r\n }\r\n\r\n this.modelTipoUniversoItens.itens[arrayIndices[0]].itens[arrayIndices[1]].itens.push(novoItem);\r\n\r\n }\r\n this.alterou = true;\r\n this.reordenar();\r\n }\r\n })\r\n\r\n }\r\n public cancelar() {\r\n\r\n if(this.alterou){\r\n const dialogConfig = new MatDialogConfig();\r\n\r\n const modal = this.matDialog.open(ModalCancelarComponent, dialogConfig);\r\n modal.afterClosed().subscribe((resultado) => {\r\n if (resultado == true) {\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestora}?aba=3`);\r\n\r\n }\r\n });\r\n }else{\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestora}?aba=3`);\r\n\r\n }\r\n\r\n }\r\n\r\n retornoAbaUnidade(){\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestora}?aba=3`);\r\n }\r\n\r\n public async concluir(salvarEFechar: boolean){\r\n this.submit = true;\r\n\r\n if(this.novoRegistro){\r\n\r\n if(!this.modelTipoUniversoItens.itens || this.modelTipoUniversoItens.itens.length == 0){\r\n this.exibirMensagemErro(\"É necessário incluir pelo menos 1 subtipo para salvar.\")\r\n return;\r\n }\r\n\r\n if(this.idClassificacaoTipo == 2 && !this.modelTipoUniversoItens.idUG){\r\n return;\r\n }\r\n\r\n this.tipoUniversoService.inserirItens(this.modelTipoUniversoItens)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.alterou = false;\r\n if(salvarEFechar){\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestora}?aba=3`);\r\n }else{\r\n this.modelTipoUniversoItens = res.dados;\r\n this.novoRegistro = false;\r\n }\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch(err => this.exibirMensagemErro(err))\r\n\r\n }else{\r\n\r\n this.tipoUniversoService.atualizarItens(this.modelTipoUniversoItens)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.alterou = false;\r\n if(salvarEFechar){\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestora}?aba=3`);\r\n }\r\n\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch(err => this.exibirMensagemErro(err))\r\n\r\n }\r\n\r\n }\r\n private existeNomeMesmoNivel(itens: ITipoUniversoItemModel[], nome: string){\r\n return itens && itens.find(item => item.nome.toUpperCase() == nome.toUpperCase());\r\n }\r\n\r\n public reordenar(){\r\n this.modelTipoUniversoItens.itens.forEach((item, idx) => {\r\n item.ordem = (idx + 1);\r\n item.ordemExibicao = `1.${item.ordem.toString()}`;\r\n if(item.itens && item.itens.length > 0){\r\n this.fnReordenacao(item);\r\n }\r\n });\r\n }\r\n public fnReordenacao(item: ITipoUniversoItemModel){\r\n item.itens.forEach((subItem, subIdx) => {\r\n\r\n subItem.ordem = subIdx + 1;\r\n subItem.ordemExibicao = `${item.ordemExibicao}.${subItem.ordem.toString()}`\r\n if(subItem.itens && subItem.itens.length > 0){\r\n this.fnReordenacao(subItem);\r\n }\r\n });\r\n }\r\n\r\n public exibirModalItemEditar(element: ITipoUniversoItemModel, indx: string){\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-descricao';\r\n dialogConfig.width = '450px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n item: element,\r\n indx: indx\r\n };\r\n\r\n const modal = this.matDialog.open(ModalTipoUniversoItemDescricaoComponent, dialogConfig);\r\n\r\n modal.afterClosed().subscribe((data) => {\r\n\r\n let novoItem = data.item as ITipoUniversoItemModel;\r\n let arrayIndices = JSON.parse(\"[\" + data.indx + \"]\");\r\n\r\n if(arrayIndices.length == 1){\r\n\r\n this.modelTipoUniversoItens.itens[arrayIndices[0]].nome = novoItem.nome;\r\n\r\n }else if(arrayIndices.length == 2){\r\n\r\n this.modelTipoUniversoItens.itens[arrayIndices[0]].itens[arrayIndices[1]].nome = novoItem.nome;\r\n\r\n }else if(arrayIndices.length == 2){\r\n\r\n this.modelTipoUniversoItens.itens[arrayIndices[0]].itens[arrayIndices[1]].itens[arrayIndices[2]].nome = novoItem.nome;\r\n\r\n }\r\n\r\n this.alterou = true;\r\n\r\n })\r\n\r\n }\r\n\r\n public excluirItem(element: any, indx: string){\r\n\r\n Swal.fire({\r\n title: 'Excluir item',\r\n text: `Deseja realmente excluir este item?`,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(resConfirm => {\r\n if (resConfirm.isConfirmed) {\r\n\r\n let arrayIndices = JSON.parse(\"[\" + indx + \"]\");\r\n\r\n if(arrayIndices.length == 1){\r\n this.modelTipoUniversoItens.itens.splice(arrayIndices[0], 1);\r\n }else if(arrayIndices.length == 2){\r\n this.modelTipoUniversoItens.itens[arrayIndices[0]].itens.splice(arrayIndices[1], 1);\r\n }else if (arrayIndices.length == 3){\r\n this.modelTipoUniversoItens.itens[arrayIndices[0]].itens[arrayIndices[1]].itens.splice(arrayIndices[2], 1);\r\n }\r\n\r\n this.alterou = true;\r\n this.reordenar();\r\n\r\n }else{\r\n }\r\n });\r\n\r\n\r\n }\r\n\r\n\r\n public moveUp(element: any, indx: string){\r\n let arrayIndices = JSON.parse(\"[\" + indx + \"]\");\r\n\r\n if(arrayIndices.length == 1){\r\n\r\n if((arrayIndices[0]) == 0)\r\n return;\r\n\r\n moveItemInArray(this.modelTipoUniversoItens.itens, arrayIndices[0], arrayIndices[0]-1)\r\n\r\n }else if(arrayIndices.length == 2){\r\n\r\n if((arrayIndices[1]) == 0)\r\n return;\r\n\r\n moveItemInArray(this.modelTipoUniversoItens.itens[arrayIndices[0]].itens, arrayIndices[1], arrayIndices[1]-1)\r\n\r\n }else{\r\n if((arrayIndices[2]) == 0)\r\n return;\r\n\r\n moveItemInArray(this.modelTipoUniversoItens.itens[arrayIndices[0]].itens[arrayIndices[1]].itens, arrayIndices[2], arrayIndices[2]-1)\r\n }\r\n\r\n this.alterou = true;\r\n this.reordenar();\r\n }\r\n\r\n public moveDown(element: any, indx: string){\r\n\r\n let arrayIndices = JSON.parse(\"[\" + indx + \"]\");\r\n\r\n if(arrayIndices.length == 1){\r\n\r\n if((arrayIndices[0]) == this.modelTipoUniversoItens.itens.length -1)\r\n return;\r\n\r\n moveItemInArray(this.modelTipoUniversoItens.itens, arrayIndices[0], arrayIndices[0]+1)\r\n\r\n }else if(arrayIndices.length == 2){\r\n\r\n if((arrayIndices[1]) == this.modelTipoUniversoItens.itens[arrayIndices[0]].itens.length -1)\r\n return;\r\n\r\n moveItemInArray(this.modelTipoUniversoItens.itens[arrayIndices[0]].itens, arrayIndices[1], arrayIndices[1]+1)\r\n\r\n }else{\r\n if((arrayIndices[2]) == this.modelTipoUniversoItens.itens[arrayIndices[0]].itens[arrayIndices[1]].itens.length -1)\r\n return;\r\n\r\n moveItemInArray(this.modelTipoUniversoItens.itens[arrayIndices[0]].itens[arrayIndices[1]].itens, arrayIndices[2], arrayIndices[2]+1)\r\n }\r\n\r\n this.alterou = true;\r\n this.reordenar();\r\n\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n \r\n
  2. \r\n
  3. \r\n Universo auditável\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n

{{ errorMessage }}

\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
{{ modelTipoUniverso.nome }}
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Este campo é obrigatório.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n","import { BaseFormComponent } from \"../../../../shared/components/base-form/base-form.component\";\r\nimport { ChangeDetectorRef, Component, OnInit } from \"@angular/core\";\r\nimport { SharedService } from \"../../../../services/shared.service\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { TipoUniversoService } from \"../../../../services/tipo-universo.service\";\r\nimport { UniversoAuditavelService } from \"../../../../services/universo-auditavel.service\";\r\nimport { AuthService } from \"../../../../services/auth.service\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport {\r\n IUniversoAuditavelItemRespostaModel,\r\n IUniversoAuditavelModel\r\n} from \"../../../../models/universo-auditavel.model\";\r\nimport {\r\n ITipoUniversoItemModel,\r\n ITipoUniversoModel,\r\n ITipoUniversoUGModel\r\n} from \"../../../../models/tipo-universo.model\";\r\nimport { UniversoAuditavelItemRespostaService } from \"../../../../services/universo-auditavel-item-resposta.service\";\r\nimport { TipoUniversoEnum } from \"../../../../models/enum/tipo-universo.enum\";\r\nimport { UnidadeGestoraService } from \"../../../../services/unidade-gestora.service\";\r\nimport { FormBuilder, FormGroup } from \"@angular/forms\";\r\nimport Swal from \"sweetalert2\";\r\nimport {\r\n EUniversoAuditavelSituacao,\r\n EUniversoAuditavelSituacaoDescricao\r\n} from \"../../../../models/enum/universo-auditavel-situacao\";\r\n\r\n\r\n@Component({\r\n selector: 'app-universo-auditavel-preechimento-form',\r\n templateUrl: './universo-auditavel-preechimento-form.component.html',\r\n styleUrls: ['./universo-auditavel-preechimento-form.component.scss']\r\n})\r\nexport class UniversoAuditavelPreechimentoFormComponent extends BaseFormComponent implements OnInit{\r\n\r\n public titulo: string;\r\n public modelUniversoAuditavel : IUniversoAuditavelModel = {} as IUniversoAuditavelModel;\r\n public modelTipoUniverso : ITipoUniversoModel = {} as ITipoUniversoModel;\r\n public modelTipoUniversoItens : ITipoUniversoUGModel = {} as ITipoUniversoUGModel;\r\n public semDados: boolean;\r\n public respostaItens: IUniversoAuditavelItemRespostaModel[] = [];\r\n\r\n public dropdownData: { value: string, text: string , unidade: string}[] = [];\r\n formGroup: FormGroup;\r\n criteriosResposta: { [key: string]: IUniversoAuditavelItemRespostaModel[] } = {};\r\n errorMessage: string | null = null;\r\n errorMessageForm: boolean = false;\r\n unidadeSelecionada: string = '';\r\n unidadeGestora: number;\r\n universoAuditavel: number;\r\n tipoUniversoAuditavel: number;\r\n indicadorId: number;\r\n selectedDropdownValue: string = '';\r\n unidadeGestoraNome: string = '';\r\n acao: string = '';\r\n submitted = false;\r\n habilitaBotaoFinalizar: boolean = false;\r\n\r\n\r\n constructor(\r\n private authService: AuthService,\r\n public matDialog: MatDialog,\r\n private universoAuditavelService: UniversoAuditavelService,\r\n private tipoUniversoService: TipoUniversoService,\r\n private universoAuditavelItemRespostaService: UniversoAuditavelItemRespostaService,\r\n private sharedService: SharedService,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private cdr: ChangeDetectorRef,\r\n private fb: FormBuilder\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n const params = this.sharedService.getParams();\r\n\r\n this.universoAuditavel = params.universoId;\r\n this.unidadeGestora = params.unidadeGestoraId;\r\n this.tipoUniversoAuditavel = params.tipouniversoId;\r\n this.acao = params.acao;\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n this.formGroup = this.fb.group({});\r\n const res = await this.universoAuditavelService.obterPorId(this.universoAuditavel);\r\n let alteraStatus = '';\r\n if(res.sucesso){\r\n\r\n this.modelUniversoAuditavel = res.dados;\r\n\r\n if(this.acao === 'preencer'){\r\n alteraStatus = EUniversoAuditavelSituacaoDescricao[EUniversoAuditavelSituacao.EmPreenchimento];\r\n }else if(this.acao === 'revisar'){\r\n alteraStatus = EUniversoAuditavelSituacaoDescricao[EUniversoAuditavelSituacao.Revisao];\r\n }\r\n if(this.modelUniversoAuditavel.status === EUniversoAuditavelSituacaoDescricao[EUniversoAuditavelSituacao.EmElaboracao]){\r\n\r\n\r\n let params: IUniversoAuditavelModel = {\r\n id: this.modelUniversoAuditavel.id,\r\n unidadeGestoraId: this.unidadeGestora,\r\n tipoUniversoAuditavelId: this.modelUniversoAuditavel.tipoUniversoAuditavelId,\r\n versao: this.modelUniversoAuditavel.versao,\r\n ativo: this.modelUniversoAuditavel.ativo,\r\n nomeTipoUniversoAuditavel: this.modelUniversoAuditavel.nomeTipoUniversoAuditavel,\r\n status: alteraStatus,\r\n dataCriacao : this.modelUniversoAuditavel.dataCriacao,\r\n\r\n };\r\n await this.universoAuditavelService.atualizar(params);\r\n }\r\n }\r\n\r\n this.buscarTipoUniverso(this.tipoUniversoAuditavel);\r\n\r\n this.montaComboUniversoAuditavel();\r\n\r\n }\r\n\r\n public montaComboUniversoAuditavel (){\r\n this.universoAuditavelService.obterCriterioPorTipo(this.unidadeGestora, this.tipoUniversoAuditavel ).then(res=>{\r\n if (res.sucesso){\r\n this.dropdownData = res.dados;\r\n }\r\n });\r\n }\r\n\r\n limparCampos(): void {\r\n Object.keys(this.formGroup.controls).forEach((controlName) => {\r\n if (controlName.startsWith('resposta-')) {\r\n this.formGroup.get(controlName)?.reset();\r\n }\r\n });\r\n }\r\n\r\n public async onSelectionChange(event: any) {\r\n const selectedValue = event.target.value;\r\n const selectedItem = this.dropdownData.find(item => item.value === selectedValue);\r\n this.unidadeSelecionada = selectedItem ? selectedItem.unidade : '';\r\n\r\n this.limparCampos();\r\n\r\n delete this.criteriosResposta[this.selectedDropdownValue];\r\n this.selectedDropdownValue = selectedValue;\r\n\r\n await this.buscarRespostaItens(parseInt(selectedValue, 10));\r\n\r\n if (!this.criteriosResposta[this.selectedDropdownValue]) {\r\n this.criteriosResposta[this.selectedDropdownValue] = [];\r\n }\r\n }\r\n\r\n\r\n public async buscarRespostaItens(selectedValue: number): Promise {\r\n try {\r\n const res = await this.universoAuditavelItemRespostaService.ObterRespostaPorCriterio(\r\n selectedValue,\r\n this.unidadeGestora,\r\n this.tipoUniversoAuditavel\r\n );\r\n if (res.dados !== null) {\r\n this.respostaItens = res.dados;\r\n\r\n this.initializeFormControls();\r\n }\r\n } catch (error) {\r\n console.error(\"Erro ao buscar itens de resposta:\", error);\r\n }\r\n }\r\n\r\n initializeFormControls(): void {\r\n const valoresParaPreencher: any = {};\r\n\r\n this.modelTipoUniversoItens.itens.forEach((subtipo) => {\r\n subtipo.itens.forEach((macro) => {\r\n macro.itens.forEach((processo) => {\r\n\r\n const respostaItem = this.respostaItens.find(\r\n (item) => item.tipouniversoItemId === processo.id\r\n );\r\n\r\n if (respostaItem) {\r\n const controleValor = Number(respostaItem.resposta);\r\n valoresParaPreencher[`resposta-${processo.id}`] = controleValor;\r\n } else {\r\n valoresParaPreencher[`resposta-${processo.id}`] = null;\r\n }\r\n });\r\n });\r\n });\r\n\r\n // Usando setValue para definir todos os valores\r\n this.formGroup.setValue(valoresParaPreencher);\r\n }\r\n public async buscarTipoUniverso(idTipo:number){\r\n const res = await this.tipoUniversoService.obterPorId(idTipo);\r\n if(res.sucesso){\r\n this.modelTipoUniverso = res.dados;\r\n\r\n if(this.acao === 'preencer'){\r\n this.titulo = 'Preencher Mapeamento Universo Auditável ' + this.modelTipoUniverso.nome;\r\n }else{\r\n this.titulo = 'Revisar Mapeamento Universo Auditável '+ this.modelTipoUniverso.nome;\r\n }\r\n\r\n this.indicadorId = this.modelTipoUniverso.indicadorId;\r\n\r\n const unidade = await this.unidadeGestoraService.obterPorId(this.unidadeGestora);\r\n\r\n if (unidade.sucesso) {\r\n this.unidadeGestoraNome = unidade.dados.sigla + '-' + unidade.dados.nome;\r\n }\r\n }\r\n\r\n this.buscarItens(this.tipoUniversoAuditavel, this.modelTipoUniverso.tipo === TipoUniversoEnum.Padronizado ? null : this.unidadeGestora);\r\n }\r\n\r\n gerarRespostas(): any[] {\r\n if (!this.selectedDropdownValue) {\r\n this.exibirMensagemAlerta('Nenhum critério selecionado.');\r\n this.errorMessage = 'Por favor, selecione um Critério!';\r\n return [];\r\n }\r\n\r\n // Limpa completamente as respostas anteriores do critério selecionado\r\n this.criteriosResposta[this.selectedDropdownValue] = [];\r\n\r\n const responses: any[] = [];\r\n\r\n this.modelTipoUniversoItens.itens.forEach((subtipo: any) => {\r\n subtipo.itens.forEach((macro: any) => {\r\n const macroResponses: IUniversoAuditavelItemRespostaModel[] = [];\r\n\r\n macro.itens.forEach((processo: any) => {\r\n const processoControl = this.formGroup.get('resposta-' + processo.id);\r\n\r\n if (processoControl?.value === null || processoControl?.value === '') {\r\n processoControl?.setErrors({ required: true });\r\n } else {\r\n processoControl?.setErrors(null);\r\n }\r\n\r\n if (processoControl) {\r\n const existingResponse = this.findExistingResponse(\r\n this.selectedDropdownValue,\r\n processo.id\r\n );\r\n\r\n macroResponses.push({\r\n ...existingResponse,\r\n resposta: processoControl.value || '',\r\n criterioId: parseInt(this.selectedDropdownValue, 10),\r\n unidadeGestoraId: this.unidadeGestora,\r\n tipouniversoItemId: processo.id,\r\n universoAuditavelId: this.universoAuditavel,\r\n tipouniversoId: this.tipoUniversoAuditavel,\r\n indicadorId: this.indicadorId\r\n } as IUniversoAuditavelItemRespostaModel);\r\n } else {\r\n console.warn(`Controle não encontrado para processo-${processo.id}`);\r\n }\r\n });\r\n\r\n if (macroResponses.length > 0) {\r\n responses.push(macroResponses);\r\n }\r\n });\r\n });\r\n\r\n this.criteriosResposta[this.selectedDropdownValue] = responses;\r\n\r\n return responses;\r\n }\r\n\r\n\r\n// Método auxiliar para encontrar resposta existente\r\n private findExistingResponse(criterioId: string, processoId: number): Partial {\r\n const existingResponses = this.criteriosResposta[criterioId];\r\n if (!existingResponses) return {};\r\n\r\n for (const macroGroup of existingResponses as IUniversoAuditavelItemRespostaModel[][]) {\r\n for (const response of macroGroup) {\r\n if (response.tipouniversoItemId === processoId) {\r\n return response;\r\n }\r\n }\r\n }\r\n\r\n return {};\r\n }\r\n\r\n public async onSubmit(salvarEFechar: boolean){\r\n this.submitted = true;\r\n this.gerarRespostas();\r\n if (this.formGroup.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n const allResponses: IUniversoAuditavelItemRespostaModel[] = Object.values(this.criteriosResposta).reduce((acc, curr) => {\r\n // @ts-ignore\r\n return acc.concat(curr);\r\n }, []);\r\n const itensUniverso: IUniversoAuditavelItemRespostaModel[] = allResponses.reduce((acc, curr) => acc.concat(curr), []);\r\n\r\n const res = await this.universoAuditavelItemRespostaService.inserir(itensUniverso);\r\n\r\n if(res.sucesso){\r\n if(salvarEFechar){\r\n this.exibirMensagemSucesso('Resposta Enviadas com Sucesso!');\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestora}?aba=3`);\r\n }else{\r\n this.exibirMensagemSucesso('Resposta Enviadas com Sucesso!');\r\n }\r\n\r\n }else{\r\n this.exibirMensagemErro('Erro ao inserir Registro');\r\n }\r\n }\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestora}?aba=3`);\r\n }\r\n public async buscarItens(idTipoUniverso: number, idUG: number) {\r\n\r\n if (idTipoUniverso) {\r\n const res = await this.tipoUniversoService.obterItens(idTipoUniverso, idUG);\r\n if (res.sucesso) {\r\n this.modelTipoUniversoItens = res.dados;\r\n this.semDados = this.modelTipoUniversoItens.itens.length == 0;\r\n if (this.semDados) {\r\n this.novoRegistro = true;\r\n } else {\r\n this.novoRegistro = false;\r\n }\r\n\r\n this.reordenar();\r\n\r\n if (this.modelTipoUniversoItens && this.modelTipoUniversoItens.itens) {\r\n this.modelTipoUniversoItens.itens.forEach(subtipo => {\r\n subtipo.itens.forEach(macro => {\r\n macro.itens.forEach(processo => {\r\n this.formGroup.addControl('resposta-' + processo.id, this.fb.control(''));\r\n });\r\n });\r\n });\r\n } else {\r\n console.warn('Dados não estão carregados.');\r\n }\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }\r\n }\r\n\r\n onFinalizar(){\r\n\r\n Swal.fire({\r\n title: \"Finalizar Preenchimento\",\r\n text: \"Tem certeza que deseja finalizar o mapeamento do universo auditável?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then((res) => {\r\n if (res.value) {\r\n this.universoAuditavelService\r\n .finalizarUniversoAuditavel(this.universoAuditavel, this.acao)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestora}?aba=3`);\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'success',\r\n text: 'Universo Finalizado com Sucesso ',\r\n });\r\n } else {\r\n {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n });\r\n }\r\n }\r\n })\r\n .catch((err) => {\r\n {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n });\r\n }\r\n });\r\n }\r\n });\r\n\r\n }\r\n isHabilitaBotaoFinalizar(){\r\n return this.habilitaBotaoFinalizar;\r\n }\r\n public reordenar(){\r\n this.modelTipoUniversoItens.itens.forEach((item, idx) => {\r\n item.ordem = (idx + 1);\r\n item.ordemExibicao = `1.${item.ordem.toString()}`;\r\n if(item.itens && item.itens.length > 0){\r\n this.fnReordenacao(item);\r\n }\r\n });\r\n }\r\n public fnReordenacao(item: ITipoUniversoItemModel){\r\n item.itens.forEach((subItem, subIdx) => {\r\n\r\n subItem.ordem = subIdx + 1;\r\n subItem.ordemExibicao = `${item.ordemExibicao}.${subItem.ordem.toString()}`\r\n if(subItem.itens && subItem.itens.length > 0){\r\n this.fnReordenacao(subItem);\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n \r\n
  2. \r\n
  3. \r\n Universo auditável\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
Unidade Gestora : {{unidadeGestoraNome}} Indicador Subtipo \r\n \r\n {{ element.ordemExibicao }} - {{ element.tipoUniversoAuditavelItemNome }}\r\n \r\n Macroprocesso \r\n \r\n
\r\n {{ itemMacro.ordemExibicao }} - {{ itemMacro.tipoUniversoAuditavelItemNome }}\r\n
\r\n
\r\n
Processo \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ processo.ordemExibicao }} - {{ processo.tipoUniversoAuditavelItemNome }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{indicadorNome}} \r\n {{ criterio }} \r\n
\r\n
\r\n {{ resposta }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n","import { Component, ElementRef, OnInit, ViewChild } from \"@angular/core\";\r\nimport { BaseFormComponent } from \"../../../../shared/components/base-form/base-form.component\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { AuthService } from \"../../../../services/auth.service\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { PerguntaService } from \"../../../../services/pergunta.service\";\r\nimport { TabelaDominioService } from \"../../../../services/tabela-dominio.service\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { MatGridListModule } from \"@angular/material/grid-list\";\r\nimport { UniversoAuditavelService } from \"../../../../services/universo-auditavel.service\";\r\nimport {\r\n IUniversoAuditavelItemRespostaItensModel,\r\n IUniversoAuditavelModel\r\n} from \"../../../../models/universo-auditavel.model\";\r\nimport { TipoUniversoEnum } from \"../../../../models/enum/tipo-universo.enum\";\r\nimport { TipoUniversoService } from \"../../../../services/tipo-universo.service\";\r\nimport { UnidadeGestoraService } from \"../../../../services/unidade-gestora.service\";\r\nimport {\r\n ITipoUniversoItemModel,\r\n ITipoUniversoModel,\r\n ITipoUniversoUGModel\r\n} from \"../../../../models/tipo-universo.model\";\r\nimport { UniversoAuditavelItemRespostaService } from \"../../../../services/universo-auditavel-item-resposta.service\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { element } from \"protractor\";\r\n\r\n@Component({\r\n selector: 'app-visualizar-universo-auditavel',\r\n templateUrl: './visualizar-universo-auditavel.component.html',\r\n styleUrls: ['./visualizar-universo-auditavel.component.scss']\r\n})\r\n\r\nexport class VisualizarUniversoAuditavelComponent extends BaseFormComponent implements OnInit{\r\n constructor(\r\n toastr: ToastrService,\r\n route: ActivatedRoute,\r\n router: Router,\r\n private authService: AuthService,\r\n localeService: BsLocaleService,\r\n private perguntaService: PerguntaService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private universoAuditavelService: UniversoAuditavelService,\r\n private universoAuditavelItemService: UniversoAuditavelItemRespostaService,\r\n public matDialog: MatDialog,\r\n private tipoUniversoService: TipoUniversoService,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n public matGridListModule: MatGridListModule\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n this.dataSource = new MatTableDataSource();\r\n\r\n }\r\n public modelUniversoAuditavel = {} as IUniversoAuditavelModel;\r\n public dropdownData: { value: string, text: string , unidade: string}[] = [];\r\n public semDados: boolean;\r\n public modelTipoUniverso: ITipoUniversoModel = {} as ITipoUniversoModel;\r\n public modelTipoUniversoItens: IUniversoAuditavelItemRespostaItensModel = {} as IUniversoAuditavelItemRespostaItensModel;\r\n unidadeGestoraNome: string = '';\r\n indicadorNome: string = '';\r\n unidadeGestora: number;\r\n totalItens: number;\r\n colspanIdicador: number;\r\n criterios: string[] = [];\r\n dataSource: MatTableDataSource;\r\n displayedColumns: string[] = ['subtipo', 'macroprocesso', 'processos', ...this.criterios];\r\n headerRows = ['header-row-grupo', 'header-row-detalhes'];\r\n displayedColumnsGrupo = ['grupo-agrupamento', 'grupo-indicador'];\r\n async ngOnInit() {\r\n const res = await this.universoAuditavelService.obterPorId(this.id);\r\n if ( res.sucesso){\r\n this.modelUniversoAuditavel = res.dados;\r\n }\r\n\r\n this.buscarTipoUniverso(this.modelUniversoAuditavel.tipoUniversoAuditavelId);\r\n }\r\n\r\n getDivididosPorColunas(itemMacro: any) {\r\n const processos = itemMacro.itens.filter(\r\n processo => processo.idItemPai === itemMacro.tipoUniversoAuditavelItemId && processo.criterioId\r\n );\r\n\r\n const coluna1 = processos.slice(0, Math.ceil(processos.length / 2));\r\n const coluna2 = processos.slice(Math.ceil(processos.length / 2));\r\n\r\n return [coluna1, coluna2];\r\n }\r\n\r\n getCriterioValue(element: IUniversoAuditavelItemRespostaItensModel, criterioNome: string): string[] {\r\n let respostas: string[] = [];\r\n\r\n if (element.itens.length > 0) {\r\n for (const value of element.itens) {\r\n const respostasEncontradas = value.itens\r\n .filter(resp => value.tipoUniversoAuditavelItemId === resp.idItemPai && resp.criterioNome === criterioNome)\r\n .map(resp => resp.universoAuditavelItemRespostas);\r\n\r\n respostas.push(...respostasEncontradas);\r\n }\r\n }\r\n\r\n return respostas; // Retorna um array de respostas\r\n }\r\n\r\n\r\n public async buscarTipoUniverso(idTipo:number){\r\n const res = await this.tipoUniversoService.obterPorId(idTipo);\r\n if(res.sucesso){\r\n this.modelTipoUniverso = res.dados;\r\n this.unidadeGestora = this.modelUniversoAuditavel.unidadeGestoraId;\r\n this.titulo = 'Visualizar Mapeamento Universo Auditável - '+ this.modelTipoUniverso.nome;\r\n\r\n const unidade = await this.unidadeGestoraService.obterPorId(this.unidadeGestora);\r\n\r\n if (unidade.sucesso) {\r\n this.unidadeGestoraNome = unidade.dados.sigla + '-' + unidade.dados.nome;\r\n }\r\n }\r\n\r\n this.buscarItens(this.modelTipoUniverso.id, this.unidadeGestora );\r\n }\r\n\r\n contarItens(obj: any): number {\r\n\r\n return obj.itens.reduce((acc: number, item: any) => {\r\n return acc + 1 + (item.itens ? this.contarItens(item) : 0);\r\n }, 0);\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigateByUrl(\r\n `/unidades-gestoras/${this.unidadeGestora}?aba=3`\r\n );\r\n }\r\n\r\n public async buscarItens(idTipoUniverso: number, idUG: number) {\r\n\r\n if (idTipoUniverso) {\r\n const res = await this.universoAuditavelItemService.ObterRespostaPorCriterios(idUG, idTipoUniverso);\r\n if (res.sucesso) {\r\n this.modelTipoUniversoItens = res.dados;\r\n this.reordenar();\r\n this.processData();\r\n\r\n }\r\n }\r\n }\r\n contarItensTipo2(obj) {\r\n function contarItens(itens) {\r\n return itens.reduce((total, item) => {\r\n let count = item.tipo === 2 ? item.itens.length : 0;\r\n return total + count + contarItens(item.itens);\r\n }, 0);\r\n }\r\n return contarItens(obj.itens);\r\n }\r\n\r\n retornoAbaUnidade(){\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestora}?aba=3`);\r\n }\r\n\r\n processData() {\r\n if (!this.modelTipoUniversoItens || Object.keys(this.modelTipoUniversoItens).length === 0) {\r\n this.dataSource.data = [];\r\n return;\r\n }\r\n\r\n const criteriosSet = new Set();\r\n Object.values(this.modelTipoUniversoItens).forEach((value, idx) => {\r\n this.totalItens = this.contarItensTipo2(value);\r\n });\r\n\r\n\r\n Object.values(this.modelTipoUniversoItens).forEach((value, idx) => {\r\n this.processItemsForCriterios(value, criteriosSet);\r\n });\r\n\r\n this.criterios = Array.from(criteriosSet);\r\n Object.values(this.modelTipoUniversoItens).forEach((value, idx) => {\r\n if(idx === 0){\r\n this.indicadorNome = value.indicadorDescricao;\r\n }\r\n });\r\n\r\n this.colspanIdicador = this.criterios.length ;\r\n this.displayedColumns = [\r\n 'subtipo',\r\n 'macroprocesso',\r\n 'processos',\r\n ...this.criterios.map(c => `criterio_${c}`)\r\n ];\r\n this.dataSource.data = Object.values(this.modelTipoUniversoItens);\r\n }\r\n\r\n processItemsForCriterios(item: IUniversoAuditavelItemRespostaItensModel, criteriosSet: Set) {\r\n if (item.criterioNome) {\r\n criteriosSet.add(item.criterioNome);\r\n }\r\n\r\n if (item.itens && Object.values(item.itens).length > 0) {\r\n Object.values(item.itens).forEach(value => {\r\n this.processItemsForCriterios(value, criteriosSet);\r\n });\r\n }\r\n }\r\n\r\n\r\n public reordenar() {\r\n // Verifica se model é um objeto com as chaves e percorre as chaves\r\n Object.keys(this.modelTipoUniversoItens).forEach((key, idx) => {\r\n this.reordenarItem(this.modelTipoUniversoItens[key], idx + 1, ''); // Começa a ordem com uma string vazia\r\n });\r\n }\r\n\r\n reordenarItem(item: IUniversoAuditavelItemRespostaItensModel, index: number, prefixo: string) {\r\n const novaOrdem = prefixo ? `${prefixo}.${index}` : `${index}`;\r\n item.ordemExibicao = novaOrdem;\r\n\r\n if (item.itens && Object.keys(item.itens).length > 0) {\r\n Object.keys(item.itens).forEach((key, idx) => {\r\n this.reordenarItem(item.itens[key], idx + 1, novaOrdem);\r\n });\r\n }\r\n }\r\n\r\n public onBack() {\r\n\r\n this.submit = false;\r\n\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.modelUniversoAuditavel.unidadeGestoraId}?aba=3`);\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IArquivoModel } from 'src/app/models/arquivo.model';\r\nimport { AvaliacaoRequest, IListaQuestionarioRespostaUGModel, QuestionarioUGItensResposta } from 'src/app/models/questionario-ug.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { EntendendoEntidadeService } from 'src/app/services/entendendo-entidade.service';\r\nimport { PerguntaService } from 'src/app/services/pergunta.service';\r\nimport { QuestionarioUGRespostaService } from 'src/app/services/questionarioug-resposta.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ResponsaveisService } from 'src/app/services/responsaveis.service ';\r\nimport { MatCheckboxChange } from '@angular/material/checkbox';\r\nimport { EnumTipoAvaliacaoQuestionarioUG } from 'src/app/models/enum/tipo-avaliacao-questionario-ug.enum';\r\nimport { EnumStatusAvaliacaoQuestionarioUG } from 'src/app/models/enum/status-avaliacao-questionario-ug.enum';\r\nimport { ModalAvaliarQuestionarioComponent } from '../modal-avaliar-questionario/modal-avaliar-questionario.component';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport { EnumTipoQuestionarioUG } from 'src/app/models/enum/tipo-questionario-ug.enum';\r\nimport { EQuestionarioUGSituacao, EQuestionarioUGSituacaoDescricao } from 'src/app/models/enum/questionario-ug-situacao.enum';\r\nimport Swal from 'sweetalert2';\r\nimport { SelectionModel } from \"@angular/cdk/collections\";\r\n\r\n\r\n@Component({\r\n selector: 'app-avaliar-questionario',\r\n templateUrl: './avaliar-questionario.component.html',\r\n styleUrls: ['./avaliar-questionario.component.scss']\r\n})\r\nexport class AvaliarQuestionarioComponent extends BaseFormComponent implements OnInit {\r\n public model= {} as IListaQuestionarioRespostaUGModel;\r\n formGroup: FormGroup;\r\n arquivo: File | null = null;\r\n displayedColumns: string[] = ['questionAndResponse', 'situacao'];\r\n public dataSource = new MatTableDataSource([]);\r\n imprimir: boolean;\r\n selectedItems: QuestionarioUGItensResposta[] = [];\r\n selectedIds: number[] = [];\r\n exibeCamposStatusEmReplica: boolean;\r\n avaliacao: AvaliacaoRequest;\r\n tipoQuestionario: number;\r\n isButtonAvaliarDisabled: boolean = false;\r\n isButtonReAvaliarDisabled: boolean = false;\r\n isButtonEnviarReplicaDisabled: boolean = false;\r\n\r\n selection = new SelectionModel(true, []);\r\n public dataSource2: any[] = [];\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private questionarioUGRespostaService: QuestionarioUGRespostaService,\r\n toastr: ToastrService,\r\n route: ActivatedRoute,\r\n router: Router,\r\n private authService: AuthService,\r\n localeService: BsLocaleService,\r\n private perguntaService: PerguntaService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private responsaveisService: ResponsaveisService,\r\n public matDialog: MatDialog,\r\n private sharedService: SharedService\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n this.formGroup = this.fb.group({\r\n checkboxs: this.fb.array([]),\r\n respostas: this.fb.array([]),\r\n arquivos: this.fb.array([]) // Novo FormArray para os arquivos\r\n });\r\n}\r\n\r\n ngOnInit(): void {\r\n this.buscar();\r\n this.tipoQuestionario = this.sharedService.getTipoQuestionario();\r\n };\r\n\r\n\r\n buscar() {\r\n this.questionarioUGRespostaService.ObterRespostaQuestionario(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n let aba = 0;\r\n if(this.tipoQuestionario == EnumTipoQuestionarioUG.EntendendoEntidade){\r\n aba = 1;\r\n }else if (this.tipoQuestionario == EnumTipoQuestionarioUG.MaturidadeRisco){\r\n aba = 2;\r\n }\r\n\r\n this.isDesabilitaBotoes(res.dados.status);\r\n\r\n this.dataSource = new MatTableDataSource(res.dados.respostas);\r\n\r\n this.dataSource2 = res.dados.respostas;\r\n\r\n // Limpa o FormArray antes de adicionar novos controles\r\n const respostasFormArray = this.formGroup.get('respostas') as FormArray;\r\n respostasFormArray.clear();\r\n //const checkboxesFormArray = this.fb.array([]); // Novo FormArray para os checkboxes\r\n const checkboxesFormArray = this.formGroup.get('checkboxs') as FormArray;\r\n //checkboxesFormArray.clear(); // REMOVA ESTA LINHA\r\n this.selectedIds = [];\r\n this.selection.clear();\r\n\r\n // Adiciona controles ao FormArray dinamicamente\r\n res.dados.respostas.forEach((item, index) => {\r\n respostasFormArray.push(new FormControl(item.resposta));\r\n checkboxesFormArray.push(new FormControl(false)); // Inicializa como 'false'\r\n //respostasFormArray.at(index).setValue(false, { emitEvent: false });\r\n });\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => this.exibirMensagemErro(err));\r\n }\r\n\r\n getRespostaFormControl(index: number): FormControl {\r\n const respostasFormArray = this.formGroup.get('respostas') as FormArray;\r\n return respostasFormArray.at(index) as FormControl;\r\n }\r\n\r\n getCheckBoxFormControl(index: number): FormControl {\r\n const checkBoxsFormArray = this.formGroup.get('checkboxs') as FormArray;\r\n return checkBoxsFormArray.at(index) as FormControl;\r\n }\r\n\r\n checkExists(value):boolean{\r\n return this.selectedIds.includes(value);\r\n }\r\n\r\n onCheckboxChange(event: MatCheckboxChange, element: any) {\r\n if (event.checked) {\r\n if(!this.checkExists(element.idItemQuestionario)){\r\n this.selectedIds.push(element.idItemQuestionario);\r\n this.selection.toggle(element);\r\n }\r\n } else {\r\n const index = this.selectedIds.indexOf(element.idItemQuestionario);\r\n if (index > -1) {\r\n this.selectedIds.splice(index, 1);\r\n }\r\n if(this.selectedIds.length === 0){\r\n this.selection.clear();\r\n }\r\n }\r\n }\r\n masterToggle() {\r\n this.isAllSelected() ?\r\n this.selection.clear() :\r\n this.dataSource2.forEach(row =>\r\n {\r\n if((row.tipoAvaliacaoAuditor != \"Concordo\" && row.tipoReplica != \"Concordo\" )){\r\n this.selection.select(row);\r\n }\r\n }\r\n );\r\n }\r\n\r\n\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.dataSource2.filter(x => x.tipoAvaliacaoAuditor != \"Concordo\" && x.idTipoSecaoOuPergunta != 1 ).length;\r\n return numSelected === numRows;\r\n }\r\n\r\n onAvaliar(){\r\n const idsSelecionados = this.selectedIds;\r\n\r\n const idsSelecionadosString: string = idsSelecionados.join(',');\r\n const perguntaSelecionada = this.model.respostas.find(item => idsSelecionados.includes(item.idItemQuestionario));\r\n // Verifica se há mais de uma pergunta selecionada\r\n if (idsSelecionados.length > 1) {\r\n this.exibirMensagemAlerta('Só pode ter um registro selecionado para avaliar');\r\n return;\r\n }\r\n\r\n // Verifica se há pelo menos uma pergunta selecionada\r\n if (idsSelecionados.length === 0) {\r\n this.exibirMensagemAlerta('Selecione uma pergunta para avaliar');\r\n return;\r\n }\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n ids: idsSelecionadosString,\r\n pergunta: perguntaSelecionada.pergunta,\r\n resposta: perguntaSelecionada.resposta,\r\n tipoEntrada: perguntaSelecionada.tipoEntrada,\r\n tipoQuestionario: this.tipoQuestionario,\r\n perguntaOpcao: perguntaSelecionada.perguntaOpcao,\r\n idQuestionario: this.id\r\n };\r\n\r\n const modal = this.matDialog.open(ModalAvaliarQuestionarioComponent, dialogConfig);\r\n\r\n modal.afterClosed().subscribe((data) => {\r\n this.selection.clear();\r\n this.buscar();\r\n });\r\n\r\n }\r\n onConcordar(){\r\n\r\n let idsSelecionados: number[] = [];\r\n\r\n if(this.selectedIds.length > 0){\r\n idsSelecionados = this.selectedIds;\r\n }else{\r\n // @ts-ignore\r\n idsSelecionados = this.selection.selected.map(item => {\r\n if (item.idTipoSecaoOuPergunta != 1) {\r\n return item.idItemQuestionario;\r\n }\r\n return null;\r\n }).filter(id => id !== null);\r\n }\r\n const idsSelecionadosString: string = idsSelecionados.join(',');\r\n\r\n if (idsSelecionados.length === 0) {\r\n this.exibirMensagemAlerta('Selecione uma pergunta para avaliar');\r\n return;\r\n }\r\n\r\n this.avaliacao = {\r\n statusAvaliacao: EnumStatusAvaliacaoQuestionarioUG.concordo,\r\n texto: \"\",\r\n tipoAvaliacao: EnumTipoAvaliacaoQuestionarioUG.avaliacaoFinal\r\n };\r\n\r\n if(idsSelecionados.length > 1)\r\n {\r\n Swal.fire({\r\n title: 'Atenção',\r\n text: \"Concordar com as respostas selecionadas? Caso confirme, todas serão finalizadas! \",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n if(res.isConfirmed)\r\n this.questionarioUGRespostaService.fazerAvaliacaoOuReplica(idsSelecionadosString, this.avaliacao)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Registro Atualizado com sucesso');\r\n this.buscar();\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n })\r\n }\r\n else\r\n {\r\n this.questionarioUGRespostaService.fazerAvaliacaoOuReplica(idsSelecionadosString, this.avaliacao)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso('Registro Atualizado com sucesso');\r\n this.buscar();\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch(error => {\r\n this.toastr.error(error.mensagem.descricao);\r\n });\r\n }\r\n }\r\n onReavaliar(){\r\n const idsSelecionados = this.selectedIds;\r\n const idsSelecionadosString: string = idsSelecionados.join(',');\r\n const perguntaSelecionada = this.model.respostas.find(item => idsSelecionados.includes(item.idItemQuestionario));\r\n // Verifica se há mais de uma pergunta selecionada\r\n if (idsSelecionados.length > 1) {\r\n this.exibirMensagemAlerta('Só pode ter um registro selecionado para avaliar');\r\n return;\r\n }\r\n\r\n // Verifica se há pelo menos uma pergunta selecionada\r\n if (idsSelecionados.length === 0) {\r\n this.exibirMensagemAlerta('Selecione uma pergunta para avaliar');\r\n return;\r\n }\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n ids: idsSelecionadosString,\r\n pergunta: perguntaSelecionada.pergunta,\r\n resposta: perguntaSelecionada.resposta,\r\n reavaliar: true,\r\n tipoQuestionario: this.tipoQuestionario\r\n };\r\n\r\n const modal = this.matDialog.open(ModalAvaliarQuestionarioComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n this.selection.clear();\r\n this.buscar();\r\n });\r\n\r\n\r\n }\r\n onEncerrarAvaliacao(){\r\n Swal.fire({\r\n title: 'Atenção',\r\n text: \"Esta ação não poderá ser desfeita! Deseja continuar? \",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n if (res.value) {\r\n\r\n this.questionarioUGRespostaService.FinalizarQuestionarioAvaliacao(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n let aba = 0;\r\n if(this.tipoQuestionario == EnumTipoQuestionarioUG.EntendendoEntidade){\r\n aba = 1;\r\n }else if (this.tipoQuestionario == EnumTipoQuestionarioUG.MaturidadeRisco){\r\n aba = 2;\r\n }\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.model.idUG}?aba=${this.aba}`);\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n }\r\n})\r\n\r\n }\r\n onEnviarReplica(){\r\n this.questionarioUGRespostaService.enviarParaReplica(this.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n let aba = 0;\r\n if(this.tipoQuestionario == EnumTipoQuestionarioUG.EntendendoEntidade){\r\n aba = 1;\r\n }else if (this.tipoQuestionario == EnumTipoQuestionarioUG.MaturidadeRisco){\r\n aba = 2;\r\n }\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.model.idUG}?aba=${this.aba}`);\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n }\r\n onFechar(){\r\n let aba = 0;\r\n if(this.tipoQuestionario == EnumTipoQuestionarioUG.EntendendoEntidade){\r\n aba = 1;\r\n }else if (this.tipoQuestionario == EnumTipoQuestionarioUG.MaturidadeRisco){\r\n aba = 2;\r\n }\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.model.idUG}?aba=${this.aba}`);\r\n }\r\n\r\n isTodosAvaliados() {\r\n const filteredItems = this.dataSource.data.filter(item => item.idTipoSecaoOuPergunta === 2);\r\n const algumAvaliado = filteredItems.some(\r\n item => item.tipoAvaliacaoAuditor === 'Discordo'\r\n || item.tipoAvaliacaoAuditor === 'Concordo Parcialmente'\r\n || item.tipoAvaliacaoAuditor === 'Concordo'\r\n );\r\n return algumAvaliado;\r\n }\r\n\r\n isDesabilitaBotoes(status: string){\r\n if(status == EQuestionarioUGSituacaoDescricao[EQuestionarioUGSituacao.Contestado]){\r\n this.isButtonAvaliarDisabled = true;\r\n this.isButtonEnviarReplicaDisabled = true;\r\n }\r\n else\r\n {\r\n this.isButtonReAvaliarDisabled = true;\r\n }\r\n }\r\n\r\n}\r\n\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Avaliar Questionário\r\n

\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n Avaliar\r\n \r\n \r\n Concordar\r\n \r\n \r\n Reavaliar\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n

{{ element.pergunta }}

\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
Situação\r\n {{ element.idTipoSecaoOuPergunta === 2 ? element.tipoAvaliacaoAuditor : \"\" }}\r\n
\r\n
\r\n \r\n Encerrar Avaliação\r\n \r\n \r\n Enviar para Réplica\r\n \r\n \r\n Fechar\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial \r\n
  2. \r\n
  3. \r\n Questionário\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n {{ titulo }}\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n Documento de Trabalho\r\n \r\n \r\n \r\n {{ element.codigo }} -\r\n {{ element.descricao }}\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n Perguntas\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n Pergunta\r\n Seção\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
#NomeTipoObrigatórioAções
\r\n
\r\n \r\n \r\n {{ element?.ordemExibicao }}\r\n
\r\n
{{ element?.nome }}{{ element?.tipoDescription }} Sim \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{ subItem?.ordemExibicao }}\r\n
\r\n
{{ subItem?.nome }}{{ subItem?.tipoDescription }} Sim \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Nenhum item cadastrado\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ","import { BaseFormComponent } from \"src/app/shared/components/base-form/base-form.component\";\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { TabelaDominioService } from \"src/app/services/tabela-dominio.service\";\r\nimport { IEnumModel } from \"src/app/models/enum.model\";\r\nimport { PerguntaService } from \"src/app/services/pergunta.service\";\r\nimport { MatDialogConfig } from \"@angular/material/dialog\";\r\nimport { QuestionarioUGService } from \"src/app/services/questionarioug.service\";\r\nimport { IQuestionarioUGItemModel, IQuestionarioUGModel } from \"src/app/models/questionario-ug.model\";\r\nimport { EditarQuestionarioModalPerguntaComponent } from \"./modal-pergunta/modal-pergunta.component\";\r\nimport { EditarQuestionarioModalSecaoComponent } from \"./modal-secao/modal-secao.component\";\r\n\r\n@Component({\r\n selector: 'app-editar-questionario',\r\n templateUrl: './editar-questionario.component.html',\r\n styleUrls: ['./editar-questionario.component.scss']\r\n})\r\nexport class EditarQuestionarioComponent extends BaseFormComponent implements OnInit {\r\n \r\n public model= {} as IQuestionarioUGModel;\r\n public tiposDocumentos = [] as IEnumModel[];\r\n columnsToDisplay = ['ordem', 'nome', 'tipoDescription', 'obrigatorio', 'actions'];\r\n subColumnsToDisplay = ['ordem', 'nome', 'tipoDescription', 'obrigatorio', 'actions'];\r\n public idUnidadeGestora : number;\r\n\r\n constructor(\r\n private questionarioUGService: QuestionarioUGService,\r\n toastr: ToastrService,\r\n route: ActivatedRoute,\r\n router: Router,\r\n private authService: AuthService,\r\n localeService: BsLocaleService,\r\n private perguntaService: PerguntaService,\r\n private tabelaDominioService: TabelaDominioService,\r\n public matDialog: MatDialog\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({value: '', disabled:true}),\r\n nome: new FormControl('', Validators.required),\r\n tipoDocumento: new FormControl({value:[] as IEnumModel[]})\r\n })\r\n\r\n async ngOnInit(){\r\n await this.tabelaDominioService\r\n .obterTiposDocumentoTrabalho()\r\n .then((res) => this.tiposDocumentos = res.dados)\r\n .catch((err) => this.exibirMensagemErro(err));\r\n\r\n if(!this.novoRegistro){\r\n this.questionarioUGService\r\n .obterPorId(this.id)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.model = res.dados\r\n this.idUnidadeGestora = res.dados.unidadeGestoraId;\r\n this.form.controls['nome'].setValue(res.dados.nome);\r\n this.form.controls['id'].setValue(res.dados.id);\r\n this.form.controls['tipoDocumento'].setValue(res.dados.tipoDocumentoId);\r\n this.titulo = \"Editar Questionário - #\" + this.model.id.toString();\r\n this.reordenar();\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => this.exibirMensagemErro(err));\r\n }else{\r\n this.titulo = \"Novo questionário\";\r\n } \r\n\r\n }\r\n\r\n public async salvarDados(salvarEFechar: boolean){\r\n if (this.form.invalid) {\r\n this.exibirMensagemErro('Formulário invalido!');\r\n return;\r\n }\r\n\r\n this.model.nome = this.form.controls['nome'].value;\r\n this.model.id = this.id ?? 0;\r\n this.model.tipoDocumentoId = this.form.controls['tipoDocumento'].value;\r\n\r\n let aba = 0;\r\n if(this.model.tipoDocumentoId == 9){\r\n aba = 1;\r\n }else if(this.model.tipoDocumentoId == 10){\r\n aba = 2;\r\n }\r\n\r\n \r\n this.questionarioUGService\r\n .atualizar(this.model)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n if(salvarEFechar){\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.idUnidadeGestora}?aba=${aba}`);\r\n }else{\r\n this.router.navigate([`editar-questionario/${this.model.id}`]);\r\n }\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => this.exibirMensagemErro(err));\r\n \r\n }\r\n\r\n public drop(event: CdkDragDrop, element: any) {\r\n let contadorGeralIndice = 0;\r\n let contadorItem = 0;\r\n let contadorSubItem = 0;\r\n let indiceAnteriorModel = -1;\r\n let indiceAtualModel = -1;\r\n let moveu = false;\r\n\r\n this.model.itens.forEach((item, idx) => {\r\n if(moveu == true){\r\n return;\r\n }\r\n\r\n if(item.nome == element.nome){\r\n if(contadorGeralIndice == event.previousIndex){\r\n indiceAnteriorModel = idx;\r\n }\r\n \r\n if(contadorGeralIndice == event.currentIndex){\r\n indiceAtualModel = idx;\r\n }\r\n \r\n if(indiceAnteriorModel >= 0 && indiceAtualModel >= 0){\r\n moveItemInArray(this.model.itens, indiceAnteriorModel, indiceAtualModel); \r\n moveu = true; \r\n return;\r\n }\r\n \r\n contadorGeralIndice += 1;\r\n \r\n if(item.subItens){\r\n item.subItens.forEach((subItem, subIdx) => {\r\n debugger\r\n if(moveu == true){\r\n return;\r\n }\r\n \r\n if(contadorGeralIndice == event.previousIndex){\r\n indiceAnteriorModel = subIdx;\r\n }\r\n \r\n if(contadorGeralIndice == event.currentIndex){\r\n indiceAtualModel = subIdx;\r\n }\r\n \r\n if(indiceAnteriorModel >= 0 && indiceAtualModel >= 0){\r\n moveItemInArray(item.subItens, indiceAnteriorModel, indiceAtualModel); \r\n moveu = true; \r\n return;\r\n }\r\n \r\n \r\n contadorGeralIndice += 1;\r\n });\r\n }\r\n }\r\n \r\n });\r\n\r\n this.reordenar();\r\n }\r\n\r\n public reordenar(){\r\n this.model.itens.forEach((item, idx) => {\r\n item.ordem = (idx + 1);\r\n item.ordemExibicao = item.ordem.toString();\r\n if(item.subItens){\r\n item.subItens.forEach((subItem, subIdx) => {\r\n const itemPai = this.model.itens.find(_ => _.id == subItem.idItemPai);\r\n subItem.ordem = subIdx + 1;\r\n subItem.ordemExibicao = `${item.ordemExibicao}.${subItem.ordem.toString()}`\r\n });\r\n }\r\n });\r\n }\r\n\r\n public async exibirModalPergunta(idItemPai: number, idx: number){\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n\r\n const modal = this.matDialog.open(EditarQuestionarioModalPerguntaComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n let novoItem = {} as IQuestionarioUGItemModel;\r\n novoItem.idQuestionarioUG = this.id;\r\n novoItem.nome = data.nome;\r\n novoItem.tipoId = 2;\r\n novoItem.tipoDescription = data.tipoEntrada.descricao;\r\n novoItem.obrigatorio = data.obrigatorio;\r\n novoItem.perguntaId = data.id;\r\n novoItem.atualizarModelo = data.atualizarModelo;\r\n\r\n if(idItemPai == -1 && idx == -1){\r\n if(!this.model.itens)\r\n this.model.itens = [] as IQuestionarioUGItemModel[];\r\n\r\n this.model.itens.push(novoItem);\r\n }else{\r\n const itemPai = this.model.itens[idx];\r\n \r\n if(!itemPai.subItens)\r\n itemPai.subItens = [] as IQuestionarioUGItemModel[];\r\n\r\n itemPai.subItens.push(novoItem);\r\n }\r\n this.reordenar();\r\n }\r\n })\r\n }\r\n\r\n public exibirModalSecao(element: any){\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n id: element ? element.id : 0,\r\n idModeloQuestionario : this.id,\r\n nome: element ? element.nome : \"\"\r\n };\r\n\r\n const modal = this.matDialog.open(EditarQuestionarioModalSecaoComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n debugger;\r\n if(data){\r\n let novaSecao = data as IQuestionarioUGItemModel;\r\n \r\n\r\n if(!this.model.itens || this.model.itens.length == 0){\r\n this.model.itens = [] as IQuestionarioUGItemModel[];\r\n this.model.itens.push(novaSecao);\r\n this.reordenar();\r\n return;\r\n }\r\n\r\n if(this.model.itens.find((element)=> element.nome.toUpperCase() == novaSecao.nome.toUpperCase())){\r\n this.exibirMensagemErro(\"Já existe seção com este nome.\");\r\n return;\r\n } \r\n\r\n var isNew = true;\r\n \r\n this.model.itens.forEach((element, idx) => {\r\n if(novaSecao.nomeAnterior == element.nome \r\n && novaSecao.nomeAnterior != \"\"){\r\n element.nome = novaSecao.nome;\r\n isNew = false;\r\n }\r\n });\r\n\r\n if(isNew){\r\n this.model.itens.push(novaSecao);\r\n this.reordenar();\r\n }\r\n }\r\n })\r\n }\r\n\r\n public excluirItem(element: IQuestionarioUGItemModel){\r\n \r\n if(element.id != 0 && element.obrigatorio == true){\r\n this.exibirMensagemErro(\"Não é possível excluir um item do modelo obrigatório.\")\r\n return;\r\n }\r\n\r\n var idxOf = this.model.itens.indexOf(element, 0);\r\n this.model.itens.splice(idxOf, 1);\r\n \r\n this.reordenar(); \r\n }\r\n\r\n public excluirSubItem(nomePai: string, element: IQuestionarioUGItemModel){\r\n \r\n if(element.id != 0 && element.obrigatorio == true){\r\n this.exibirMensagemErro(\"Não é possível excluir um item do modelo obrigatório.\")\r\n return;\r\n }\r\n\r\n let elementPai = this.model.itens.find((element)=> element.nome.toUpperCase() == nomePai.toUpperCase());\r\n const idxIndicePai = this.model.itens.indexOf(elementPai, 0);\r\n const itemPai = this.model.itens[idxIndicePai];\r\n var idxOf = itemPai.subItens.indexOf(element,0);\r\n itemPai.subItens.splice(idxOf, 1);\r\n\r\n this.reordenar(); \r\n }\r\n\r\n public onBack() {\r\n this.submit = false;\r\n\r\n let tipoDocumento = this.form.controls['tipoDocumento'].value;\r\n console.log(tipoDocumento);\r\n let aba = 0;\r\n if(tipoDocumento == 9){\r\n aba = 1;\r\n }else if(tipoDocumento == 10){\r\n aba = 2;\r\n }\r\n\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.model.unidadeGestoraId}?aba=${aba}`);\r\n }\r\n\r\n public semDados(): boolean{\r\n return !this.model || !this.model.itens || this.model.itens.length == 0;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Inserir Pergunta

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Nome\r\n \r\n {{element.nome}} Tipo entrada\r\n \r\n {{element.tipoEntrada.descricao}} Obrigatório \r\n \r\n \r\n
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ","import { ToastrService } from 'ngx-toastr';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IPerguntaModel } from 'src/app/models/pergunta.model';\r\nimport { PerguntaService } from 'src/app/services/pergunta.service';\r\nimport { IQuestionarioUGItemModel } from 'src/app/models/questionario-ug.model';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-editar-questionario-modal-pergunta',\r\n templateUrl: './modal-pergunta.component.html',\r\n styleUrls: ['./modal-pergunta.component.scss']\r\n})\r\nexport class EditarQuestionarioModalPerguntaComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n public model: IQuestionarioUGItemModel;\r\n public dataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public displayedColumns: string[] = ['selecao', 'nome', 'tipo', 'obrigatorio'];\r\n public selecionado: IPerguntaModel;\r\n public totalItens: number;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n private perguntaService: PerguntaService,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscarPerguntas();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n\r\n }\r\n\r\n public selecionar(item: IPerguntaModel) {\r\n this.selecionado = !this.selecionado || this.selecionado.id !== item.id ? item : null;\r\n }\r\n\r\n public async concluir() {\r\n Swal.fire({\r\n title: \"\",\r\n text: \"Deseja sugerir a atualização do questionário na base?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then((resConfirm) => {\r\n if (resConfirm.isConfirmed) {\r\n this.selecionado.atualizarModelo = true;\r\n }\r\n this.dialogRef.close(this.selecionado);\r\n });\r\n }\r\n\r\n public buscarPerguntas() {\r\n this.perguntaService\r\n .obter(\"\", true)\r\n .then((res) => {\r\n\r\n if (res.sucesso) {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.data.length == 0;\r\n this.totalItens = res.dados.length;\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n });\r\n\r\n }\r\n\r\n public filtrar(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n}\r\n","import { ToastrService } from 'ngx-toastr';\r\nimport { MatDialog,MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport {\r\n Component,\r\n OnInit,\r\n Inject,\r\n ViewChild,\r\n AfterViewInit,\r\n} from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { IQuestionarioUGItemModel } from 'src/app/models/questionario-ug.model';\r\n\r\n@Component({\r\n selector: 'app-editar-questionario-modal-secao',\r\n templateUrl: './modal-secao.component.html',\r\n styleUrls: ['./modal-secao.component.scss']\r\n})\r\nexport class EditarQuestionarioModalSecaoComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n \r\n public model = {} as IQuestionarioUGItemModel;\r\n public campoObrigatorio = false;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.model.id = data.id ?? 0;\r\n this.model.idQuestionarioUG = data.idModeloQuestionario;\r\n this.model.nome = data.nome;\r\n this.model.tipoId = 1;\r\n this.model.tipoDescription = \"Seção\";\r\n this.model.ativo = true;\r\n this.model.nomeAnterior = data.nome;\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n \r\n \r\n ngAfterViewInit(): void {\r\n \r\n }\r\n\r\n public async concluir() {\r\n \r\n this.dialogRef.close(this.model);\r\n\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Inserir seção

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport { QuestionarioUGService } from 'src/app/services/questionarioug.service';\r\nimport { MatDialogConfig } from '@angular/material/dialog';\r\nimport { ModalSelecaoQuestionarioSharedComponent } from '../modal-selecao-questionario/modal-selecao-questionario.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport { EnumTipoQuestionarioUG } from 'src/app/models/enum/tipo-questionario-ug.enum';\r\n\r\n@Component({\r\n selector: 'app-gerar-questionario-shared',\r\n templateUrl: './gerar-questionario.component.html',\r\n styleUrls: ['./gerar-questionario.component.scss']\r\n})\r\nexport class GerarQuestionarioSharedComponent extends BaseListComponent {\r\n public filtro = {} as FiltroModel;\r\n model: any;\r\n unidadeGestoraId: number;\r\n modeloRelatorioId: number;\r\n tipoQuestionario: number;\r\n titulo: string;\r\n \r\n \r\n constructor(\r\n private authService: AuthService,\r\n private questionarioUGService: QuestionarioUGService,\r\n private matDialog: MatDialog,\r\n private router: Router,\r\n private sharedService: SharedService\r\n ) { \r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.unidadeGestoraId = this.sharedService.getId();\r\n this.tipoQuestionario = this.sharedService.getTipoQuestionario();\r\n\r\n if(this.tipoQuestionario == EnumTipoQuestionarioUG.EntendendoEntidade){\r\n this.titulo = \"Entendendo a Entidade\";\r\n }else if (this.tipoQuestionario == EnumTipoQuestionarioUG.MaturidadeRisco){\r\n this.titulo = \"Maturidade de Risco\";\r\n }\r\n }\r\n\r\n public gerarQuestionario() {\r\n if(!this.modeloRelatorioId || this.modeloRelatorioId == 0){\r\n this.exibirMensagemErro(\"Informe o modelo do questionário.\")\r\n return;\r\n }\r\n\r\n this.questionarioUGService\r\n .inserir(this.modeloRelatorioId,this.unidadeGestoraId)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n // aqui chamar o pagina principal\r\n let aba = 0;\r\n if(this.tipoQuestionario == EnumTipoQuestionarioUG.EntendendoEntidade){\r\n aba = 1;\r\n }else if (this.tipoQuestionario == EnumTipoQuestionarioUG.MaturidadeRisco){\r\n aba = 2;\r\n }\r\n\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=${aba}`);\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n // this.buscar();\r\n });\r\n }\r\n\r\n public buscarQuestionario(){\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n\r\n const modal = this.matDialog.open(ModalSelecaoQuestionarioSharedComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n this.filtro.pesquisa = data.nome;\r\n this.modeloRelatorioId = data.id;\r\n }\r\n })\r\n }\r\n\r\n public exibirModalquestionario(){\r\n \r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n {{titulo}}\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n Encerrar Avaliação\r\n \r\n
\r\n \r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { QuestionarioUGService } from 'src/app/services/questionarioug.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport { IArquivoModel } from 'src/app/models/arquivo.model';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { EnumTipoQuestionarioUG } from 'src/app/models/enum/tipo-questionario-ug.enum';\r\nimport { IUnidadeGestoraMaturidadeGRModel } from 'src/app/models/unidade-gestora-maturidadeGR.model';\r\nimport { UnidadeGestoraMaturidadeGRService } from 'src/app/services/unidade-gestora-maturidadeGR.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-importacao-arquivo-questionario-shared',\r\n templateUrl: './importacao-arquivo-questionario.component.html',\r\n styleUrls: ['./importacao-arquivo-questionario.component.scss']\r\n})\r\nexport class ImportacaoArquivoQuestionarioSharedComponent extends BaseFormComponent implements OnInit {\r\n public filtro = {} as FiltroModel;\r\n model: any;\r\n unidadeGestoraId: number;\r\n modeloRelatorioId: number;\r\n arquivo: File | null = null;\r\n mensagem: string = '';\r\n arquivoUrl: string;\r\n nomeArquivo: string;\r\n titulo: string = '';\r\n tipoQuestionario: number;\r\n botaoEncerrarHabilitado: boolean = false;\r\n unidadeGestoraMaturidadeGRId: number;\r\n public listMaturidades = [] as IUnidadeGestoraMaturidadeGRModel[];\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private questionarioUGService: QuestionarioUGService,\r\n matDialog: MatDialog,\r\n router: Router,\r\n private sharedService: SharedService,\r\n public unidadeGestoraMaturidadeGRService: UnidadeGestoraMaturidadeGRService,\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n localeService: BsLocaleService\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n async ngOnInit() {\r\n await this.carregaMaturidades();\r\n this.unidadeGestoraId = this.sharedService.getId();\r\n this.tipoQuestionario = this.sharedService.getTipoQuestionario();\r\n\r\n if(this.tipoQuestionario == EnumTipoQuestionarioUG.EntendendoEntidade){\r\n this.titulo = \"Entendendo a Entidade\";\r\n }else if (this.tipoQuestionario == EnumTipoQuestionarioUG.MaturidadeRisco){\r\n this.titulo = \"Maturidade de Risco\";\r\n }\r\n this.downloadAnexo();\r\n }\r\n\r\n onFileSelected(event: any): void {\r\n const file: File = event.target.files[0];\r\n if (file) {\r\n // Verifica se a extensão do arquivo é PDF\r\n const fileExtension = file.name.split('.').pop()?.toLowerCase();\r\n if (fileExtension !== 'pdf') {\r\n // Emite um aviso caso a extensão não seja PDF\r\n this.toastr.error('O tipo de arquivo selecionado não é válido, selecione apenas arquivo PDF!', 'Extensão inválida');\r\n this.arquivo = null; // Reseta o arquivo selecionado\r\n } else {\r\n this.arquivo = file;\r\n }\r\n }\r\n }\r\n\r\n downloadAnexo(): void {\r\n\r\n this.questionarioUGService.DownloadArquivoPorTipo(this.unidadeGestoraId, this.tipoQuestionario).then(\r\n (res) => {\r\n \r\n this.arquivoUrl = res.dados.url;\r\n this.nomeArquivo = res.dados.nomeArquivo;\r\n if(this.arquivoUrl && this.unidadeGestoraMaturidadeGRId){\r\n this.botaoEncerrarHabilitado = true;\r\n }\r\n },\r\n (error) => {\r\n }\r\n );\r\n\r\n }\r\n\r\n enviarArquivo(): void {\r\n if (this.arquivo) {\r\n const tipoQuestionarioId = this.sharedService.getTipoQuestionario();\r\n const arquivoModel: IArquivoModel = {\r\n id: 0,\r\n nomeArquivo: this.arquivo.name,\r\n entidadeArquivo: tipoQuestionarioId, \r\n arquivo: this.arquivo,\r\n url: ''\r\n };\r\n\r\n \r\n\r\n this.questionarioUGService.enviarArquivo(this.unidadeGestoraId, tipoQuestionarioId ,arquivoModel).then(\r\n (response) => {\r\n this.downloadAnexo();\r\n this.exibirMensagemSucesso('Arquivo importado com sucesso');\r\n },\r\n (error) => {\r\n this.exibirMensagemErro(error.mensagem.descricao);\r\n }\r\n );\r\n }\r\n }\r\n\r\n public onBack() {\r\n this.submit = false;\r\n\r\n let aba = 0;\r\n if(this.tipoQuestionario == 1){\r\n aba = 1;\r\n }else if(this.tipoQuestionario == 2){\r\n aba = 2;\r\n }\r\n \r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=${aba}`);\r\n }\r\n\r\n onEncerrarAvaliacao(){\r\n\r\n Swal.fire({\r\n title: 'Atenção',\r\n text: \"Esta ação não poderá ser desfeita! Deseja continuar? \",\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then((res) => {\r\n if (res.value) {\r\n\r\n this.questionarioUGService.encerrarQuestionarioImportacaoArquivo(this.unidadeGestoraId, this.tipoQuestionario, this.unidadeGestoraMaturidadeGRId)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=${this.tipoQuestionario}`);\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n\r\n }\r\n})\r\n\r\n }\r\n\r\n public async onChangeSelectMaturidade(element) {\r\n\t\tthis.unidadeGestoraMaturidadeGRId = element.target.value;\r\n if(this.arquivoUrl){\r\n this.botaoEncerrarHabilitado = true;\r\n }\r\n\t}\r\n\r\n public async carregaMaturidades(){\r\n const filtro = {} as FiltroModel;\r\n this.unidadeGestoraMaturidadeGRService\r\n .obter(filtro)\r\n .then((res) => {\r\n this.listMaturidades = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemAlerta(err.mensagem.descricao);\r\n }); \r\n }\r\n\r\n}\r\n","\r\n
\r\n\t{{ titulo }}
\r\n\tVersäo: {{ versao }} \r\n\t
\r\n\tData: {{ dataFormatada }}\r\n
\r\n\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
Unidade a ser auditada: {{ nomeUnidadeGestora }}
\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{{ element.pergunta }}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{{ element.avaliacaoFinal }}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { IListaQuestionarioRespostaUGModel, QuestionarioUGItensResposta } from 'src/app/models/questionario-ug.model';\r\nimport { QuestionarioUGService } from 'src/app/services/questionarioug.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { QuestionarioUGRespostaService } from 'src/app/services/questionarioug-resposta.service';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n selector: 'app-imprimir-questionario',\r\n templateUrl: './imprimir-questionario.component.html',\r\n styleUrls: ['./imprimir-questionario.component.scss']\r\n})\r\nexport class ImprimirQuestionarioComponent extends BaseFormComponent implements OnInit {\r\n public tiles = [];\r\n public idUnidadeGestora : number;\r\n public versao : number;\r\n public titulo: string='MATURIDADE DE RISCO';\r\n public dataFormatada : string; \r\n public nomeUnidadeGestora : string;\r\n public dataSource = new MatTableDataSource([]);\r\n displayedColumns: string[] = ['pergunta'];\r\n public model= {} as IListaQuestionarioRespostaUGModel;\r\n\r\n constructor(\r\n private questionarioUGService: QuestionarioUGService,\r\n toastr: ToastrService,\r\n route: ActivatedRoute,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n public sharedService: SharedService,\r\n private questionarioService: QuestionarioUGRespostaService,\r\n public matDialog: MatDialog,\r\n public matGridListModule: MatGridListModule\r\n\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({value: '', disabled:true}),\r\n nome: new FormControl('', Validators.required),\r\n tipoDocumento: new FormControl({value:[] as IEnumModel[]})\r\n })\r\n\r\n async ngOnInit() {\r\n \r\n if(!this.novoRegistro){\r\n this.questionarioService.ObterRespostaQuestionario(this.id)\r\n .then((res) => {\r\n this.model = res.dados;\r\n this.dataSource = new MatTableDataSource(res.dados.respostas);\r\n });\r\n }\r\n \r\n if(!this.novoRegistro){\r\n this.questionarioUGService\r\n .ImprimirRespostaQuestionario(this.id)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.idUnidadeGestora = res.dados[0].idUnidadeGestora;\r\n this.dataFormatada = res.dados[0].dataFormatada;\r\n this.versao = res.dados[0].versao;\r\n this.nomeUnidadeGestora = res.dados[0].nomeUnidadeGestora;\r\n }else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n } \r\n }\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n public onBack() {\r\n this.submit = false;\r\n let aba = this.sharedService.getTipoQuestionario();\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.idUnidadeGestora}?aba=${aba}`);\r\n }\r\n\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { EnumStatusAvaliacaoQuestionarioUG } from 'src/app/models/enum/status-avaliacao-questionario-ug.enum';\r\nimport { EnumTipoAvaliacaoQuestionarioUG } from 'src/app/models/enum/tipo-avaliacao-questionario-ug.enum';\r\nimport { AvaliacaoRequest } from 'src/app/models/questionario-ug.model';\r\nimport { QuestionarioUGRespostaService } from 'src/app/services/questionarioug-resposta.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { EnumTipoQuestionarioUG } from 'src/app/models/enum/tipo-questionario-ug.enum';\r\nimport { IPerguntaOpcaoModel } from 'src/app/models/pergunta-opcao.model';\r\n\r\n@Component({\r\n selector: 'app-modal-avaliar-questionario',\r\n templateUrl: './modal-avaliar-questionario.component.html',\r\n styleUrls: ['./modal-avaliar-questionario.component.scss']\r\n})\r\nexport class ModalAvaliarQuestionarioComponent extends BaseFormComponent implements OnInit {\r\n form: FormGroup; // Declarando o FormGroup\r\n opcoesAvaliacao = [\r\n { value: EnumStatusAvaliacaoQuestionarioUG.concordo, label: 'Concordo' },\r\n { value: EnumStatusAvaliacaoQuestionarioUG.concordoParcialmente, label: 'Concordo Parcialmente' },\r\n { value: EnumStatusAvaliacaoQuestionarioUG.discordo, label: 'Discordo' }\r\n ];\r\n avaliacao: AvaliacaoRequest;\r\n reavaliar: boolean;\r\n tipoAvaliacao: number;\r\n htmlResposta: SafeHtml | undefined;\r\n titulo: string = \"\";\r\n perguntaOpcao: any;\r\n\r\n constructor(\r\n public route: ActivatedRoute,\r\n public toastr: ToastrService,\r\n public router: Router,\r\n public localeService: BsLocaleService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n private fb: FormBuilder,\r\n private sanitizer: DomSanitizer,\r\n private questionarioUGRespostaService: QuestionarioUGRespostaService,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.reavaliar = this.data.reavaliar;\r\n this.form = this.fb.group({\r\n pergunta: [this.data.pergunta],\r\n resposta: [this.data.resposta],\r\n tipoEntrada: [this.data.tipoEntrada],\r\n respostaRevisada: [''] ,\r\n statusAvaliacao: [null]\r\n });\r\n this.perguntaOpcao = this.data.perguntaOpcao;\r\n const respostaHTML = this.data.resposta;\r\n\r\n // Atualize o controle do formulário\r\n this.form.get('resposta')?.setValue(respostaHTML);\r\n\r\n // Sanitizar o HTML para exibição segura\r\n this.htmlResposta = this.sanitizer.bypassSecurityTrustHtml(respostaHTML);\r\n\r\n if(this.data.tipoQuestionario == EnumTipoQuestionarioUG.EntendendoEntidade){\r\n this.titulo = \"Entendendo a Entidade\";\r\n }else if (this.data.tipoQuestionario == EnumTipoQuestionarioUG.MaturidadeRisco){\r\n this.titulo = \"Maturidade da Gestão de Risco\";\r\n }\r\n\r\n if(this.reavaliar){\r\n this.titulo += \" - Reavaliar Resposta\";\r\n }else{\r\n this.titulo += \" - Avaliar Resposta\";\r\n }\r\n\r\n }\r\n\r\n config: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n // ['bold']\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n cancelar(){\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = { interno: true };\r\n this.matDialog.open(ModalCancelarComponent, dialogConfig).afterClosed();\r\n\r\n }\r\n salvar(salvarEFechar: boolean){\r\n\r\n if(this.reavaliar)\r\n {\r\n this.tipoAvaliacao = EnumTipoAvaliacaoQuestionarioUG.avaliacaoFinal;\r\n }\r\n else\r\n {\r\n this.tipoAvaliacao = EnumTipoAvaliacaoQuestionarioUG.avaliacao;\r\n }\r\n\r\n const idsSelecionadosString: string = [this.data.ids].join(',');\r\n this.avaliacao = {\r\n statusAvaliacao: this.form.value.statusAvaliacao,\r\n texto: this.form.value.respostaRevisada,\r\n tipoAvaliacao: this.tipoAvaliacao\r\n };\r\n\r\n this.questionarioUGRespostaService.fazerAvaliacaoOuReplica(idsSelecionadosString, this.avaliacao)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n if(salvarEFechar){\r\n this.dialogRef.close();\r\n }\r\n this.exibirMensagemSucesso('Avaliacao Realizada com Sucesso');\r\n }\r\n else{\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n

{{titulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n Resposta Revisada \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {{ item.nome }}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n
\r\n Salvar\r\n Salvar e fechar\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { EnumTipoQuestionarioUG } from 'src/app/models/enum/tipo-questionario-ug.enum';\r\nimport { QuestionarioUGService } from 'src/app/services/questionarioug.service';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-modal-questionario-importa-dados-shared',\r\n templateUrl: './modal-questionario-importa-dados.component.html',\r\n styleUrls: ['./modal-questionario-importa-dados.component.scss']\r\n})\r\nexport class ModalQuestionarioImportaDadosSharedComponent implements OnInit {\r\n unidadeGestoraId: number;\r\n\r\n constructor(\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: any ,\r\n private questionarioUGService: QuestionarioUGService,\r\n private sharedService: SharedService,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.unidadeGestoraId = this.sharedService.getId();\r\n }\r\n\r\n public Sim() {\r\n if(!this.data.tipoQuestionario){\r\n this.dialogRef.close();\r\n }\r\n\r\n let aba = 0;\r\n if(this.data.tipoQuestionario == 1){\r\n aba = 1;\r\n }else if (this.data.tipoQuestionario == 2){\r\n aba = 2;\r\n }\r\n\r\n this.questionarioUGService\r\n .inserirQuestionarioAPartirDoUltimo(this.unidadeGestoraId, this.data.tipoQuestionario)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n // aqui chamar o pagina principal\r\n this.dialogRef.close();\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=${aba}`);\r\n window.location.reload();\r\n } else {\r\n // this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n // this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n // this.buscar();\r\n });\r\n }\r\n\r\n public Nao() {\r\n this.dialogRef.close();\r\n this.router.navigate(['gerar-questionario-shared']);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Questionário Nova Versão

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Deseja importar os dados da versão ativa?

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n ","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { ModalQuestionarioImportaDadosSharedComponent } from '../modal-questionario-importa-dados/modal-questionario-importa-dados.component';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-modal-questionario-nova-versao-shared',\r\n templateUrl: './modal-questionario-nova-versao.component.html',\r\n styleUrls: ['./modal-questionario-nova-versao.component.scss']\r\n})\r\nexport class ModalQuestionarioNovaVersaoSharedComponent implements OnInit {\r\n private currentDialogRef: MatDialogRef;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n private matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data: any ,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Sim() {\r\n if(!this.data.tipoQuestionario){\r\n this.dialogRef.close();\r\n }\r\n\r\n if(this.data.source === 'importarArquivo')\r\n {\r\n this.dialogRef.close();\r\n this.router.navigate([`importacao-arquivo-questionario-shared`]);\r\n }\r\n else\r\n {\r\n this.dialogRef.close();\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal2-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n tipoQuestionario: this.data.tipoQuestionario\r\n };\r\n\r\n const modal = this.matDialog.open(ModalQuestionarioImportaDadosSharedComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n\r\n }\r\n })\r\n }\r\n }\r\n\r\n public Nao() {\r\n this.dialogRef.close();\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Questionário Nova Versão

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Você solicitou a geração de uma nova versão, a versão atual será inativada e uma nova versão deverá ser preenchida! Tem certeza que deseja criar uma nova e inativar a versão atual?

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n ","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n\r\n@Component({\r\n selector: 'app-modal-riscos-chaves-importarcao',\r\n templateUrl: 'modal-riscos-chaves-importacao.component.html',\r\n styleUrls: ['modal-riscos-chaves-importacao.component.scss']\r\n})\r\nexport class ModalRiscosChavesImportacaoComponent implements OnInit{\r\n private currentDialogRef: MatDialogRef;\r\n\r\n unidadeGestoraId: number;\r\n tipoUniversoId: number;\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n private matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data: any ,\r\n private router: Router,\r\n ) {\r\n\r\n\r\n }\r\n ngOnInit(): void {\r\n this.unidadeGestoraId = this.data.unidadeGestoraId;\r\n this.tipoUniversoId = this.data.tipoUniversoId;\r\n }\r\n public Sim(){\r\n this.dialogRef.close();\r\n this.router.navigate(['/importar-arquivo-riscos-chaves/novo'], { queryParams: { unidadeGestoraId: this.unidadeGestoraId, tipoRiscosChaves: this.tipoUniversoId } });\r\n }\r\n public Nao() {\r\n this.dialogRef.close();\r\n }\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Riscos Chaves Nova Versão

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Esta ação gerará uma nova versão, a versão atual será inativada e uma nova versão deverá ser importada! Tem certeza que deseja importar uma nova versão e inativar a versão atual?

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","
\r\n
\r\n
\r\n

Selecionar Modelo de Questionário

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Nome\r\n \r\n {{element.nome}} Tipo entrada\r\n \r\n {{element.tipoEntrada.descricao}} Obrigatório \r\n \r\n \r\n
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ","import { ToastrService } from 'ngx-toastr';\r\nimport { MatDialog,MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, OnInit, Inject, ViewChild, AfterViewInit, Output, EventEmitter} from '@angular/core';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IModeloQuestionarioModel } from 'src/app/models/modelo-questionario.model';\r\nimport { ModeloQuestionarioService } from 'src/app/services/modelo-questionario.service';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { FiltroModeloQuestionario } from 'src/app/models/filtro-modelo-questionario';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport { EnumTipoQuestionarioUG } from 'src/app/models/enum/tipo-questionario-ug.enum';\r\nimport { EnumTipoDocumentoAprovacao } from 'src/app/models/enum/tipo-documento-aprovacao.enum';\r\n\r\n@Component({\r\n selector: 'app-modal-selecao-questionario-shared',\r\n templateUrl: './modal-selecao-questionario.component.html',\r\n styleUrls: ['./modal-selecao-questionario.component.scss']\r\n})\r\nexport class ModalSelecaoQuestionarioSharedComponent extends BaseFormComponent implements AfterViewInit, OnInit {\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @Output() nomeSelecionado = new EventEmitter();\r\n \r\n public filtro = {} as FiltroModeloQuestionario;\r\n public dataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public displayedColumns: string[] = ['selecao', 'nome'];\r\n public selecionado: IModeloQuestionarioModel;\r\n public totalItens: number;\r\n \r\n constructor(\r\n route: ActivatedRoute,\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n localeService: BsLocaleService,\r\n router: Router,\r\n private modeloQuestionarioService: ModeloQuestionarioService,\r\n public matDialog: MatDialog,\r\n private sharedService: SharedService,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscarModeloQuestionario();\r\n }\r\n \r\n \r\n ngAfterViewInit(): void {\r\n \r\n }\r\n\r\n\r\n public selecionar(item: IModeloQuestionarioModel) {\r\n this.selecionado = !this.selecionado || this.selecionado.id !== item.id ? item : null;\r\n this.nomeSelecionado.emit(item.nome);\r\n }\r\n\r\n public async concluir() {\r\n this.dialogRef.close(this.selecionado);\r\n }\r\n\r\n public buscarModeloQuestionario(){\r\n let tipoQuestionario = this.sharedService.getTipoQuestionario();\r\n if(tipoQuestionario == EnumTipoQuestionarioUG.EntendendoEntidade){\r\n this.filtro.tipoDocumentoId = EnumTipoDocumentoAprovacao.EntendendoEntidade;\r\n }else if(tipoQuestionario == EnumTipoQuestionarioUG.MaturidadeRisco){\r\n this.filtro.tipoDocumentoId = EnumTipoDocumentoAprovacao.MaturidadeGestaoRisco;\r\n }\r\n\r\n this.modeloQuestionarioService\r\n .obterModeloQuestionario(this.filtro)\r\n .then((res) => {\r\n if(res.sucesso){\r\n this.totalItens = res.dados.totalItens;\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length == 0;\r\n }\r\n });\r\n \r\n }\r\n\r\n public filtrar(event: Event){\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(null);\r\n }\r\n\r\n \r\n\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { Router } from '@angular/router';\r\nimport { QuestionarioUGService } from 'src/app/services/questionarioug.service';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-modal-solicitar-preenchimento-shared',\r\n templateUrl: './modal-solicitar-preenchimento.component.html',\r\n styleUrls: ['./modal-solicitar-preenchimento.component.scss']\r\n})\r\nexport class ModalSolicitarPreenchimentoSharedComponent implements OnInit {\r\n prazoDias: number;\r\n unidadeGestoraId: number;\r\n\r\n constructor(\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: any,\r\n private questionarioUGService: QuestionarioUGService,\r\n private sharedService: SharedService,\r\n private dialogRef: MatDialogRef\r\n\r\n ) { }\r\n public mensagemAlerta: string;\r\n\r\n ngOnInit(): void {\r\n this.unidadeGestoraId = this.sharedService.getId();\r\n }\r\n\r\n public cancelar(){\r\n this.dialogRef.close();\r\n }\r\n\r\n public concluir(){\r\n if (!this.prazoDias || this.prazoDias < 1) {\r\n this.exibirMensagemAlerta(\"Preencha um prazo!\");\r\n return;\r\n }\r\n\r\n this.questionarioUGService\r\n .solicitarPreenchimentoQuestionario(this.data.param1, this.prazoDias)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n // aqui chamar o pagina principal\r\n this.dialogRef.close();\r\n } else {\r\n // this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n // this.exibirMensagemErro(err.mensagem);\r\n })\r\n .finally(() => {\r\n // this.buscar();\r\n });\r\n }\r\n\r\n public onChangePreencherPrazo(event){\r\n this.prazoDias = event.target.value;\r\n }\r\n\r\n public exibirMensagemAlerta(mensagem: string): void{\r\n this.mensagemAlerta = mensagem;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Prazo para Preenchimento

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {{ mensagemAlerta }}\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n ","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { QuestionarioUGService } from \"../../../../services/questionarioug.service\";\r\nimport { SharedService } from \"../../../../services/shared.service\";\r\nimport { UniversoAuditavelService } from \"../../../../services/universo-auditavel.service\";\r\n\r\n\r\n@Component({\r\n selector: 'app-modal-universo-auditavel-importa-dados',\r\n templateUrl: './modal-universo-auditavel-importa-dados.component.html',\r\n styleUrls: ['./modal-universo-auditavel-importa-dados.component.scss']\r\n})\r\nexport class ModalUniversoAuditavelImportaDadosComponent implements OnInit{\r\n unidadeGestoraId: number;\r\n constructor(\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: any ,\r\n private universoAuditavelService: UniversoAuditavelService,\r\n private sharedService: SharedService,\r\n private dialogRef: MatDialogRef\r\n ) { }\r\n ngOnInit(): void {\r\n this.unidadeGestoraId = this.sharedService.getId();\r\n }\r\n public Nao() {\r\n this.dialogRef.close();\r\n this.router.navigate(['tipo-universo-auditavel/novo']);\r\n }\r\n public Sim(){\r\n\r\n if(!this.data.tipoUniversoId){\r\n this.dialogRef.close();\r\n }\r\n\r\n this.universoAuditavelService.inserirUniversoAPartirDoUltimo(this.data.unidadeGestoraId, this.data.tipoUniversoId).then(res=>{\r\n if (res.sucesso) {\r\n this.dialogRef.close();\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.unidadeGestoraId}?aba=3`);\r\n }\r\n })\r\n\r\n }\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Universo Auditável Nova Versão

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Deseja importar os dados da versão ativa?

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\n\r\n\r\n@Component({\r\n selector: 'app-modal-universo-auditavel-importarcao',\r\n templateUrl: 'modal-universo-auditavel-importacao.component.html',\r\n styleUrls: ['modal-universo-auditavel-importacao.component.scss']\r\n})\r\nexport class ModalUniversoAuditavelImportacaoComponent implements OnInit{\r\n private currentDialogRef: MatDialogRef;\r\n\r\n unidadeGestoraId: number;\r\n tipoUniversoId: number;\r\n tipoUniverso: number;\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n private matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data: any ,\r\n private router: Router,\r\n ) {\r\n\r\n\r\n }\r\n ngOnInit(): void {\r\n this.unidadeGestoraId = this.data.unidadeGestoraId;\r\n this.tipoUniversoId = this.data.tipoUniversoId;\r\n this.tipoUniverso = this.data.tipoUniverso;\r\n }\r\n public Sim(){\r\n this.dialogRef.close();\r\n this.router.navigate(['/importar-arquivo-universo-auditavel/novo'], { queryParams: { unidadeGestoraId: this.unidadeGestoraId, tipoUniversoId: this.tipoUniversoId } });\r\n }\r\n public Nao() {\r\n this.dialogRef.close();\r\n }\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Questionário Nova Versão

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Esta ação gerará uma nova versão, a versão atual será inativada e uma nova versão deverá ser importada! Tem certeza que deseja importar uma nova versão e inativar a versão atual?

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit } from \"@angular/core\";\r\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogConfig, MatDialogRef } from \"@angular/material/dialog\";\r\nimport { Router } from \"@angular/router\";\r\nimport {\r\n ModalUniversoAuditavelImportaDadosComponent\r\n} from \"../modal-universo-auditavel-importa-dados/modal-universo-auditavel-importa-dados.component\";\r\n\r\n\r\n@Component({\r\n selector: 'app-modal-universo-auditavel-nova-versao',\r\n templateUrl: './modal-universo-auditavel-nova-versao.component.html',\r\n styleUrls: ['./modal-universo-auditavel-nova-versao.component.scss']\r\n})\r\nexport class ModalUniversoAuditavelNovaVersaoComponent implements OnInit{\r\n private currentDialogRef: MatDialogRef;\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n private matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data: any ,\r\n private router: Router\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public Sim() {\r\n if(this.data.source === 'importarArquivo')\r\n {\r\n this.dialogRef.close();\r\n this.router.navigate([`importacao-arquivo-universo-auditavel-shared`]);\r\n }else {\r\n this.dialogRef.close();\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal2-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n unidadeGestoraId: this.data.unidadeGestoraId,\r\n tipoUniversoId: this.data.tipoUniversoId\r\n };\r\n\r\n const modal = this.matDialog.open(ModalUniversoAuditavelImportaDadosComponent, dialogConfig);\r\n\r\n modal.afterClosed().subscribe((data) => {\r\n\r\n })\r\n }\r\n\r\n }\r\n\r\n public Nao() {\r\n this.router.navigateByUrl(\r\n `/unidades-gestoras/${this.data.unidadeGestoraId}?aba=3`\r\n );\r\n this.dialogRef.close();\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Universo Auditável Nova Versão

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Você solicitou a geração de uma nova versão de mesmo tipo, a versão atual será inativada e uma nova versão será disponibilizada para preenchimento! Tem certeza que deseja criar uma nova e inativar a versão atual?

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","\r\n
\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tSeção/Pergunta\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n {{ element.pergunta }}\r\n \r\n
\r\n \r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAvaliação Auditor\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n {{element.tipoAvaliacaoAuditor\t}}\r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tResposta Revisada\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n\r\n \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tRéplica\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n {{element.tipoReplica}}\r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tResposta Revisada da Réplica\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tAvaliação Final\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n {{element.tipoAvaliacaoFinal}}\r\n\r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t Resposta Final\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n \r\n \r\n \r\n \r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\r\n\t\t
\r\n\r\n\t
\r\n
\r\n
\r\n \r\n Fechar\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n","import { Component, NgModule, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { IListaQuestionarioRespostaUGModel, IQuestionarioUGModel, IVisualizarQuestionarioRespostaUGModel, QuestionarioUGItensResposta } from 'src/app/models/questionario-ug.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { QuestionarioUGService } from 'src/app/services/questionarioug.service';\r\nimport { PerguntaService } from 'src/app/services/pergunta.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { QuestionarioUGRespostaService } from 'src/app/services/questionarioug-resposta.service';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\n\r\n@Component({\r\n selector: 'app-visualizar-questionario',\r\n templateUrl: './visualizar-questionario.component.html',\r\n styleUrls: ['./visualizar-questionario.component.scss']\r\n})\r\n\r\nexport class VisualizarQuestionarioComponent extends BaseFormComponent implements OnInit {\r\n public model= {} as IListaQuestionarioRespostaUGModel;\r\n public tiles = [];\r\n public idUnidadeGestora : number;\r\n public semDados: boolean;\r\n public dataSource = new MatTableDataSource([]);\r\n displayedColumns: string[] = ['pergunta','tipoAvaliacaoAuditor', 'avaliacaoAuditor', 'tipoReplica', 'replica', 'avaliacaoFinal', 'tipoAvaliacaoFinal'];\r\n public titulo: string = 'Visualizar questionário';\r\n\r\n constructor(\r\n private questionarioUGService: QuestionarioUGService,\r\n toastr: ToastrService,\r\n route: ActivatedRoute,\r\n router: Router,\r\n private authService: AuthService,\r\n localeService: BsLocaleService,\r\n public sharedService: SharedService,\r\n private perguntaService: PerguntaService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private questionarioService: QuestionarioUGRespostaService,\r\n public matDialog: MatDialog,\r\n public matGridListModule: MatGridListModule\r\n ) { \r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n public form = new FormGroup({\r\n id: new FormControl({value: '', disabled:true}),\r\n nome: new FormControl('', Validators.required),\r\n tipoDocumento: new FormControl({value:[] as IEnumModel[]})\r\n })\r\n\r\n async ngOnInit() {\r\n\r\n if(!this.novoRegistro){\r\n this.questionarioService.ObterRespostaQuestionario(this.id)\r\n .then((res) => {\r\n this.model = res.dados;\r\n this.dataSource = new MatTableDataSource(res.dados.respostas);\r\n });\r\n } \r\n\r\n }\r\n\r\n public onBack() {\r\n debugger\r\n this.submit = false;\r\n let aba = this.sharedService.getTipoQuestionario();\r\n let idUG = this.sharedService.getId();\r\n this.router.navigateByUrl(`/unidades-gestoras/${idUG}?aba=${aba}`);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Unidades Gestoras\r\n
  4. \r\n
  5. {{ titulo }}
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport Inputmask from 'inputmask';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { IResponsavelUnidadeGestoraModel } from 'src/app/models/responsavel-unidade-gestora.model';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\nimport { AcessoCidadaoService } from 'src/app/services/acesso-cidadao.service';\r\nimport { OrganogramaService } from 'src/app/services/organograma.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseFormComponent } from '../../shared/components/base-form/base-form.component';\r\nimport { IUnidadeGestoraMaturidadeGRModel } from 'src/app/models/unidade-gestora-maturidadeGR.model';\r\nimport { UnidadeGestoraMaturidadeGRService } from 'src/app/services/unidade-gestora-maturidadeGR.service';\r\nimport { FiltroModel } from 'src/app/models/filtro.model';\r\nimport { UnidadeGestoraMaturidadeGRHistoricoService } from 'src/app/services/unidade-gestora-maturidadeGRHistorico.service';\r\nimport { IFiltroUnidadeGestoraMaturidadeGRHistoricoModel } from 'src/app/models/filtro-unidade-gestora-maturidadegrhistorico.model';\r\nimport { HistoricoModalComponent } from 'src/app/shared/components/historico-modal/historico-modal.component';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-unidade-gestora-form',\r\n templateUrl: './unidade-gestora-form.component.html',\r\n styleUrls: ['./unidade-gestora-form.component.scss']\r\n})\r\nexport class UnidadeGestoraFormComponent extends BaseFormComponent implements OnInit {\r\n public model: IUnidadeGestoraModel = {} as IUnidadeGestoraModel;\r\n public enumTipoAdministracao = [] as IEnumModel[];\r\n public enumAnosObrigatorios = [] as IEnumModel[];\r\n public enumFuncoes = [] as IEnumModel[];\r\n public modelResponsavel: IResponsavelUnidadeGestoraModel = {} as IResponsavelUnidadeGestoraModel;\r\n public semDados = true;\r\n public ugDataSource = new MatTableDataSource([]);\r\n public maturidades = [] as IUnidadeGestoraMaturidadeGRModel[];\r\n public unidadeGestoraId: number;\r\n public salvarDadosPendente = false;\r\n\r\n public form = new FormGroup({\r\n codigoUg: new FormControl('', Validators.required),\r\n gestao: new FormControl('', Validators.required),\r\n orgaoSuperior: new FormControl('', Validators.required),\r\n codigoUo: new FormControl('', Validators.required),\r\n sigla: new FormControl('', Validators.required),\r\n nome: new FormControl('', Validators.required),\r\n cnpj: new FormControl(''),\r\n orgaoId: new FormControl(null, Validators.required),\r\n responsavelId: new FormControl(null, Validators.required),\r\n unidadeGestoraResponsavelId: new FormControl(null),\r\n tipoAdministracaoId: new FormControl('', Validators.required),\r\n auditoriaObrigatoria: new FormControl({value:'',disabled: this.visualizar}),\r\n anosObrigatorios: new FormControl({value:'', disabled: this.visualizar }),\r\n executaOrcamento: new FormControl({value:'',disabled: this.visualizar}),\r\n executaObra: new FormControl({value:'',disabled: this.visualizar}),\r\n executaConvenio: new FormControl({value:'',disabled: this.visualizar}),\r\n auditoriaSistemas: new FormControl({value:'',disabled: this.visualizar}),\r\n empresaPublica: new FormControl({value:'',disabled: this.visualizar}),\r\n unidadeGestoraMaturidadeGRId: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n private acessoCidadaoService: AcessoCidadaoService,\r\n private organogramaService: OrganogramaService,\r\n private unidadeGestoraMaturidadeGRService: UnidadeGestoraMaturidadeGRService,\r\n private unidadeGestoraMaturidadeGRHistoricoService: UnidadeGestoraMaturidadeGRHistoricoService,\r\n public matDialog: MatDialog,\r\n private sharedService: SharedService\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.novoRegistro) {\r\n this.titulo = 'Nova Unidade Gestora';\r\n }\r\n }\r\n\r\n ngAfterViewInit(){\r\n const numeroAba = this.route.snapshot.queryParamMap.get(\"aba\");\r\n if (numeroAba) {\r\n this.aba = Number(numeroAba);\r\n } \r\n }\r\n\r\n async ngOnInit() {\r\n \r\n Inputmask().mask(document.querySelectorAll('input'));\r\n this.adicionarEnums();\r\n this.carregaMaturidades();\r\n this.sharedService.setId(this.id);\r\n try {\r\n if (!this.novoRegistro) {\r\n const res = await this.unidadeGestoraService.obterPorId(this.id);\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n if (this.visualizar) {\r\n this.titulo = 'Visualisar Unidade Gestora - ' + this.model.sigla;\r\n }\r\n else{\r\n this.titulo = 'Editar Unidade Gestora - ' + this.model.sigla;\r\n }\r\n if (this.model.organogramaId) {\r\n this.form.controls['codigoUg'].enable();\r\n this.form.controls['cnpj'].enable();\r\n }\r\n\r\n if (this.model.importadoViaServico) {\r\n this.desabilitarUgImportadoViaServico();\r\n }\r\n\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/unidades-gestoras']);\r\n return;\r\n }\r\n }\r\n\r\n if (!this.model.importadoViaServico) {\r\n const tiposAdministracao: any[] = [];\r\n let result: any;\r\n\r\n result = await this.tabelaDominioService.obterTipoAdministracao();\r\n const { dados } = result[0];\r\n\r\n dados.forEach((item: { id: number; nome: string; }) => {\r\n tiposAdministracao.push({ codigo: item.id, nome: item.nome, descricao: item.nome });\r\n });\r\n\r\n this.enumTipoAdministracao = tiposAdministracao;\r\n }\r\n\r\n this.form.patchValue(this.model);\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/unidades-gestoras']);\r\n }\r\n }\r\n\r\n private desabilitarUgImportadoViaServico() {\r\n this.form.controls['cnpj'].disable();\r\n this.form.controls['codigoUg'].disable();\r\n this.form.controls['sigla'].disable();\r\n this.form.controls['gestao'].disable();\r\n this.form.controls['nome'].disable();\r\n this.form.controls['tipoAdministracaoId'].disable();\r\n this.enumTipoAdministracao = [{ codigo: this.model.tipoAdministracaoId, nome: this.model.tipoAdministracaoNome, descricao: this.model.tipoAdministracaoNome, guid: \"\" }];\r\n }\r\n\r\n public async salvarDados(salvarEFechar: boolean)\r\n {\r\n \r\n if (this.form.invalid) {\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n\r\n this.submit = true;\r\n\r\n this.atualizarModel(this.form.value);\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n\r\n if (!this.novoRegistro) {\r\n res = await this.unidadeGestoraService.atualizar(this.model);\r\n } else {\r\n res = await this.unidadeGestoraService.inserir(this.model);\r\n }\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n\r\n if(salvarEFechar == true){\r\n this.router.navigate(['/unidades-gestoras']);\r\n }\r\n else{\r\n this.router.navigate([`/unidades-gestoras/${res.dados.id}`]);\r\n }\r\n\r\n } else {\r\n this.submit = false;\r\n const validacoes = this.montarMensagensValidacao(res);\r\n this.exibirMensagemAlerta(res.mensagem.descricao, true);\r\n }\r\n } catch (err) {\r\n this.submit = false;\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public onBack() {\r\n this.submit = false;\r\n this.router.navigate(['/unidades-gestoras']);\r\n }\r\n\r\n public async exibirModalOrgao() {\r\n try {\r\n const res = await this.organogramaService.ObterOrgaos();\r\n if (res.sucesso) {\r\n const modal = this.exibirModal('Selecionar Órgão', res.dados, false);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.model.orgaoId = data.id;\r\n this.model.nomeOrgao = data.nome;\r\n this.form.controls['orgaoId'].setValue(data.id);\r\n }\r\n }\r\n );\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public async exibirModalResponsavelUnidade() {\r\n if (!this.model.orgaoId) {\r\n this.exibirMensagemAlerta('É necessário selecionar um órgão antes de escolher o responsável.');\r\n return;\r\n }\r\n\r\n try {\r\n const res = await this.acessoCidadaoService.ObterAgentesPublicosPorConjunto(this.model.orgaoId);\r\n if (res.sucesso) {\r\n const modal = this.exibirModal('Selecionar Responsável pela Unidade', res.dados, false);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.model.responsavelId = data.id;\r\n this.model.nomeResponsavel = data.nome;\r\n this.form.controls['responsavelId'].setValue(data.id);\r\n }\r\n }\r\n );\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public async exibirModalUnidadeGestoraResponsavel() {\r\n try {\r\n const res = await this.unidadeGestoraService.obter();\r\n if (res.sucesso) {\r\n const customFilterPredicate = (data: { sigla: string, nome: string }, filterValue: string) => {\r\n return (data.sigla || '').trim().toLowerCase().indexOf(filterValue) !== -1\r\n || (data.nome || '').trim().toLowerCase().indexOf(filterValue) !== -1;\r\n };\r\n\r\n const modal = this.exibirModal('Selecionar Unidade Gestora Responsavel', res.dados.resultado.filter(_ => !this.ugDataSource.data.find(i => i.id === _.id)).map(c => ({ ...c, sigla: c.sigla })), false, [\r\n {\r\n columnDef: 'selecao',\r\n header: ''\r\n },\r\n {\r\n columnDef: 'sigla',\r\n header: 'Sigla'\r\n },\r\n {\r\n columnDef: 'nome',\r\n header: 'Nome'\r\n }], customFilterPredicate);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.model.unidadeGestoraResponsavelId = data.id;\r\n this.model.nomeUnidadeGestoraResponsavel = data.nome;\r\n this.form.controls['unidadeGestoraResponsavelId'].setValue(data.id);\r\n }\r\n }\r\n );\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n\r\n public adicionarEnums(){\r\n this.enumAnosObrigatorios.push({ codigo: 2, nome: \"1º\", descricao: \"1º\" , guid: \"\"});\r\n this.enumAnosObrigatorios.push({ codigo: 4, nome: \"2º\", descricao: \"2º\" , guid: \"\"});\r\n this.enumAnosObrigatorios.push({ codigo: 8, nome: \"3º\", descricao: \"3º\" , guid: \"\"});\r\n this.enumAnosObrigatorios.push({ codigo: 16, nome: \"4º\", descricao: \"4º\" , guid: \"\"});\r\n }\r\n\r\n public async carregaMaturidades(){\r\n const filtro = {} as FiltroModel;\r\n this.unidadeGestoraMaturidadeGRService\r\n .obter(filtro)\r\n .then((res) => {\r\n this.maturidades = res.dados;\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemAlerta(err.mensagem.descricao);\r\n }); \r\n }\r\n\r\n public async abrirModalHistoricoMaturidade(){\r\n const filtroHistorico = {} as IFiltroUnidadeGestoraMaturidadeGRHistoricoModel;\r\n filtroHistorico.idug = this.model.id;\r\n const dadosHistoricoMaturidade = await this.unidadeGestoraMaturidadeGRHistoricoService.obter(filtroHistorico)\r\n \r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-historico-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n const txtTitulo = `Histórico da UG: ${this.model.sigla}`;\r\n dialogConfig.data = {\r\n historicoDados: dadosHistoricoMaturidade.dados,\r\n tituloModal: txtTitulo\r\n };\r\n\r\n const modal = this.matDialog.open(\r\n HistoricoModalComponent,\r\n dialogConfig\r\n );\r\n\r\n\r\n }\r\n\r\n onChangeAba(novaAba: number){\r\n //this.router.navigate([`/unidades-gestoras/${this.id}?aba=${novaAba}`]);\r\n this.router.navigateByUrl(`/unidades-gestoras/${this.id}?aba=${novaAba}`);\r\n }\r\n\r\n mudarAba(novaAba: number) {\r\n console.log(novaAba);\r\n if (this.novoRegistro || (this.aba === 0 && this.salvarDadosPendente)) {\r\n this.exibirMensagemErro('Por favor, salve os dados antes de prosseguir');\r\n\r\n return;\r\n }\r\n\r\n this.aba = novaAba; \r\n }\r\n \r\n\r\n}\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport * as cloneDeep from 'lodash/cloneDeep';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\n\r\n@Component({\r\n selector: 'app-modal-associar',\r\n templateUrl: './modal-associar.component.html',\r\n styleUrls: ['./modal-associar.component.scss']\r\n})\r\nexport class ModalAssociarComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public todasUnidadesGestoras = [] as IUnidadeGestoraModel[];\r\n public unidadesGestorasDisponiveis = [] as IUnidadeGestoraModel[];\r\n public idSelecionado: number;\r\n public semDados = true;\r\n public displayedColumns = ['id', 'sigla', 'nome', 'actions'];\r\n\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.todasUnidadesGestoras = data;\r\n this.unidadesGestorasDisponiveis = data;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public remover(ind: number) {\r\n this.dataSource.data.splice(ind, 1);\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.data.length === 0;\r\n\r\n const idsSelecionadas = this.dataSource.data.map((a) => (a.id));\r\n this.unidadesGestorasDisponiveis = this.todasUnidadesGestoras.filter(u => idsSelecionadas.indexOf(u.id) < 0);\r\n }\r\n\r\n public adicionar() {\r\n const idsSelecionadas = this.dataSource.data.map((a) => (a.id));\r\n idsSelecionadas.push(this.idSelecionado);\r\n\r\n this.unidadesGestorasDisponiveis = this.todasUnidadesGestoras.filter(u => idsSelecionadas.indexOf(u.id) < 0);\r\n this.dataSource.data.push(cloneDeep(this.todasUnidadesGestoras.find(a => a.id === this.idSelecionado)));\r\n this.dataSource._updateChangeSubscription();\r\n delete (this.idSelecionado);\r\n this.semDados = false;\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.dataSource.data);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Associar Unidades Gestoras

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
Id {{element.id}} Sigla {{element.sigla}} Nome {{element.nome}} \r\n
\r\n \r\n
\r\n
\r\n
Nenhuma Unidade Gestora selecionada
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-modal-importacao',\r\n templateUrl: './modal-importacao.component.html',\r\n styleUrls: ['./modal-importacao.component.scss']\r\n})\r\nexport class ModalImportacaoComponent implements OnInit {\r\n constructor(private dialogRef: MatDialogRef) { }\r\n public sigla: string;\r\n ngOnInit(): void {\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.sigla);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Importar Unidade

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { OnInit, AfterViewInit } from '@angular/core';\r\nimport { Component, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { FiltroUnidadeGestora } from 'src/app/models/filtro-unidade-gestora';\r\n\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport { BaseListComponent } from 'src/app/shared/components/base-list/base-list.component';\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { ModalImportacaoComponent } from './modal-importacao/modal-importacao.component';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\n\r\nconst sortingDataAccessor = (item, property) => {\r\n switch (property) {\r\n case 'id':\r\n return parseInt(item.codigoUg, 10);\r\n case 'codigoUg':\r\n return parseInt(item.codigoUg, 10); \r\n case 'sigla':\r\n return item.sigla.trim().toLowerCase(); ;\r\n case 'nome':\r\n return item.nome.trim().toLowerCase(); ;\r\n case 'responsavel':\r\n return item.nomeResponsavel.trim().toLowerCase(); ;\r\n case 'ativo':\r\n return item.ativo.trim().toLowerCase(); ;\r\n default:\r\n return item.nome.trim().toLowerCase(); ;\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'app-unidade-gestora-list',\r\n templateUrl: './unidade-gestora-list.component.html',\r\n styleUrls: [ './unidade-gestora-list.component.scss' ],\r\n})\r\nexport class UnidadeGestoraListComponent extends BaseListComponent implements OnInit, AfterViewInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public selectedModel: IUnidadeGestoraModel;\r\n public displayedColumns: string[] = [ 'selecao', 'codigoUg', 'sigla', 'nome', 'responsavel', 'ativo' ];\r\n public searchNome: string;\r\n public searchAtivo = true;\r\n public semDados = true;\r\n public totalItens: number;\r\n public searchPesquisa: string;\r\n public pageEvent: any;\r\n public filtro = {} as FiltroUnidadeGestora;\r\n\r\n @ViewChild('TableOnePaginator', { static: true })\r\n tableOnePaginator: MatPaginator;\r\n @ViewChild(MatPaginator, { static: true })\r\n paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true })\r\n sort: MatSort;\r\n\r\n constructor(\r\n private unidadeGestoraService: UnidadeGestoraService,\r\n private router: Router,\r\n private matDialog: MatDialog,\r\n private authService: AuthService,\r\n private sharedService: SharedService\r\n ) {\r\n super();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.configurarFiltro();\r\n this.buscar();\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setarPermissoes();\r\n }\r\n\r\n\r\n\r\n private setarPermissoes(): void {\r\n this.permissoes = new IPermissaoModel();\r\n this.permissoes.consultar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Cadastros,\r\n EnumAcaoRecurso.Consultar\r\n );\r\n this.permissoes.editar = this.authService.possuiPermissao(EnumRecursoPerfil.Cadastros, EnumAcaoRecurso.Editar);\r\n this.permissoes.excluir = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Cadastros,\r\n EnumAcaoRecurso.Excluir\r\n );\r\n this.permissoes.inativarReativar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Cadastros,\r\n EnumAcaoRecurso.AtivarInativar\r\n );\r\n this.permissoes.incluir = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Cadastros,\r\n EnumAcaoRecurso.Inserir\r\n );\r\n this.permissoes.visualizar = this.authService.possuiPermissao(\r\n EnumRecursoPerfil.Cadastros,\r\n EnumAcaoRecurso.Visualizar\r\n );\r\n }\r\n\r\n public novo() {\r\n this.router.navigate([ '/unidades-gestoras/novo' ]);\r\n }\r\n\r\n public buscar() {\r\n this.configurarFiltro();\r\n //this.selectedModel = null;\r\n this.unidadeGestoraService\r\n .obter(this.filtro)\r\n .then((res) => {\r\n this.dataSource = new MatTableDataSource(res.dados.resultado.sort((a, b) =>\r\n a['nome'].localeCompare(b['nome'])\r\n ) as IUnidadeGestoraModel[]);\r\n this.dataSource = new MatTableDataSource(res.dados.resultado);\r\n this.totalItens = res.dados.totalItens;\r\n this.paginator = this.tableOnePaginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = sortingDataAccessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n });\r\n }\r\n\r\n sortData(sort) {\r\n this.filtro.colunaOrder = sort.active;\r\n this.filtro.direcao = sort.direction;\r\n \r\n this.buscar();\r\n }\r\n\r\n private configurarFiltro() {\r\n this.filtro.pagina = this.tableOnePaginator.pageIndex + 1;\r\n this.filtro.itensPorPagina = +this.tableOnePaginator.pageSize;\r\n this.filtro.colunaOrder = this.sort.active;\r\n this.filtro.direcao = this.sort.direction;\r\n this.filtro.ativo = this.searchAtivo;\r\n this.filtro.pesquisa = this.searchNome == undefined ? '' : this.searchNome;\r\n this.filtro.nome = this.searchNome == undefined ? '' : this.searchNome;\r\n this.filtro.sigla = this.searchNome == undefined ? '' : this.searchNome;\r\n }\r\n\r\n pageChanged(e) {\r\n this.filtro.pagina = e.pageIndex + 1;\r\n e.pageIndex = this.filtro.pagina;\r\n this.filtro.itensPorPagina = e.pageSize;\r\n this.buscar();\r\n }\r\n\r\n public reativar(id: number) {\r\n this.unidadeGestoraService\r\n .reativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Unidade Gestora reativada com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public inativar(id: number) {\r\n this.unidadeGestoraService\r\n .inativar(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Unidade Gestora inativada com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public editar(id: number) {\r\n this.sharedService.setModoVisualizacaoAbasUnidadeGestora(false);\r\n this.router.navigate([ `/unidades-gestoras/${id}` ]);\r\n }\r\n\r\n public selecionar(item: any) {\r\n this.selectedModel = !this.selectedModel || this.selectedModel.id !== item.id ? item : null;\r\n }\r\n\r\n public excluir(id: number) {\r\n this.unidadeGestoraService\r\n .excluir(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Unidade Gestora excluída com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n title: 'Erro',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public visualizar(id: number) {\r\n this.sharedService.setModoVisualizacaoAbasUnidadeGestora(true);\r\n this.router.navigate([ `/unidades-gestoras/${id}/visualizar` ]);\r\n }\r\n\r\n public importarUgPorServico() {\r\n this.unidadeGestoraService\r\n .importarUgServico()\r\n .then((res) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.toString(),\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n title: 'Error na importação de UG via serviço',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n\r\n public importar() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '450px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n\r\n const dialogRef = this.matDialog.open(ModalImportacaoComponent, dialogConfig);\r\n\r\n dialogRef.afterClosed().subscribe((data) => {\r\n if (data) {\r\n this.unidadeGestoraService\r\n .importar(data)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Importação Finalizada!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.buscar();\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. Unidades Gestoras
  4. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Unidades Gestoras\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n Código UG {{element.codigoUg}} Sigla {{element.sigla}} Nome {{element.nome}} Responsável {{element.nomeResponsavel}} Situação \r\n Ativo\r\n Inativo\r\n
\r\n
Nenhum registro encontrado.
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IAgentePublicoACModel } from '../models/agente-publico-ac.model';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { BaseService } from './base.service';\r\nimport { IPerfilAcessoCidadaoModel } from '../models/perfil-acessocidadao.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AcessoCidadaoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public ObterAgentesPublicosSecont(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/acessocidadao/secont/agentesPublicosAtivos`)\r\n .toPromise();\r\n }\r\n\r\n public ObterAgentesPublicosPorConjunto(conjuntoId: string): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/acessocidadao/conjunto/${conjuntoId}/agentespublicos`)\r\n .toPromise();\r\n }\r\n\r\n public ObterPorId(id: string): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/acessocidadao/agentepublico/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public ObterPerfisAcessoCidadao(): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/acessocidadao/buscarPerfisAcessoCidadao`)\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { FiltroModel } from '../models/filtro.model';\r\nimport { BaseService } from './base.service';\r\nimport { filterBy } from '../core/helpers/filterby';\r\nimport { IAgentePublicoModel } from '../models/agente-publico.model';\r\nimport { IAgentePublicoViewModel } from '../models/viewmodels/agente-publico-viewmodel';\r\nimport { IFiltroAgentePublico } from '../models/filtros/filtro-agente-publico.model';\r\nimport { IAgentePublicoDisponibilidadeModel } from '../models/agente-publico-disponibilidade.model';\r\nimport { IAgentePublicoDispensaModel } from '../models/agente-publico-dispensa.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AgentePublicoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro: FiltroModel): Promise> {\r\n return this.httpClient\r\n .get>(filterBy(filtro,`${this.apiBaseUrl}/agentePublico`))\r\n .toPromise();\r\n }\r\n\r\n public obterViewModel(filtro: IFiltroAgentePublico): Promise>{\r\n return this \r\n .httpClient\r\n .get>(filterBy(filtro, `${this.apiBaseUrl}/agentePublico/obterViewModel`))\r\n .toPromise();\r\n }\r\n\r\n public async getDadosBasicos(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/agentePublico/${id}/AbaDadosBasicos`)\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/agentePublico/${id}`)\r\n .toPromise();\r\n }\r\n\r\n \r\n public async sincronizar(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/agentePublico/sincronizar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/agentePublico/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/agentePublico/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async getDadosDisponibilidade(id: number, ano: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/agentePublico/${id}/AbaDisponibilidade/${ano}`, {})\r\n .toPromise();\r\n }\r\n\r\n public async salvarDadosDisponibilidade(dados: IAgentePublicoDisponibilidadeModel[]) : Promise>{\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/agentePublico/AbaDisponibilidade/atualizarDisponibilidade`, dados)\r\n .toPromise();\r\n }\r\n\r\n public async getDadosDispensas(id: number, ano: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/agentePublico/${id}/AbaDispensas/${ano}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserirDispensa(dispensa: IAgentePublicoDispensaModel): Promise>{\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/agentePublico/AbaDispensas/inserir`, dispensa)\r\n .toPromise();\r\n }\r\n\r\n public async atualizarDispensa(dispensa: IAgentePublicoDispensaModel): Promise>{\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/agentePublico/AbaDispensas/atualizar`, dispensa)\r\n .toPromise();\r\n }\r\n\r\n public async excluirDispensa(id: number): Promise>{\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/agentePublico/AbaDispensas/excluir/${id}`)\r\n .toPromise();\r\n }\r\n\r\n \r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IAmostraModel } from '../models/amostra.model';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AmostraService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n public async obterAmostra(id: number, tipoAmostra: string): Promise> {\r\n if(tipoAmostra === \"planejamento\"){\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/amostras/planejamento/${id}`)\r\n .toPromise();\r\n }if(tipoAmostra === \"osa\"){\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/amostras/osas/${id}`)\r\n .toPromise();\r\n }if(tipoAmostra === \"auditoria\"){\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/amostras/auditoria/${id}`)\r\n .toPromise();\r\n }\r\n }\r\n\r\n public async obterAmostraId(id: number, amostraId: number, tipoAmostra:string): Promise> {\r\n if(tipoAmostra === \"planejamento\") {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/amostras/${amostraId}/planejamento/${id}`)\r\n .toPromise();\r\n }if(tipoAmostra === \"osa\"){\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/amostras/${amostraId}/osas/${id}`)\r\n .toPromise();\r\n }if(tipoAmostra === \"auditoria\"){\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/amostras/${amostraId}/auditoria/${id}`)\r\n .toPromise();\r\n }\r\n }\r\n\r\n public async download(id: number, tipoAmostra: string): Promise> {\r\n if(tipoAmostra === \"planejamento\"){\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/amostras/anexo-planejamento/${id}/download`)\r\n .toPromise();\r\n }if(tipoAmostra === \"osa\"){\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/amostras/anexo-osa/${id}/download`)\r\n .toPromise();\r\n }\r\n }\r\n\r\n public async salvarAmostra(id: number, model: IAmostraModel, tipoAmostra: string): Promise> {\r\n if(tipoAmostra === \"planejamento\"){\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/amostras/planejamento/${id}`, model)\r\n .toPromise();\r\n }if(tipoAmostra === \"osa\"){\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/amostras/osas/${id}`, model)\r\n .toPromise();\r\n }if(tipoAmostra === \"auditoria\"){\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/amostras/auditoria/${id}`, model)\r\n .toPromise();\r\n }\r\n }\r\n\r\n public async excluirAmostra(id: number, amostraId: number, tipoAmostra: string): Promise> {\r\n if(tipoAmostra === \"planejamento\"){\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/amostras/${amostraId}/planejamento/${id}`, {})\r\n .toPromise();\r\n }if (tipoAmostra === \"osa\"){\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/amostras/${amostraId}/osas/${id}`, {})\r\n .toPromise();\r\n }if(tipoAmostra === \"auditoria\"){\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/amostras/${amostraId}/auditoria/${id}`, {})\r\n .toPromise();\r\n }\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IAprovacaoModel } from '../models/aprovacao.model';\r\nimport { IAvaliacaoModel } from '../models/avaliacao.model';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IEnumModel } from '../models/enum.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { filterBy } from './auditoria.service';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AprovacaoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro?: any): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro, `${this.apiBaseUrl}/aprovacao`) )\r\n .toPromise();\r\n }\r\n\r\n public async aprovarReprovar(id: number, tipoDocumento: number, situacaoAvaliacao: number, comentario: string): Promise> {\r\n const request = {\r\n tipoTrabalho: {\r\n codigo: tipoDocumento\r\n },\r\n situacao: {\r\n codigo: situacaoAvaliacao\r\n },\r\n comentario\r\n } as IAvaliacaoModel;\r\n\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/aprovacao/${id}/aprovar-reprovar`, request)\r\n .toPromise();\r\n }\r\n\r\n public async imprimir(id: number): Promise> {\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/avaliacao/${id}/imprimir`, {})\r\n .toPromise();\r\n }\r\n\r\n public async imprimirRelatoria(id: number): Promise> {\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/avaliacao/${id}/imprimir-relatoria`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { IAuditoriaListModel } from 'src/app/models/auditoria.model';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { BaseService } from './base.service';\r\nimport { FiltroModel } from '../models/filtro.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuditoriaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obterPorFiltros(filtro: FiltroModel) {\r\n return this.httpClient\r\n .get>>(\r\n filterBy(filtro, `${this.apiBaseUrl}/auditoria`, )\r\n );\r\n }\r\n\r\n}\r\n\r\nexport interface FilterByOptions {\r\n recursive?: boolean;\r\n dateSeparator?: string;\r\n}\r\n\r\nexport function filterBy(filter: any, url: string, options?: FilterByOptions) {\r\n const recursive = options && options.recursive;\r\n const dateSeparator = options && options.dateSeparator || '-';\r\n const joinParams = (obj: any, prepend?: string) => {\r\n const arr = [];\r\n Object.keys(obj)\r\n .filter(key => {\r\n const value = obj[key];\r\n return value !== null && value !== undefined && (value instanceof Date || typeof value !== 'object' || recursive);\r\n })\r\n .forEach(key => {\r\n const value = obj[key];\r\n let str: string;\r\n if (typeof value === 'object') {\r\n str = value instanceof Date\r\n ? `${prepend || ''}${key}=${dateToString(value, dateSeparator)}`\r\n : joinParams(value, `${prepend || ''}${key}.`);\r\n } else {\r\n str = `${prepend || ''}${key}=${value}`;\r\n }\r\n if (str) {\r\n arr.push(str);\r\n }\r\n });\r\n return arr.length ? arr.join('&') : null;\r\n };\r\n\r\n if (!filter || typeof filter !== 'object') {\r\n return url;\r\n }\r\n\r\n const filterUrl = joinParams(filter);\r\n if (!filterUrl) {\r\n return url;\r\n }\r\n\r\n const concatChar = url.indexOf('?') === -1 ? '?' : '&';\r\n return `${url}${concatChar}${filterUrl}`;\r\n}\r\n\r\nfunction dateToString(date: Date, separator: string) {\r\n return [\r\n ('0' + (date.getMonth() + 1)).slice(-2),\r\n ('0' + date.getDate()).slice(-2),\r\n date.getFullYear()\r\n ].join(separator);\r\n}","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { EnumRecursoPerfil } from '../models/enum/recurso-perfil.enum';\r\nimport { IPerfilUsuarioModel } from '../models/perfil-usuario.model';\r\nimport { IUsuarioEstadoModel } from '../models/usuario-estado.model';\r\nimport { BaseService } from './base.service';\r\nimport { IEnumModel } from '../models/enum.model';\r\n\r\n@Injectable()\r\nexport class AuthService extends BaseService {\r\n public usuario: IPerfilUsuarioModel;\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async obterPerfilUsuario(): Promise> {\r\n if (this.usuario) {\r\n return Promise.resolve({ sucesso: true, dados: this.usuario } as IBaseModel);\r\n } else {\r\n try {\r\n const res = await this.httpClient\r\n .get>(`${this.apiBaseUrl}/usuario/perfil`)\r\n .toPromise();\r\n this.usuario = res.dados;\r\n return res;\r\n }\r\n catch (err) {\r\n delete (this.usuario);\r\n throw (err);\r\n }\r\n }\r\n }\r\n\r\n public obterEstado(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/usuario/estado`)\r\n .toPromise();\r\n }\r\n\r\n public logout(): void {\r\n window.location.replace('./conta/logout');\r\n }\r\n\r\n public login(): void {\r\n window.location.replace('./conta/login?returnUrl=' + window.location);\r\n }\r\n\r\n public possuiPermissao(recurso: string, acao: string) {\r\n if (EnumRecursoPerfil.Aberto == recurso)\r\n return true;\r\n var recursos = this.usuario && this.usuario.permissoesRecursos && this.usuario.permissoesRecursos.find(d => d.recurso.toUpperCase() == recurso.toUpperCase());\r\n return recursos != undefined && recursos.acoes.some(d => d.toUpperCase() == acao.toUpperCase());\r\n }\r\n\r\n public possuiPerfis(perfis: string[]) {\r\n return this.usuario\r\n && this.usuario.perfis\r\n && perfis.some(p => this.usuario.perfis.indexOf(p) >= 0);\r\n }\r\n\r\n public possuiPermissaoRecurso(recurso: string, acao: string) {\r\n return false;\r\n }\r\n\r\n public async obterPerfisSimplificado(): Promise> {\r\n \r\n try {\r\n const res = await this.httpClient\r\n .get>(`${this.apiBaseUrl}/usuario/obterPerfisSimplificado`)\r\n .toPromise();\r\n return res;\r\n }\r\n catch (err) {\r\n throw (err);\r\n }\r\n \r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IAprovacaoModel } from '../models/aprovacao.model';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ILinhaDoTempoModel } from '../models/linha-tempo.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AvaliacaoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(tipoDocumento: number, tipoDocumentoId: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/avaliacao/${tipoDocumento}/tipoTrabalho/${tipoDocumentoId}`, { })\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class BaseService {\r\n public apiBaseUrl = '';\r\n\r\n constructor(public httpClient: HttpClient, private locationStrategy: LocationStrategy) {\r\n const baseHref = this.locationStrategy.getBaseHref();\r\n const apiUrl = baseHref.endsWith('/') ? baseHref + 'api' : baseHref + '/api';\r\n this.apiBaseUrl = `${window.location.origin}${apiUrl}`;\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ICalendarioModel } from '../models/calendario.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CalendarioService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/calendario`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/calendario/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ICalendarioModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/calendario`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ICalendarioModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/calendario/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/calendario/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/calendario/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/calendario/${id}/excluir`, {})\r\n .toPromise (); \r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ICapituloRelatorioModel } from '../models/capitulo-relatorio.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CapituloRelatorioService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/capitulorelatorio`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/capitulorelatorio/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ICapituloRelatorioModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/capitulorelatorio`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ICapituloRelatorioModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/capitulorelatorio/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async aprovarReprovarCapitulo(id: number, aprovado: boolean): Promise> {\r\n return this.httpClient\r\n .patch>(`${this.apiBaseUrl}/capitulorelatorio/${id}/aprovar/${aprovado}`, {})\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/capitulorelatorio/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/capitulorelatorio/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ICategoriaRiscoModel } from '../models/categoria-risco.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { FiltroModel } from '../models/filtro.model';\r\nimport { BaseService } from './base.service';\r\nimport { filterBy } from '../core/helpers/filterby';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CategoriaRiscoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro: FiltroModel): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/CategoriaRisco`))\r\n .toPromise();\r\n }\r\n public obterTodos(filtro: FiltroModel): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/CategoriaRisco/conjunto`))\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/CategoriaRisco/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ICategoriaRiscoModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/CategoriaRisco`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ICategoriaRiscoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/CategoriaRisco/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/CategoriaRisco/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/CategoriaRisco/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/CategoriaRisco/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IConstatacaoRecomendacaoModel } from '../models/constatacao-recomendacao.model';\r\nimport { IConstatacaoModel } from '../models/constatacao.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ConstatacaoService extends BaseService {\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/constatacao`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient.get>(`${this.apiBaseUrl}/constatacao/${id}`).toPromise();\r\n }\r\n\r\n public async obterPorRecomendacaoId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/constatacao/${id}/recomendacao`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IConstatacaoModel): Promise> {\r\n return this.httpClient.post>(`${this.apiBaseUrl}/constatacao`, data).toPromise();\r\n }\r\n\r\n public async atualizar(data: IConstatacaoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/constatacao/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient.post>(`${this.apiBaseUrl}/constatacao/${id}/reativar`, {}).toPromise();\r\n }\r\n\r\n public async vincularConstatacaoRecomendacao(\r\n constatacaoId: number,\r\n data: { recomendacoes: number[] }\r\n ): Promise> {\r\n return this.httpClient\r\n .post>(\r\n `${this.apiBaseUrl}/Constatacao/${constatacaoId}/recomendacao-constatacao/salvar`,\r\n data\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async desvincularConstatacaoRecomendacao(constatacaoId: number, recomendacaoId): Promise> {\r\n return this.httpClient\r\n .delete>(\r\n `${this.apiBaseUrl}/Constatacao/${constatacaoId}/recomendacao/${recomendacaoId}/excluir`\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient.post>(`${this.apiBaseUrl}/constatacao/${id}/inativar`, {}).toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient.delete>(`${this.apiBaseUrl}/constatacao/${id}`, {}).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IControle } from '../models/controle.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ControleService extends BaseService {\r\n\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(criteriosAvaliacaoRiscosId: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('criteriosAvaliacaoRiscosId', criteriosAvaliacaoRiscosId || '0');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/controle`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/controle/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IControle): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/controle`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IControle): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/controle/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/controle/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IAuditorCoordenacaoModel } from '../models/auditor-coordenacao.model';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ICoordenacaoModel } from '../models/coordenacao.model';\r\nimport { BaseService } from './base.service';\r\nimport { promise } from 'protractor';\r\nimport { ICoordenacaoTipoTrabalhoModel } from '../models/coordenacao-tipo-trabalho.model';\r\nimport { ICoordenacaoAgentePublicoDisponibilidadeModel } from '../models/coordenacao-agentepublico-disponibilidade.model';\r\nimport { ICoordenacaoAgentePublicoDispensaModel } from '../models/coordenacao-agentepublico-dispensa.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CoordenacaoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/coordenacao`, { params })\r\n .toPromise();\r\n }\r\n\r\n public obterCoordenacoesCoordenador(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/coordenacao/obter-coordenacoes-coordenador`, {})\r\n .toPromise();\r\n }\r\n\r\n public obterAuditorPorCoordenacao(id: number, auditorId: string, cargoAuditor: number, ano: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/coordenacao/${id}/auditores/${auditorId}/novo-cargo/${cargoAuditor}/${ano}`, {})\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number, exibeInativos: boolean = true): Promise> {\r\n let params = new HttpParams();\r\n if (exibeInativos) {\r\n params = params.append('exibeInativos', exibeInativos.toString());\r\n }\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/coordenacao/${id}`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorIdAno(id: number, ano:number): Promise> {\r\n \r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/coordenacao/${id}/${ano}`, { })\r\n .toPromise();\r\n }\r\n\r\n public async obterCoordenadoresAtivos(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/coordenacao/obter-coordenadores-ativos`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ICoordenacaoModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/coordenacao`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ICoordenacaoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/coordenacao/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/coordenacao/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/coordenacao/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/coordenacao/${id}/excluir`, {})\r\n .toPromise (); \r\n }\r\n\r\n public async validarCoordenador(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/coordenacao/${id}/validarUsuarioCoordenacao`)\r\n .toPromise();\r\n }\r\n\r\n public async inserirTipoTrabalho(data: ICoordenacaoTipoTrabalhoModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/coordenacao/inserirTipoTrabalho`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizarTipoTrabalho(data: ICoordenacaoTipoTrabalhoModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/coordenacao/atualizarTipoTrabalho`, data)\r\n .toPromise();\r\n }\r\n public async reativarTipoTrabalho(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/coordenacao/${id}/reativarTipoTrabalho`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativarTipoTrabalho(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/coordenacao/${id}/inativarTipoTrabalho`, {})\r\n .toPromise();\r\n }\r\n public async excluirTipoTrabalho(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/coordenacao/${id}/excluirTipoTrabalho`, {})\r\n .toPromise (); \r\n }\r\n\r\n public async obterCapacidadePorAno(id: number, ano: number): Promise> {\r\n \r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/coordenacao/${id}/obterCapacidadePorAno/${ano}`, { })\r\n .toPromise();\r\n }\r\n public async getDadosDisponibilidade(id: number, ano: number): Promise>>{\r\n return this.httpClient\r\n .get>>(`${this.apiBaseUrl}/coordenacao/${id}/AbaDisponibilidade/${ano}`, {})\r\n .toPromise();\r\n }\r\n\r\n public async getDadosDispensa(id: number, ano: number): Promise>>{\r\n return this.httpClient\r\n .get>>(`${this.apiBaseUrl}/coordenacao/${id}/AbaDisponibilidadeDispensa/${ano}`, {})\r\n .toPromise();\r\n }\r\n\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ICriterioModel } from '../models/criterio.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CriterioService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/criterio`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/criterio/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ICriterioModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/criterio`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ICriterioModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/criterio/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/criterio/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/criterio/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n public async excluirCriterio(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/criterio/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ICriteriosAvaliacaoRiscos } from '../models/criterios-avaliacao-riscos.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { filterBy } from './auditoria.service';\r\nimport { FiltroCriterioAvaliacaoRiscos } from '../models/filtro-criterio-avaliacao-riscos.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CriteriosAvaliacaoRiscoService extends BaseService {\r\n\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/criteriosAvaliacaoRiscos`, { params })\r\n .toPromise();\r\n }\r\n\r\n public obterAtivos(filtro: FiltroCriterioAvaliacaoRiscos): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/criteriosAvaliacaoRiscos/obterAtivos`))\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/criteriosAvaliacaoRiscos/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ICriteriosAvaliacaoRiscos): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/criteriosAvaliacaoRiscos`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ICriteriosAvaliacaoRiscos): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/criteriosAvaliacaoRiscos/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/criteriosAvaliacaoRiscos/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/criteriosAvaliacaoRiscos/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/criteriosAvaliacaoRiscos/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from \"@angular/common\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { IAtividadeModel } from \"../models/atividade.model\";\r\nimport { IBaseModel } from \"../models/base.model\";\r\nimport { ICronogramaModel } from \"../models/cronograma.model\";\r\nimport { ISubAtividadeModel } from \"../models/sub-atividade.model\";\r\nimport { BaseService } from \"./base.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CronogramaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async obterCronograma(planejamentoId :number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/cronogramas/${planejamentoId}`)\r\n .toPromise();\r\n }\r\n\r\n public obterAtividade(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/atividades`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterAtividadePorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/atividades/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public obterSubAtividade(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/subatividades`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterSubAtividadePorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/subatividades/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async salvar(data: ICronogramaModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/cronogramas/salvar`, data )\r\n .toPromise();\r\n }\r\n\r\n public async excluirAtividade(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/cronogramas/${id}/excluir-atividade`, {})\r\n .toPromise ();\r\n }\r\n\r\n public async excluirSubAtividade(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/cronogramas/${id}/excluir-subatividade`, {})\r\n .toPromise ();\r\n }\r\n\r\n public async inserirAtividade(data: IAtividadeModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/cronogramas/atividade`, data )\r\n .toPromise();\r\n }\r\n\r\n public async inserirsubAtividade(data: ISubAtividadeModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/cronogramas/subatividade`, data )\r\n .toPromise();\r\n }\r\n\r\n public async atualizarAtividade(model: any, id: number): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/cronogramas/atividade/${id}` , model)\r\n .toPromise();\r\n }\r\n\r\n public async atualizarSubAtividade(model: ISubAtividadeModel, id: number): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/cronogramas/subatividade/${id}` , model)\r\n .toPromise();\r\n }\r\n\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ICustoRecursoPlanejamentoModel } from '../models/custo-recurso-planejamento.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CustoRecursoPlanejamentoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async inserir(data: ICustoRecursoPlanejamentoModel, tipoTrabalho: string): Promise> {\r\n if(tipoTrabalho === 'planejamento'){\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/custoRecursoPlanejamento`, data)\r\n .toPromise();\r\n }\r\n if(tipoTrabalho === 'osa'){\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/custoRecursoOsa`, data)\r\n .toPromise();\r\n }\r\n }\r\n\r\n\r\n public async obterPorId(id: number, tipoTrabalho: string): Promise> {\r\n if(tipoTrabalho === 'planejamento'){\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/custoRecursoPlanejamento/${id}`)\r\n .toPromise();\r\n }\r\n if(tipoTrabalho === 'osa'){\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/custoRecursoOsa/osa/${id}`)\r\n .toPromise();\r\n }\r\n }\r\n\r\n public async excluir(id: number, tipoTrabalho: string): Promise> {\r\n if(tipoTrabalho === 'planejamento'){\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/custoRecursoPlanejamento/${id}`)\r\n .toPromise();\r\n }\r\n if(tipoTrabalho === 'osa'){\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/custoRecursoOsa/${id}`)\r\n .toPromise();\r\n }\r\n\r\n }\r\n\r\n public async atualizar(data: ICustoRecursoPlanejamentoModel, tipoTrabalho: string): Promise> {\r\n if(tipoTrabalho === 'planejamento'){\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/custoRecursoPlanejamento/${data.id}`, data)\r\n .toPromise();\r\n }\r\n if(tipoTrabalho === 'osa'){\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/custoRecursoOsa/${data.id}`, data)\r\n .toPromise();\r\n }\r\n }\r\n\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ICustoRecursoModel } from '../models/custo-recurso.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CustoRecursoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/custoRecurso`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/custoRecurso/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ICustoRecursoModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/custoRecurso`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ICustoRecursoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/custoRecurso/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/custoRecurso/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/custoRecurso/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/custoRecurso/${id}`)\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ILocalAtuacaoModel } from '../models/edocs/local-atuacao.model';\r\nimport { IPapelModel } from '../models/edocs/papel.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EdocsService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async obterPapeis(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/edocs/papeis`)\r\n .toPromise();\r\n }\r\n\r\n public async obterLocaisAtuacao(idPapel: string): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/edocs/${idPapel}/locais-atuacao`)\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { FiltroModel } from '../models/filtro.model';\r\nimport { BaseService } from './base.service';\r\nimport { filterBy } from '../core/helpers/filterby';\r\nimport { IEntendendoEntidadeListaModel } from '../models/entendendo-entidade-lista.model';\r\nimport { FiltroQuestionarioUG } from '../models/filtro-questionario-ug.model';\r\nimport { IImprimirQuestionarioRespostaUGModel, IListaQuestionarioRespostaUGModel, IQuestionarioUGModel, IVisualizarQuestionarioRespostaUGModel } from '../models/questionario-ug.model';\r\nimport { IArquivoModel } from '../models/arquivo.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class EntendendoEntidadeService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro: FiltroQuestionarioUG): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/QuestionarioUG`))\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/QuestionarioUG/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(id: number, idUG: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${id}/${idUG}/inserir`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inserirQuestionarioAPartirDoUltimo(idUG: number, idTipoRelatorio: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${idUG}/${idTipoRelatorio}/inserirCopia`, {})\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IQuestionarioUGModel): Promise>{\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/QuestionarioUG`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/QuestionarioUG/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n\r\n public async solicitarPreenchimentoQuestionario(id: number, qtdeDiasPrazo: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${id}/${qtdeDiasPrazo}/solicitarPreenchimento`, {})\r\n .toPromise();\r\n }\r\n\r\n public async enviarArquivo(idUG: number, idTipoQuestionario: number, anexo : IArquivoModel): Promise> {\r\n const formData: FormData = new FormData();\r\n\r\n formData.append('id', anexo.id.toString());\r\n formData.append('nomeArquivo', anexo.nomeArquivo);\r\n formData.append('entidadeArquivo', anexo.entidadeArquivo.toString());\r\n formData.append('arquivo', anexo.arquivo);\r\n\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${idUG}/${idTipoQuestionario}/enviarArquivo`,formData, {})\r\n .toPromise();\r\n }\r\n\r\n public async Avocar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${id}/avocar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async DownloadArquivo(idUG: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${idUG}/obterArquivo`, {})\r\n .toPromise();\r\n }\r\n\r\n public ObterQuestionarioPendente(filtro: FiltroQuestionarioUG): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/QuestionarioUG/pre-planejamento`))\r\n .toPromise();\r\n }\r\n\r\n public async VisualizarRespostaQuestionario(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/QuestionarioUG/visualizar/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async ImprimirRespostaQuestionario(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/QuestionarioUG/imprimir/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async encerrarQuestionarioImportacaoArquivo(idUG: number, idTipoQuestionario: number): Promise> {\r\n \r\n\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${idUG}/${idTipoQuestionario}/0/encerrar-avaliacao-arquivo-importado`,null, {})\r\n .toPromise();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IEscalas } from '../models/escalas.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EscalasService extends BaseService {\r\n\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(criteriosAvaliacaoRiscosId: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('criteriosAvaliacaoRiscosId', criteriosAvaliacaoRiscosId || '0');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/escalas`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/escalas/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IEscalas): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/escalas`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IEscalas): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/escalas/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/escalas/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IFaixaClassificacaoModel } from '../models/faixa-classificacao';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FaixaClassificacaoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/faixaclassificacao`)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IFaixaClassificacaoModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/faixaclassificacao`, data)\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from \"@angular/common\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { IBaseModel } from \"../models/base.model\";\r\nimport { IFasesAtividadeModel } from \"../models/fases-atividade-model\";\r\nimport { BaseService } from \"./base.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FaseAtividadeService extends BaseService {\r\n\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa?: string, ativo?: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/fasesatividades`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async inserir(model: IFasesAtividadeModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/fasesatividades`, model)\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/fasesatividades/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IFasesAtividadeModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/fasesatividades/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .patch>(`${this.apiBaseUrl}/fasesatividades/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .patch>(`${this.apiBaseUrl}/fasesatividades/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/fasesatividades/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IFluxoAprovacaoModel } from '../models/fluxo-aprovacao.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class FluxoAprovacaoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/fluxoaprovacao`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/fluxoaprovacao/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IFluxoAprovacaoModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/fluxoaprovacao`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IFluxoAprovacaoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/fluxoaprovacao/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/fluxoaprovacao/${id}`, {})\r\n .toPromise();\r\n }\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient.post>(`${this.apiBaseUrl}/fluxoaprovacao/${id}/reativar`, {}).toPromise();\r\n }\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient.post>(`${this.apiBaseUrl}/fluxoaprovacao/${id}/inativar`, {}).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IFormulaRiscoInerente } from '../models/formula-risco-inerente.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FormulaRiscoInerenteService extends BaseService {\r\n\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(criteriosAvaliacaoRiscosId: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('criteriosAvaliacaoRiscosId', criteriosAvaliacaoRiscosId || '0');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/formulaRiscoInerente`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/formulaRiscoInerente/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IFormulaRiscoInerente): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/formulaRiscoInerente/`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IFormulaRiscoInerente): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/formulaRiscoInerente/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/formulaRiscoInerente/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IFormulaRiscoResidual } from '../models/formula-risco-residual.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FormulaRiscoResidualService extends BaseService {\r\n\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(criteriosAvaliacaoRiscosId: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('criteriosAvaliacaoRiscosId', criteriosAvaliacaoRiscosId || '0');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/formulaRiscoResidual`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/formulaRiscoResidual/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IFormulaRiscoResidual): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/formulaRiscoResidual`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IFormulaRiscoResidual): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/formulaRiscoResidual/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/formulaRiscoResidual/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IIndicadorModel } from '../models/indicador.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class IndicadorService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/indicador`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/indicador/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IIndicadorModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/indicador`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IIndicadorModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/indicador/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/indicador/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/indicador/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/indicador/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ILogModel } from '../models/log.model';\r\nimport { IFiltroLog } from '../models/filtros/filtro-log.model';\r\nimport { IEnumModel } from '../models/enum.model';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LogService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro: IFiltroLog): Promise>> {\r\n const params = this.recuperarParametrosFiltro(filtro);\r\n\r\n return this.httpClient\r\n .get>>(`${this.apiBaseUrl}/logsistema`, { params })\r\n .toPromise();\r\n }\r\n\r\n public obterFuncionalidades(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/logsistema/funcionalidades`, {})\r\n .toPromise();\r\n }\r\n\r\n public obterTiposLog(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/logsistema/tipos-log`, {})\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/logsistema/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async exportar(filtro: IFiltroLog): Promise {\r\n const params = this.recuperarParametrosFiltro(filtro);\r\n\r\n return this.httpClient\r\n .get(`${this.apiBaseUrl}/logsistema/exportar`, { params, responseType: 'blob' })\r\n .toPromise();\r\n }\r\n\r\n private recuperarParametrosFiltro(filtro: IFiltroLog): HttpParams {\r\n let params = new HttpParams();\r\n params = params.append('pagina', filtro.pagina.toString());\r\n params = params.append('tamanhoPagina', filtro.tamanhoPagina.toString());\r\n params = params.append('ordenacaoColuna', filtro.ordenacaoColuna.toString());\r\n params = params.append('ordenacaoSentido', filtro.ordenacaoSentido.toString());\r\n\r\n if (filtro.dataInicial){\r\n params = params.append('dataInicial', filtro.dataInicial.toString());\r\n }\r\n if (filtro.dataFinal){\r\n params = params.append('dataFinal', filtro.dataFinal.toString());\r\n }\r\n if (filtro.funcionalidade){\r\n params = params.append('funcionalidade', filtro.funcionalidade.toString());\r\n }\r\n if (filtro.tipoLog){\r\n params = params.append('tipoLog', filtro.tipoLog.toString());\r\n }\r\n if (filtro.nomeUsuario){\r\n params = params.append('nomeUsuario', filtro.nomeUsuario);\r\n }\r\n\r\n return params;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IMaginitudesEscalaRisco } from '../models/maginitudes-escala-risco.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MagnitudesEscalaRiscoService extends BaseService {\r\n\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(escalaId: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('escalaId', escalaId || '0');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/magnitudesEscalaRisco`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/magnitudesEscalaRisco/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IMaginitudesEscalaRisco): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/magnitudesEscalaRisco`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IMaginitudesEscalaRisco): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/magnitudesEscalaRisco/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/magnitudesEscalaRisco/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}","import { IUnidadeGestoraModel } from './../models/unidade-gestora.model';\r\nimport { IQuestaoModel } from 'src/app/models/questao.model';\r\nimport { BaseService } from './base.service';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { Subject } from 'rxjs';\r\nimport { ISubtipoAuditoriaModel } from '../models/subtipo-auditoria.model';\r\n\r\ntype subjectOfArray = any | any[] | Subject;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ManterMatrizPlanejamentoService extends BaseService {\r\n\r\n private _dados: Subject = new Subject();\r\n\r\n public get dados(): subjectOfArray {\r\n return this._dados.asObservable() as Subject;\r\n }\r\n\r\n public set dados(value: subjectOfArray) {\r\n this._dados.next(value);\r\n }\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async excluirQuestao(planejamentoId: number, idSubtipo: number, idQuestao: number, tipoTrabalho: string): Promise> {\r\n if (tipoTrabalho === 'planejamento') {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/planejamento/${planejamentoId}/questao/${idQuestao}/subTipo/${idSubtipo}/excluir`, {})\r\n .toPromise();\r\n } else if (tipoTrabalho === 'osa') {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/osas/${planejamentoId}/questao/${idQuestao}/subTipo/${idSubtipo}/excluir`, {})\r\n .toPromise();\r\n }\r\n\r\n }\r\n\r\n public async obter(): Promise {\r\n this.httpClient.get>(`${this.apiBaseUrl}/subtipoauditoria`).toPromise().then(x => this.dados = x.dados)\r\n }\r\n\r\n public async vincularQuestao(tipoTrabalho: number, matrizPlanejamentoId: number, questaoId: number, isQuestaoPlanejamento: boolean, relacionamentoId: number, subTipoAuditoriaId: number): Promise> {\r\n if (isQuestaoPlanejamento) {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/matrizPlanejamento/${matrizPlanejamentoId}/questaoEspecifica/${questaoId}/${tipoTrabalho}/${relacionamentoId}/${subTipoAuditoriaId}`, {})\r\n .toPromise();\r\n }\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/matrizPlanejamento/${matrizPlanejamentoId}/questao/${questaoId}/${tipoTrabalho}/${relacionamentoId}/${subTipoAuditoriaId}`, {})\r\n .toPromise();\r\n }\r\n\r\n public obterQuestaoSubtipo(subtipoAuditoriaId: number, descricao: string): Promise> {\r\n let query = new HttpParams();\r\n query = query.append(\"subtipoAuditoriaId\", subtipoAuditoriaId.toString());\r\n query = query.append(\"descricao\", descricao);\r\n return this.httpClient.get>(`${this.apiBaseUrl}/subtipoAuditoria/questoes`, { params: query }).toPromise();\r\n }\r\n\r\n public obterUgSubtipo(id: number, subtipoAuditoriaId: number): Promise> {\r\n return this.httpClient.get>(`${this.apiBaseUrl}/planejamento/${id}/subTipoAuditoria/${subtipoAuditoriaId}/unidades-gestoras`).toPromise();\r\n }\r\n\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IMatrizPlanejamentoModel } from '../models/matriz-planejamento.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MatrizPlanejamentoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/matrizPlanejamento`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/matrizPlanejamento/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IMatrizPlanejamentoModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/matrizPlanejamento`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IMatrizPlanejamentoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/matrizPlanejamento/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/matrizPlanejamento/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/matrizPlanejamento/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/matrizPlanejamento/${id}`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IMenuModel } from '../models/menu.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\n export class MenuService extends BaseService {\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async obter(): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/menu/`)\r\n .toPromise();\r\n }\r\n } ","import { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { BaseService } from './base.service';\r\nimport { IModeloQuestionarioModel } from '../models/modelo-questionario.model';\r\nimport { FiltroModel } from '../models/filtro.model';\r\nimport { promise } from 'protractor';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { filterBy } from '../core/helpers/filterby';\r\nimport { FiltroModeloQuestionario } from '../models/filtro-modelo-questionario';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n })\r\n export class ModeloQuestionarioService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async obter(filtro: FiltroModel): Promise>>{\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', filtro.pesquisa || '');\r\n\r\n if (filtro.ativo !== undefined) {\r\n params = params.append('ativo', filtro.ativo.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>>(filterBy(filtro, `${this.apiBaseUrl}/modeloquestionario`), {})\r\n .toPromise()\r\n }\r\n\r\n public async obterPorId(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/modeloquestionario/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IModeloQuestionarioModel): Promise>{\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/modeloquestionario`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IModeloQuestionarioModel): Promise>{\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/modeloquestionario`, data)\r\n .toPromise();\r\n }\r\n \r\n public async reativar(id: number): Promise>{\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/modeloquestionario/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise>{\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/modeloquestionario/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise>{\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/modeloquestionario/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n\r\n public async obterModeloQuestionario(filtro: FiltroModeloQuestionario): Promise>>{\r\n let params = new HttpParams();\r\n params = params.append('ativo', 'true');\r\n return this.httpClient\r\n .get>>(filterBy(filtro, `${this.apiBaseUrl}/modeloquestionario/`), {})\r\n .toPromise()\r\n }\r\n\r\n public async obterModeloEntendendoEntidade(filtro: FiltroModel): Promise>>{\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', filtro.pesquisa || '');\r\n\r\n if (filtro.ativo !== undefined) {\r\n params = params.append('ativo', filtro.ativo.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>>(filterBy(filtro, `${this.apiBaseUrl}/modeloquestionario/modelos-entendendo-entidade`), {})\r\n .toPromise()\r\n }\r\n\r\n public async aprovarReprovarItem(id: number, idModeloQuestionario: number, aprovado: boolean): Promise> {\r\n return this.httpClient\r\n .patch>(`${this.apiBaseUrl}/modeloquestionario/${id}/aprovar-ou-reprovar-item/${idModeloQuestionario}/${aprovado}`, {})\r\n .toPromise();\r\n }\r\n }","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IModeloRelatorioModel } from '../models/modelo-relatorio.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ModeloRelatorioService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/modelorelatorio`, { params })\r\n .toPromise();\r\n }\r\n\r\n public obterPorTipoTrabalho(tipoTrabalho: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/modelorelatorio/${tipoTrabalho}/tipoTrabalho`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/modelorelatorio/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IModeloRelatorioModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/modelorelatorio`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IModeloRelatorioModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/modelorelatorio/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/modelorelatorio/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/modelorelatorio/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/modelorelatorio/${id}/excluir/`, {})\r\n .toPromise();\r\n }\r\n}\r\n\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { INaturezaResponsabilidadeModel } from '../models/natureza-responsabilidade';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NaturezaResponsabilidadeService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/naturezaresponsabilidade`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/naturezaresponsabilidade/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: INaturezaResponsabilidadeModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/naturezaresponsabilidade`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: INaturezaResponsabilidadeModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/naturezaresponsabilidade/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/naturezaresponsabilidade/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/naturezaresponsabilidade/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/naturezaresponsabilidade/${id}/excluir/`, {})\r\n .toPromise();\r\n }\r\n \r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { INiveisRiscoInerente } from '../models/niveis-risco-inerente.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NiveisRiscoInerenteService extends BaseService {\r\n\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(criteriosAvaliacaoRiscosId: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('criteriosAvaliacaoRiscosId', criteriosAvaliacaoRiscosId || '0');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/niveisRiscoInerente`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/niveisRiscoInerente/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: INiveisRiscoInerente): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/niveisRiscoInerente`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: INiveisRiscoInerente): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/niveisRiscoInerente/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/niveisRiscoInerente/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { INiveisRiscoResidual } from '../models/niveis-risco-residual.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NiveisRiscoResidualService extends BaseService {\r\n\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(criteriosAvaliacaoRiscosId: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('criteriosAvaliacaoRiscosId', criteriosAvaliacaoRiscosId || '0');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/niveisRiscoResidual`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/niveisRiscoResidual/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: INiveisRiscoResidual): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/niveisRiscoResidual`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: INiveisRiscoResidual): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/niveisRiscoResidual/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/niveisRiscoResidual/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IOpaModel } from '../models/opa.model';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { IFiltroOpa } from '../models/filtros/filtro-opa.model';\r\nimport { IEnumModel } from '../models/enum.model';\r\nimport { IValidacaoNivelModel } from '../models/validaca-nivel-aprovacao.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { IEntranharDocumentoModel } from '../models/edocs/entranhar-documento.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OpaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro: IFiltroOpa): Promise>> {\r\n const params = this.recuperarParametrosFiltro(filtro);\r\n\r\n return this.httpClient\r\n .get>>(`${this.apiBaseUrl}/opa`, { params })\r\n .toPromise();\r\n }\r\n\r\n public obterOrigens(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/opa/origens`, {})\r\n .toPromise();\r\n }\r\n\r\n public obterStatus(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/opa/status`, {})\r\n .toPromise();\r\n }\r\n\r\n public obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/opa/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public obterRelatorio(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/opa/${id}/relatorio`)\r\n .toPromise();\r\n }\r\n\r\n public gerarNova(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/opa/novo`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IOpaModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/opa`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IOpaModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/opa/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/opa/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number, justificativa: string): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/opa/${id}/inativar`, { justificativa })\r\n .toPromise();\r\n }\r\n\r\n public imprimir(id: number): Promise{\r\n return this.httpClient\r\n .get(`${this.apiBaseUrl}/opa/${id}/imprimir`)\r\n .toPromise();\r\n }\r\n\r\n public async imprimirOpaConsolidado(ids: string): Promise> {\r\n let params = new HttpParams();\r\n ids.split(',').map(_ => params = params.append('ids', _));\r\n \r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/opa/imprimir-opa-consolidado`, {params})\r\n .toPromise();\r\n}\r\n\r\n public async enviarAprovacao(id: number): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/opa/${id}/enviar-aprovacao`, null)\r\n .toPromise();\r\n }\r\n\r\n public async aprovar(id: number): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/opa/${id}/aprovar`, null)\r\n .toPromise();\r\n }\r\n\r\n public async homologar(id: number, entranharDocumento: IEntranharDocumentoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/opa/${id}/homologar`, entranharDocumento)\r\n .toPromise();\r\n }\r\n\r\n public async gerarNovaVersao(data: IOpaModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/opa/${data.id}/gerar-versao`, data)\r\n .toPromise();\r\n }\r\n\r\n private recuperarParametrosFiltro(filtro: IFiltroOpa): HttpParams {\r\n let params = new HttpParams();\r\n params = params.append('pagina', filtro.pagina.toString());\r\n params = params.append('itensPorPagina', filtro.itensPorPagina.toString());\r\n params = params.append('colunaOrder', filtro.colunaOrder.toString());\r\n params = params.append('direcao', filtro.direcao.toString());\r\n\r\n if (filtro.dataInicial){\r\n params = params.append('dataInicial', filtro.dataInicial.toString());\r\n }\r\n if (filtro.dataFinal){\r\n params = params.append('dataFinal', filtro.dataFinal.toString());\r\n }\r\n if (filtro.ativo !== undefined && filtro.ativo !== null) {\r\n params = params.append('ativo', filtro.ativo.toString());\r\n }\r\n if (filtro.auditor) {\r\n params = params.append('auditor', filtro.auditor.toString());\r\n }\r\n if (filtro.coordenador) {\r\n params = params.append('coordenador', filtro.coordenador.toString());\r\n }\r\n if (filtro.numeroObjeto) {\r\n params = params.append('numeroObjeto', filtro.numeroObjeto);\r\n }\r\n if (filtro.origem) {\r\n params = params.append('origem', filtro.origem.toString());\r\n }\r\n if (filtro.status) {\r\n params = params.append('status', filtro.status.toString());\r\n }\r\n if (filtro.subtipoAuditoria) {\r\n params = params.append('subtipoAuditoria', filtro.subtipoAuditoria.toString());\r\n }\r\n if (filtro.tipoAuditoria) {\r\n params = params.append('tipoAuditoria', filtro.tipoAuditoria.toString());\r\n }\r\n if (filtro.unidadeGestora) {\r\n params = params.append('unidadeGestora', filtro.unidadeGestora.toString());\r\n }\r\n\r\n return params;\r\n }\r\n\r\n public async verificarNivelAprovacao(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/opa/${id}/verificar-nivel-aprovacao`)\r\n .toPromise();\r\n }\r\n\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IOrgaoModel } from '../models/orgao.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class OrganogramaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public ObterOrgaos(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/organograma/orgaos`)\r\n .toPromise();\r\n }\r\n}\r\n","import { PaginacaoModel } from './../models/paginacao.model';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { IAlocarEquipeObterModel, ISalvarAlocarEquipeModel } from '../models/alocar-equipe-component';\r\nimport { IAtividadeModel } from '../models/atividade.model';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ICronogramaModel } from '../models/cronograma.model';\r\nimport { IOsaAtividadeModel } from '../models/osa-atividade.model';\r\nimport { IOsaFiltroModel } from '../models/osa-filtro-model';\r\nimport { IOsaModelImprimir } from '../models/osa-imprimir';\r\nimport { IOsaModel } from '../models/osa-model';\r\nimport { IOsaSubAtividadeModel } from '../models/osa-sub-atividade.model';\r\nimport { ISubAtividadeModel } from '../models/sub-atividade.model';\r\nimport { IValidacaoNivelModel } from '../models/validaca-nivel-aprovacao.model';\r\nimport { BaseService } from './base.service';\r\nimport { IEntranharDocumentoModel } from '../models/edocs/entranhar-documento.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class OsaService extends BaseService {\r\n public osaDate!: IOsaModel[];\r\n private osaSource = new BehaviorSubject('');\r\n public currentOsa = this.osaSource.asObservable();\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro?: IOsaFiltroModel): Promise> {\r\n const params = this.recuperarParametrosFiltro(filtro);\r\n return this.httpClient\r\n .get>>(`${this.apiBaseUrl}/osas`, { params })\r\n .toPromise().then(result => {\r\n this.osaSource.next(result.dados)\r\n return result.dados;\r\n });\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/osas/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async salvarOsa(\r\n id: number, data: any): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/osas/${id}`, data)\r\n .toPromise();\r\n }\r\n\r\n\r\n public async gerarNovaVersao(\r\n id: number, data?: any): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/osas/${id}/nova-versao`, data)\r\n .toPromise();\r\n }\r\n\r\n\r\n public async inativar(id: number, justificativa: string): Promise> {\r\n return this.httpClient\r\n .patch>(`${this.apiBaseUrl}/osas/${id}/inativar`, { justificativa })\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .patch>(`${this.apiBaseUrl}/osas/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async enviarAprovacao(id: number): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/osas/${id}/enviar-aprovacao`, null)\r\n .toPromise();\r\n }\r\n\r\n public async getImprimir(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/osas/${id}/imprimir`)\r\n .toPromise();\r\n }\r\n\r\n private recuperarParametrosFiltro(filtro: IOsaFiltroModel): HttpParams {\r\n let params = new HttpParams();\r\n if (filtro) {\r\n if (filtro.dataInicioRealizacao) {\r\n params = params.append('dataInicioRealizacao', filtro.dataInicioRealizacao?.toString());\r\n }\r\n if (filtro.dataFimRealizacao) {\r\n params = params.append('dataFimRealizacao', filtro.dataFimRealizacao?.toString());\r\n }\r\n if (filtro.dataInicioPrevisto) {\r\n params = params.append('dataInicioPrevisto', filtro.dataInicioPrevisto?.toString());\r\n }\r\n if (filtro.dataFimPrevisto) {\r\n params = params.append('dataFimPrevisto', filtro.dataFimPrevisto?.toString());\r\n }\r\n if (filtro.ativo !== undefined && filtro.ativo !== null) {\r\n params = params.append('ativo', filtro.ativo?.toString());\r\n }\r\n if (filtro.coordenador) {\r\n params = params.append('coordenador', filtro.coordenador?.toString());\r\n }\r\n if (filtro.objeto) {\r\n params = params.append('objeto', filtro.objeto);\r\n }\r\n if (filtro.origemAuditoria) {\r\n params = params.append('origemAuditoria', filtro.origemAuditoria?.toString());\r\n }\r\n if (filtro.ativo) {\r\n params = params.append('ativo', filtro.ativo?.toString());\r\n }\r\n if (filtro.subtipoAuditoriaId) {\r\n params = params.append('subtipoAuditoria', filtro.subtipoAuditoriaId?.toString());\r\n }\r\n if (filtro.tipoAuditoriaId) {\r\n params = params.append('tipoAuditoria', filtro.tipoAuditoriaId?.toString());\r\n }\r\n if (filtro.unidadeGestoraId) {\r\n params = params.append('unidadeGestoraId', filtro.unidadeGestoraId?.toString());\r\n }\r\n if (filtro.numeroOsa) {\r\n params = params.append('numeroOsa', filtro.numeroOsa?.toString());\r\n }\r\n if (filtro.numeroOpa) {\r\n params = params.append('numeroOpa', filtro.numeroOpa?.toString());\r\n }\r\n if (filtro.status) {\r\n params = params.append('status', filtro.status?.toString());\r\n }\r\n if (filtro.pagina) {\r\n params = params.append('pagina', filtro.pagina?.toString());\r\n }\r\n if (filtro.itensPorPagina) {\r\n params = params.append('itensPorPagina', filtro.itensPorPagina?.toString());\r\n }\r\n }\r\n return params;\r\n }\r\n\r\n public async salvarOsaAtividade(id: number, atividadeId: number, data: IOsaAtividadeModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/osas/${id}/atividades/${atividadeId}/osaatividade`, data)\r\n .toPromise();\r\n }\r\n\r\n public async salvarOsaSubAtividade(id: number, subAtividadeId: number, data: IOsaSubAtividadeModel ): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/osas/${id}/subatividade/${subAtividadeId}/osasubatividade`, data)\r\n .toPromise();\r\n }\r\n\r\n public async obterCronogramaOsa(osaId: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/osas/cronograma/${osaId}`)\r\n .toPromise();\r\n }\r\n\r\n public async alocarEquipeOsa(\r\n id: number, data: IOsaModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/osas/alocar-equipe`, data)\r\n .toPromise();\r\n }\r\n\r\n public async homologar(id: number, entranharDocumento: IEntranharDocumentoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/osas/${id}/homologar`, entranharDocumento)\r\n .toPromise();\r\n }\r\n\r\n public obterAlocarEquipeId(osaId: number, equipeId: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/osas/${osaId}/equipe/${equipeId}`)\r\n .toPromise();\r\n }\r\n\r\n public obterAlocarEquipeOsaId(osaId: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/osas/${osaId}/equipes`)\r\n .toPromise();\r\n }\r\n\r\n public salvarAlocarEquipeOsaId(osaId: number, data: ISalvarAlocarEquipeModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/osas/${osaId}/alocar-equipe`, data)\r\n .toPromise();\r\n }\r\n\r\n public desvincularAuditorId(osaId: number, equipeId: number) {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/osas/${osaId}/equipe/${equipeId}/desvincular`)\r\n .toPromise();\r\n }\r\n\r\n public async verificarNivelAprovacao(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/osas/${id}/verificar-nivel-aprovacao`)\r\n .toPromise();\r\n }\r\n\r\n}\r\n","import { IPaaEquipeModel } from './../models/paa-equipe.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { IPaaModel } from '../models/paa.model';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IPaaDistribuicaoModel } from '../models/paa-distribuicao.model';\r\nimport { IPaaDistribuicaoColunasModel } from '../models/paa-distribuicao-colunas.model';\r\nimport { IPaaGraficoModel } from '../models/paa-grafico.model';\r\nimport { IPaaDistribuicaoHistoricoModel } from '../models/paa-distribuicao.historico.model';\r\nimport { IEntranharDocumentoModel } from '../models/edocs/entranhar-documento.model';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { IPaaCoordenacaoDispensaModel } from '../models/paa-coordenacao-dispensa.model';\r\nimport { IPaaDistribuicaoImprimirModel } from '../models/paa-distribuicao-imprimir.model';\r\nimport { ImprimirModel } from '../models/imprimir-model';\r\nimport { IValidacaoNivelModel } from '../models/validaca-nivel-aprovacao.model';\r\nimport { IAlocacaoPendenciasModel } from '../models/paa-alocacao-pendencias.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { filterBy } from '../core/helpers/filterby';\r\nimport { IPaaDadosBasicosModel } from '../models/paa-dados-basicos.model';\r\nimport { FiltroModel } from '../models/filtro.model';\r\nimport { IPaaInformacoesBasicasModel } from '../models/paa-informacoes-basicas.model';\r\nimport { IPaaCoordenacaoCapacidadeModel } from '../models/paa-coordenacao-capacidade.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async atualizarPaa(data: IPaaDadosBasicosModel): Promise> {\r\n \r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paa`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/paa/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n\r\n\r\n\r\n public obter( \r\n pesquisa: string,\r\n ativo: boolean,\r\n simplificado = false,\r\n filtro?: FiltroModel\r\n ): Promise>> {\r\n \r\n let params = new HttpParams();\r\n if (ativo !== undefined) {\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n }\r\n\r\n\r\n if(filtro != null && Object.keys(filtro).length > 0) {\r\n \r\n \r\n return this.httpClient\r\n .get>>(filterBy(filtro, `${this.apiBaseUrl}/paa`), { params })\r\n .toPromise();\r\n }\r\n\r\n return this.httpClient\r\n .get>>(`${this.apiBaseUrl}/paa`, { params })\r\n .toPromise();\r\n }\r\n\r\n \r\n public async obterPorId(id: number): Promise> {\r\n \r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IPaaModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paa/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async enviarAprovacao(id: number, idPerfilSelecionado: string): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paa/${id}/enviar-aprovacao/${idPerfilSelecionado}`, null)\r\n .toPromise();\r\n }\r\n\r\n public async aprovar(id: number): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paa/${id}/aprovar`, null)\r\n .toPromise();\r\n }\r\n\r\n public async rejeitar(id: number, justificativa: string): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paa/${id}/rejeitar`, { justificativa })\r\n .toPromise();\r\n }\r\n\r\n public async enviarHomologacao(id: number): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paa/${id}/enviar-homologacao`, null)\r\n .toPromise();\r\n }\r\n\r\n public async verificarNivelAprovacao(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}/verificar-nivel-aprovacao`)\r\n .toPromise();\r\n }\r\n\r\n public async homologar(id: number, entranharDocumento: IEntranharDocumentoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paa/${id}/homologar`, entranharDocumento)\r\n .toPromise();\r\n }\r\n\r\n\r\n public obterPainelDistribuicaoColunas(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}/painel-distribuicao/colunas`)\r\n .toPromise();\r\n }\r\n\r\n public async AlterarSatusDistribuicaoColunas(item: IPaaDistribuicaoColunasModel[]): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/paa/painel-distribuicao/distribuicao-colunas`, item)\r\n .toPromise();\r\n }\r\n \r\n public async obterAlocacoesEquipe(id: number): Promise> {\r\n const params = new HttpParams();\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}/equipes`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterEquipe(id: number): Promise> {\r\n const params = new HttpParams();\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}/obter-equipe`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterEquipesPorPaaId(id: number): Promise> {\r\n const params = new HttpParams();\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}/obter-equipes`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterGrafico(id: number): Promise> {\r\n const params = new HttpParams();\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}/obter-grafico-equipe`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async validarAlocacaoEquipe(data: IPaaEquipeModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/paa/validar-alocacao-equipe`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizarAlocacaoEquipe(data: IPaaEquipeModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paa/atualizar-alocacao-equipe`, data)\r\n .toPromise();\r\n }\r\n\r\n public obterDispensasPeriodo(dataInicio: string, dataFim: string): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('dataInicio', dataInicio);\r\n params = params.append('dataFim', dataFim);\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/dispensas-periodo/`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async imprimir(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}/imprimir`, {})\r\n .toPromise();\r\n }\r\n\r\n public async VerificaDataAlocacao(dataReferencia: string, isDataInicial: boolean, idTipoAuditoria:number): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('dataReferencia', dataReferencia);\r\n params = params.append('isDataInicial', isDataInicial.toString());\r\n params = params.append('idTipoAuditoria', idTipoAuditoria.toString());\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/validaDataAlocacao`, {params})\r\n .toPromise();\r\n }\r\n\r\n \r\n public async adicionarDistribuicao(item: IPaaDistribuicaoModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/paa/painel-distribuicao/adicionar`, item)\r\n .toPromise();\r\n }\r\n\r\n public async buscarInformacoesBasicas(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}/obterInformacoesBasicas`)\r\n .toPromise();\r\n }\r\n\r\n public async atualizarCapacidadeTrabalho(id: number, item: IPaaCoordenacaoCapacidadeModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/paa/${id}/capacidade-trabalho`, item)\r\n .toPromise();\r\n }\r\n public obterPainelDistribuicao(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}/painel-distribuicao`)\r\n .toPromise();\r\n }\r\n\r\n public async obterCapacidadeTrabalhoPorIdAndAno(id: number, ano: number): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('ano', ano.toString());\r\n \r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}/capacidade-trabalho`, { params })\r\n .toPromise();\r\n } \r\n\r\n public obterHistoricoDistribuicao(id: number, unidadeGestoraId: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paaAbaDistribuicao/${id}/unidade-gestora/${unidadeGestoraId}/historico-distribuicao`)\r\n .toPromise();\r\n }\r\n\r\n}\r\n","import { IPaaCoordenacaoCapacidadeModel } from 'src/app/models/paa-coordenacao-capacidade.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IPaaAbaCapacidadeModalCapacidade, IPaaAbaCapacidadeModel } from 'src/app/models/paa-aba-capacidade.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\n export class PaaAbaCapacidadeService extends BaseService{\r\n constructor(httpclient: HttpClient, locationStrategy: LocationStrategy){\r\n super(httpclient, locationStrategy);\r\n }\r\n\r\n public async atualizarCapacidadeTrabalho(id: number, item: IPaaCoordenacaoCapacidadeModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/paaAbaCapacidade/${id}/capacidade-trabalho`, item)\r\n .toPromise();\r\n }\r\n \r\n\r\n\r\n public async obter(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paaAbaCapacidade/${id}/capacidade-trabalho`)\r\n .toPromise();\r\n } \r\n\r\n public async obterDetalheCoordenacao(id: number, idCoordenacao: number, ano: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paaAbaCapacidade/${id}/detalha-coordenacao/${idCoordenacao}/${ano}`)\r\n .toPromise();\r\n } \r\n }","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base.service';\r\nimport { IBaseModel } from '../../models/base.model';\r\nimport { IPaaDadosBasicosModel } from '../../models/paa-dados-basicos.model';\r\nimport { IPaaModel } from '../../models/paa.model';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { LocationStrategy } from '@angular/common';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\nexport class PaaAbaDadosBasicosService extends BaseService{\r\n \r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async obterDadosBasicos(id: number): Promise>{\r\n \r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paaAbaDadosBasicos/${id}/dadosbasicos`)\r\n .toPromise();\r\n }\r\n\r\n public gerarNova(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/novo`)\r\n .toPromise();\r\n }\r\n\r\n public async atualizarDadosBasicos(data: IPaaDadosBasicosModel): Promise>{\r\n \r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paaAbaDadosBasicos`, data)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IPaaDadosBasicosModel): Promise> {\r\n \r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/paaAbaDadosBasicos`, data)\r\n .toPromise();\r\n }\r\n}\r\n","import { IPaaCoordenacaoCapacidadeModel } from 'src/app/models/paa-coordenacao-capacidade.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base.service';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { IPaaDistribuicaoImprimirModel } from 'src/app/models/paa-distribuicao-imprimir.model';\r\nimport { IPaaDistribuicaoModel } from 'src/app/models/paa-distribuicao.model';\r\nimport { IPaaDistribuicaoColunasModel } from 'src/app/models/paa-distribuicao-colunas.model';\r\nimport { IPaaModel } from 'src/app/models/paa.model';\r\nimport { IPaaDistribuicaoHistoricoModel } from 'src/app/models/paa-distribuicao.historico.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\n export class PaaAbaDistribuicaoService extends BaseService{\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy){\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obterPainelDistribuicaoImprimir(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}/painel-distribuicao/imprimir`)\r\n .toPromise();\r\n }\r\n \r\n public obterPainelDistribuicao(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paaAbaDistribuicao/${id}/painel-distribuicao`)\r\n .toPromise();\r\n }\r\n \r\n public obterPainelDistribuicaoColunas(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paa/${id}/painel-distribuicao/colunas`)\r\n .toPromise();\r\n }\r\n \r\n public async AlterarSatusDistribuicaoColunas(item: IPaaDistribuicaoColunasModel[]): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/paa/painel-distribuicao/distribuicao-colunas`, item)\r\n .toPromise();\r\n }\r\n \r\n public async AlterarStatusDistribuicao(id: number, ativo: boolean, justificativa: string): Promise> {\r\n const dados = {\r\n ativo,\r\n justificativa\r\n };\r\n \r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paaAbaDistribuicao/${id}/painel-distribuicao/status`, dados)\r\n .toPromise();\r\n }\r\n \r\n public async AlterartipoAuditoriaDistribuicao(id: number, tipoAuditoriaId: number, justificativa: string): Promise> {\r\n const dados = {\r\n justificativa\r\n };\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paaAbaDistribuicao/${id}/painel-distribuicao/tipo-auditoria/${tipoAuditoriaId}`, dados)\r\n .toPromise();\r\n }\r\n \r\n public async AlterarTipoEnfaseDistribuicao(id: number, tipoEnfaseId: number, justificativaEnfase: string): Promise>{\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paaAbaDistribuicao/${id}/painel-distribuicao/tipo-enfase/${tipoEnfaseId}&${justificativaEnfase}`, null)\r\n .toPromise();\r\n }\r\n \r\n public async ValidarTipoAuditoria(id: number, tipoAuditoriaId: number): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/paaAbaDistribuicao/${id}/painel-distribuicao/validar-tipo-auditoria/${tipoAuditoriaId}`, null)\r\n .toPromise();\r\n }\r\n \r\n \r\n\r\n public obterHistoricoDistribuicao(id: number, unidadeGestoraId: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paaAbaDistribuicao/${id}/unidade-gestora/${unidadeGestoraId}/historico-distribuicao`)\r\n .toPromise();\r\n }\r\n\r\n public obterHistoricoAuditoria(id: number, unidadeGestoraId: number, auditoriaObrigatoria: boolean): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paaAbaDistribuicao/${id}/unidade-gestora/${unidadeGestoraId}/historico-distribuicao/auditoriaObrigatoria/${auditoriaObrigatoria}`)\r\n .toPromise();\r\n }\r\n }","import { Injectable } from '@angular/core';\r\nimport { BaseService } from '../base.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { IPaaAbaIndicesCriteriosModel } from '../../models/paa-aba-indices-criterios.model';\r\nimport { IBaseModel } from '../../models/base.model';\r\nimport { IPaaCriterioRespostaModel } from '../../models/paa-criterio-resposta.model';\r\nimport { IPaaIndiceCriterioModel } from '../../models/paa-indice-criterio.model';\r\nimport { IPaaCriterioQuestionarioModel } from '../../models/paa-criterio-questionario.model';\r\nimport { IEnviarQuestionarioModel } from '../../models/enviar-questionario.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\nexport class PaaAbaIndicesCriteriosService extends BaseService{\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy){\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(id: number): Promise> {\r\n \r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paaabaindicescriterios/${id}/obterPorId`)\r\n .toPromise();\r\n }\r\n\r\n public obterCriterioResposta(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/paaabaindicescriterios/indices-criterios/respostas/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async adicionarIndiceCriterio(item: IPaaIndiceCriterioModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/paaabaindicescriterios/indices-criterios/adicionar`, item)\r\n .toPromise();\r\n }\r\n\r\n public async removerIndiceCriterio(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/paaabaindicescriterios/indices-criterios/remover/${id}`)\r\n .toPromise();\r\n }\r\n \r\n public async removerIndiceCriterios(paaId: number, indicadorId: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/paaabaindicescriterios/indices-criterios/remover/paa/${paaId}/indicador/${indicadorId}`)\r\n .toPromise();\r\n }\r\n\r\n public async enviarQuestionariosPaa(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/paaabaindicescriterios/${id}/enviar-questionario`, {})\r\n .toPromise();\r\n }\r\n\r\n public async enviarRespostasCriterio(id: number, dados: IPaaCriterioRespostaModel[]): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/paaabaindicescriterios/${id}/responder-criterio`, dados)\r\n .toPromise();\r\n }\r\n\r\n public async obterVisualizacaoQuestionario(\r\n id: number\r\n ): Promise> {\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/paaabaindicescriterios/${id}/visualizar-questionario`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async questionariosRespondidos(\r\n id: number\r\n ): Promise> {\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/paaabaindicescriterios/${id}/questionario-respondido`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async cancelarEnvioQuestionario(\r\n id: number\r\n ): Promise> {\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/paaabaindicescriterios/${id}/cancelar-questionario`\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async enviarQuestionarios(id: number, model: IEnviarQuestionarioModel): Promise> {\r\n return this.httpClient\r\n .post>(\r\n `${this.apiBaseUrl}/paaabaindicescriterios/${id}/enviar-questionario`,\r\n model\r\n )\r\n .toPromise();\r\n }\r\n}\r\n\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IParametrizacaoDocumentoEdocsModel } from '../models/parametrizacao-documento-edocs.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ParametrizacaoDocumentoEdocsService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/parametrizacaodocumentoedocs`)\r\n .toPromise();\r\n }\r\n\r\n public async atualizarTodos(data: IParametrizacaoDocumentoEdocsModel[]): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/parametrizacaodocumentoedocs`, data)\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IParametrizacaoModel } from '../models/parametrizacao.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ParametrizacaoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/parametrizacao`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: string): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/parametrizacao/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IParametrizacaoModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/parametrizacao`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IParametrizacaoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/parametrizacao/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizaTodos(data: IParametrizacaoModel[]): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/parametrizacao`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: string): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/parametrizacao/${id}`)\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { filterBy } from '../core/helpers/filterby';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ICargaCriterioPeaModel } from '../models/carga-criterio-pea.model';\r\nimport { IAutuacaoModel } from '../models/edocs/autuacao.model';\r\nimport { IEnviarQuestionarioModel } from '../models/enviar-questionario.model';\r\nimport { FiltroModel } from '../models/filtro.model';\r\nimport { IImprimirPeaModel } from '../models/imprimir-pea.model';\r\nimport { IPaaModel } from '../models/paa.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { IPaineisDistribuicaoModel } from '../models/paineis-distribuicao.model';\r\nimport { IPeaCoordenacaoCapacidadeModel } from '../models/pea-coordenacao-capacidade.model';\r\nimport { IPeaCriterioQuestionarioModel } from '../models/pea-criterio-questionario.model';\r\nimport { IPeaCriterioRespostaModel } from '../models/pea-criterio-resposta.model';\r\nimport { IPeaRankingPrioridadeModel } from '../models/pea-ranking-prioridade.model';\r\nimport { IPeaModel } from '../models/pea.model';\r\nimport { IPendenciasRankingModel } from '../models/pendencias-ranking.model';\r\nimport { IQuestionarioModel } from '../models/questionario.model';\r\nimport { IResponsavelUnidadeGestoraModel } from '../models/responsavel-unidade-gestora.model';\r\nimport { IValidacaoNivelModel } from '../models/validaca-nivel-aprovacao.model';\r\nimport { BaseService } from './base.service';\r\nimport { IPeaDadosBasicosModel } from '../models/pea-dados-basicos.model';\r\nimport { param } from 'jquery';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PeaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(\r\n pesquisa: string,\r\n ativo: boolean,\r\n simplificado = false,\r\n filtro?: FiltroModel\r\n ): Promise>> {\r\n let params = new HttpParams();\r\n if (ativo !== undefined) {\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n }\r\n\r\n if(filtro && Object.keys(filtro).length > 0) {\r\n return this.httpClient\r\n .get>>(filterBy(filtro, `${this.apiBaseUrl}/pea`), { params })\r\n .toPromise();\r\n }\r\n\r\n return this.httpClient\r\n .get>>(`${this.apiBaseUrl}/pea`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/pea/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async obterDadosBasicos(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/pea/${id}/dadosbasicos`)\r\n .toPromise();\r\n }\r\n\r\n\r\n public async imprimirPea(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/pea/${id}/imprimir-pea`)\r\n .toPromise();\r\n }\r\n\r\n public async imprimirPeaConsolidado(ids: string): Promise> {\r\n let params = new HttpParams();\r\n ids.split(',').map(_ => params = params.append('ids', _));\r\n \r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/pea/imprimir-pea-consolidado`, {params})\r\n .toPromise();\r\n }\r\n\r\n public async obterAnosPaa(id: number): Promise>> {\r\n return this.httpClient\r\n .get>>(\r\n `${this.apiBaseUrl}/pea/${id}/anos-disponiveis-paa`\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async obterCargaCriteriosPorId(\r\n id: number\r\n ): Promise> {\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/pea/${id}/carga-criterios`\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IPeaDadosBasicosModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/pea`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IPeaModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/pea/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizarDadosBasicos(data: IPeaDadosBasicosModel): Promise>{\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/pea/${data.id}/dadosBasicos`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/pea/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/pea/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/pea/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n\r\n public async enviarAprovacao(id: number, idPerfil: string): Promise> {\r\n return this.httpClient\r\n .post>(\r\n `${this.apiBaseUrl}/pea/${id}/enviar-aprovacao/${idPerfil}`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async enviarRespostasCriterio(\r\n id: number,\r\n dados: IPeaCriterioRespostaModel[]\r\n ): Promise> {\r\n return this.httpClient\r\n .post>(\r\n `${this.apiBaseUrl}/pea/${id}/responder-criterio`,\r\n dados\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async importarRespostas(\r\n id: number,\r\n fileData: string\r\n ): Promise> {\r\n return this.httpClient\r\n .post>(\r\n `${this.apiBaseUrl}/pea/${id}/importar-respostas`,\r\n { fileData }\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async obterCapacidadeTrabalhoPorId(\r\n id: number\r\n ): Promise> {\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/pea/${id}/capacidade-trabalho`\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async obterCapacidadeTrabalhoPorIdAndAno(\r\n id: number,\r\n ano: number\r\n ): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('ano', ano.toString());\r\n\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/pea/${id}/capacidade-trabalho`,\r\n { params }\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async obterPainelDistribuicaoPorPeaId(\r\n id: number\r\n ): Promise> {\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/pea/${id}/painel-distribuicao`\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async atualizarCapacidadeTrabalho(\r\n id: number,\r\n item: IPeaCoordenacaoCapacidadeModel\r\n ): Promise> {\r\n return this.httpClient\r\n .post>(\r\n `${this.apiBaseUrl}/pea/${id}/capacidade-trabalho`,\r\n item\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async enviarQuestionarios(id: number, model: IEnviarQuestionarioModel): Promise> {\r\n return this.httpClient\r\n .post>(\r\n `${this.apiBaseUrl}/pea/${id}/enviar-questionario`,\r\n model\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async obterQuestionarioPendente(\r\n pesquisa: string\r\n ): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/questionario/pea`,\r\n { params }\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async obterQuestionarioPorPeaIdeCriterioId(\r\n peaId: number,\r\n criterioId: number\r\n ): Promise> {\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/questionario/pea/${peaId}/criterio/${criterioId}`\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async salvarRespostasQuestionarioPorPeaId(\r\n id: number,\r\n data: IPeaCriterioQuestionarioModel[]\r\n ): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/questionario/pea/${id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async enviarRespostasQuestionarioPorPeaId(\r\n id: number,\r\n data: IPeaCriterioQuestionarioModel[]\r\n ): Promise> {\r\n return this.httpClient\r\n .post>(\r\n `${this.apiBaseUrl}/questionario/${id}/enviar`,\r\n data\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async aprovar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/pea/${id}/aprovar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async homologar(\r\n id: number,\r\n comentario: string\r\n ): Promise> {\r\n\r\n return this.httpClient\r\n .post>(\r\n `${this.apiBaseUrl}/pea/${id}/homologar/${comentario}`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async rejeitar(\r\n id: number,\r\n justificativa: string\r\n ): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/pea/${id}/rejeitar`, {\r\n justificativa,\r\n })\r\n .toPromise();\r\n }\r\n\r\n public async gerarPaa(\r\n id: number,\r\n data: IPaaModel\r\n ): Promise> {\r\n return this.httpClient\r\n .post>(\r\n `${this.apiBaseUrl}/pea/${id}/gerar-paa`,\r\n data\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async ObterResponsaveisUG(\r\n idUg: number\r\n ): Promise> {\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/questionario/pea/responsaveis-ug/${idUg}`\r\n )\r\n .toPromise();\r\n }\r\n\r\n public DelegarQuestionario(\r\n peaId: number,\r\n criterioId: number,\r\n idResponsavel: string,\r\n unidadeGestoraId: number\r\n ): Promise> {\r\n return this.httpClient\r\n .put>(\r\n `${this.apiBaseUrl}/questionario/pea/${peaId}/responsavel/${idResponsavel}/criterio/${criterioId}/ug/${unidadeGestoraId}`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async obterVisualizacaoQuestionario(\r\n id: number\r\n ): Promise> {\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/pea/${id}/visualizar-questionario`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async enviarQuestionarioCancelado(\r\n id: number\r\n ): Promise> {\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/pea/${id}/cancelar-questionario`\r\n )\r\n .toPromise();\r\n }\r\n\r\n public async questionariosRespondidos(\r\n id: number\r\n ): Promise> {\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/pea/${id}/questionario-respondido`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n\r\n public GerarRankingDistribuicao(\r\n peaId: number\r\n ): Promise> {\r\n return this.httpClient\r\n .put>(\r\n `${this.apiBaseUrl}/pearankingprioridade/ranking-distribuicao/${peaId}/peaId`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n\r\n public AtualizarFaixaClassificacao(data: IPeaModel): Promise>{\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/pea/${data.id}/atualizar-faixaclassificacao`, data)\r\n .toPromise();\r\n }\r\n\r\n public imprimir(id: number): Promise{\r\n return this.httpClient\r\n .get(`${this.apiBaseUrl}/pea/${id}/imprimir`)\r\n .toPromise();\r\n }\r\n\r\n public async verificarNivelAprovacao(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/pea/${id}/verificar-nivel-aprovacao`)\r\n .toPromise();\r\n }\r\n\r\n public async removerClassificacaoPersonalizada(id: number): Promise>{\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/pea/${id}/remover-classificacao-personalizada`, {})\r\n .toPromise();\r\n }\r\n\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { filterBy } from '../core/helpers/filterby';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IFiltroPendenciaModel } from '../models/filtro-pendencia.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { IPendenciaModel } from '../models/pendencia.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PendenciaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async obter(filtro: IFiltroPendenciaModel) {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', filtro.pesquisa || '');\r\n\r\n if (Object.keys(filtro).length > 0) {\r\n return this.httpClient\r\n .get>>(filterBy(filtro, `${this.apiBaseUrl}/pendencia`), { params })\r\n .toPromise();\r\n }\r\n }\r\n\r\n public async obterPendencias(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/pendencia/nao-resolvidas`)\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IPerguntaModel } from '../models/pergunta.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PerguntaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/pergunta`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/pergunta/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IPerguntaModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/pergunta`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IPerguntaModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/pergunta/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/pergunta/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/pergunta/${id}/inativar`, {})\r\n .toPromise();\r\n \r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/pergunta/${id}/excluir`, {})\r\n .toPromise();\r\n \r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IPeriodoExercicioModel } from '../models/periodo-exercicio.model';\r\nimport { BaseService } from './base.service';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PeriodoExercicioService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy );\r\n }\r\n\r\n public async obterPorResponsavelId(unidadeGestoraId: number, id: string): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/periodoexercicio/unidade-gestora/${unidadeGestoraId}/responsavel/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/periodoexercicio/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IPeriodoExercicioModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/periodoexercicio`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IPeriodoExercicioModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/periodoexercicio/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise>{\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/periodoexercicio/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise>{\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/periodoexercicio/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise>{\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/periodoexercicio/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IPeriodoModel } from '../models/periodo.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PeriodoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/periodo`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/periodo/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IPeriodoModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/periodo`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IPeriodoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/periodo/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/periodo/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/periodo/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/periodo/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\n\r\nimport { IPlanejamentoAuditoresSalvarModel, IPlanejamentoSubtipoAuditoriaSalvarModel, IPlanejamentoSubtipoExcluirModel, IPlanejamentoUGSubtipoSalvarModel } from '../models/planejamento-subtipo-auditoria.model';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IPlanejamentoModel } from '../models/planejamento.model';\r\nimport { IValidacaoNivelModel } from '../models/validaca-nivel-aprovacao.model';\r\nimport { BaseService } from './base.service';\r\nimport { IPlanejamentoEquipeModel } from '../models/planejamento-equipe.model';\r\nimport { IPlanejamentoImprimirModel } from '../models/planejamento-imprimir.model';\r\nimport { Subject } from 'rxjs';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { filterBy } from './auditoria.service';\r\nimport { IEntranharDocumentoModel } from '../models/edocs/entranhar-documento.model';\r\nimport { ISubtipoAuditoriaModel } from '../models/subtipo-auditoria.model';\r\n\r\ntype subjectOfArray = any | any[] | Subject;\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class PlanejamentoService extends BaseService {\r\n private _planejamentoSubTipoAuditoria: subjectOfArray = new Subject();\r\n\r\n public get planejamentoSubTipoAuditoria(): subjectOfArray {\r\n return this._planejamentoSubTipoAuditoria.asObservable() as Subject;\r\n }\r\n\r\n public set planejamentoSubTipoAuditoria(value: subjectOfArray ) {\r\n this._planejamentoSubTipoAuditoria.next(value);\r\n }\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa?: string, ativo?: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/planejamento`, { params })\r\n .toPromise();\r\n }\r\n\r\n public obterFiltrado(filtro: any): Promise>> {\r\n\r\n return this.httpClient\r\n .get>>(filterBy(filtro, `${this.apiBaseUrl}/planejamento`) )\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/planejamento/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async obterAbaMatrizPorIdImprimir(tipoTrabalho: number, id: number, imprimir: boolean=false): Promise> {\r\n var url = `${this.apiBaseUrl}/aba-matriz-planejamento/${tipoTrabalho}/tipoTrabalho/${id}/imprimir`;\r\n return this.httpClient\r\n .get>(url)\r\n .toPromise();\r\n }\r\n\r\n public async obterAbaMatrizPorId(tipoTrabalho: number, id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/aba-matriz-planejamento/${tipoTrabalho}/tipoTrabalho/${id}`)\r\n .toPromise().then(a => {\r\n this.planejamentoSubTipoAuditoria = a.dados as any;\r\n return a;\r\n });\r\n }\r\n\r\n public async imprimir(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/planejamento/${id}/imprimir-planejamento`)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IPlanejamentoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/planejamento/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async salvarSubtipoAuditoria(id: number, data: IPlanejamentoSubtipoAuditoriaSalvarModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/planejamento/${id}/salvar-subTipos`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluirSubtipoAuditoria(id: number, subtipoId: number, data: IPlanejamentoSubtipoExcluirModel): Promise> {\r\n return this.httpClient\r\n .patch>(`${this.apiBaseUrl}/planejamento/${id}/SubTipo/${subtipoId}/excluir`, data)\r\n .toPromise();\r\n }\r\n\r\n public async salvarUgSubtipo(id: number, data: IPlanejamentoUGSubtipoSalvarModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/planejamento/${id}/salvar-ugs-subTipo`, data)\r\n .toPromise();\r\n }\r\n\r\n public async salvarAlocarEquipe(id: number, data: IPlanejamentoAuditoresSalvarModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/planejamento/${id}/alocar-equipe`, data)\r\n .toPromise();\r\n }\r\n\r\n public async obterAlocarEquipe(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/planejamento/${id}/equipes`)\r\n .toPromise();\r\n }\r\n\r\n public async desvincularAlocarEquipe(id: number, auditorId: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/planejamento/${id}/equipe/${auditorId}/desvincular`)\r\n .toPromise();\r\n }\r\n\r\n public async desvincularUgSubtipo(id: number, subtipoId: number, ug: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/planejamento/${id}/ug/${ug}/subtipo/${subtipoId}/desvincular`)\r\n .toPromise();\r\n }\r\n\r\n public async enviarAprovacao(id: number): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/planejamento/${id}/enviar-aprovacao`, null)\r\n .toPromise();\r\n }\r\n\r\n public async homologar(id: number, entranharDocumento: IEntranharDocumentoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/planejamento/${id}/homologar`, entranharDocumento)\r\n .toPromise();\r\n }\r\n\r\n public async verificarNivelAprovacao(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/planejamento/${id}/verificar-nivel-aprovacao`)\r\n .toPromise();\r\n }\r\n\r\n\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IProcedimentoAuditoriaModel } from '../models/procedimento-auditoria.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ProcedimentoAuditoriaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/procedimentoAuditoria`, { params })\r\n .toPromise();\r\n }\r\n\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/procedimentoAuditoria/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IProcedimentoAuditoriaModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/procedimentoAuditoria`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IProcedimentoAuditoriaModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/procedimentoAuditoria/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/procedimentoAuditoria/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/procedimentoAuditoria/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/procedimentoAuditoria/${id}`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IQuestaoModel } from '../models/questao.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class QuestaoService extends BaseService {\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa?: string, ativo?: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient.get>(`${this.apiBaseUrl}/questao`, { params }).toPromise();\r\n }\r\n\r\n public obterPorTipoTrabalho(tipoTrabalho: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/questao/tipoTrabalho/${tipoTrabalho}`)\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number, tipoTrabalho: string): Promise> {\r\n if (tipoTrabalho === 'planejamento') {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/questao/${id}/planejamento`)\r\n .toPromise();\r\n } else if (tipoTrabalho === 'osa') {\r\n return this.httpClient.get>(`${this.apiBaseUrl}/questao/${id}/osa`).toPromise();\r\n } else {\r\n return this.httpClient.get>(`${this.apiBaseUrl}/questao/${id}`).toPromise();\r\n }\r\n }\r\n\r\n public async inserir(\r\n data: IQuestaoModel,\r\n tipoTrabalho: string,\r\n tipoTrabalhoId: number,\r\n subTipoAuditoriaId: number\r\n ): Promise> {\r\n if (tipoTrabalho === 'planejamento') {\r\n data.tipoTrabalhoId = tipoTrabalhoId;\r\n data.subTipoAuditoriaId = subTipoAuditoriaId;\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/questao/planejamento`, data)\r\n .toPromise();\r\n } else if (tipoTrabalho === 'osa') {\r\n data.tipoTrabalhoId = tipoTrabalhoId;\r\n return this.httpClient.post>(`${this.apiBaseUrl}/questao/osa`, data).toPromise();\r\n } else {\r\n return this.httpClient.post>(`${this.apiBaseUrl}/questao`, data).toPromise();\r\n }\r\n }\r\n\r\n public async atualizar(\r\n data: IQuestaoModel,\r\n tipoTrabalho: string,\r\n tipoTrabalhoId: number\r\n ): Promise> {\r\n if (tipoTrabalho === 'planejamento') {\r\n data.tipoTrabalhoId = tipoTrabalhoId;\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/questao/planejamento`, data)\r\n .toPromise();\r\n } else if (tipoTrabalho === 'osa') {\r\n data.tipoTrabalhoId = tipoTrabalhoId;\r\n return this.httpClient.post>(`${this.apiBaseUrl}/questao/osa`, data).toPromise();\r\n } else {\r\n return this.httpClient.post>(`${this.apiBaseUrl}/questao`, data).toPromise();\r\n }\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient.post>(`${this.apiBaseUrl}/questao/${id}/reativar`, {}).toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient.post>(`${this.apiBaseUrl}/questao/${id}/inativar`, {}).toPromise();\r\n }\r\n\r\n public async excluir(id: number, tipoTrabalho: string): Promise> {\r\n if (tipoTrabalho === 'planejamento') {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/questao/${id}/planejamento`, {})\r\n .toPromise();\r\n } else if (tipoTrabalho === 'osa') {\r\n return this.httpClient.delete>(`${this.apiBaseUrl}/questao/${id}/osa`, {}).toPromise();\r\n } else {\r\n return this.httpClient.delete>(`${this.apiBaseUrl}/questao/${id}`, {}).toPromise();\r\n }\r\n }\r\n\r\n public async vincularQuestaoConstatacao(questaoId: number, data: { constatacoes: number[] }, tipoTrabalho: string) {\r\n if (tipoTrabalho === 'planejamento') {\r\n return this.httpClient\r\n .post>(\r\n `${this.apiBaseUrl}/Questao/${questaoId}/questao-constatacao/salvar/planejamento`,\r\n data\r\n )\r\n .toPromise();\r\n } else if (tipoTrabalho === 'osa') {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/Questao/${questaoId}/questao-constatacao/salvar/osa`, data)\r\n .toPromise();\r\n } else {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/Questao/${questaoId}/questao-constatacao/salvar`, data)\r\n .toPromise();\r\n }\r\n }\r\n\r\n public async vincularQuestaoProcedimento(\r\n questaoId: number,\r\n data: { procedimentos: number[] },\r\n tipoTrabalho: string\r\n ) {\r\n if (tipoTrabalho === 'planejamento') {\r\n return this.httpClient\r\n .post>(\r\n `${this.apiBaseUrl}/Questao/${questaoId}/questao-procedimento/salvar/planejamento`,\r\n data\r\n )\r\n .toPromise();\r\n } else if (tipoTrabalho === 'osa') {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/Questao/${questaoId}/questao-procedimento/salvar/osa`, data)\r\n .toPromise();\r\n } else {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/Questao/${questaoId}/questao-procedimento/salvar`, data)\r\n .toPromise();\r\n }\r\n }\r\n\r\n public async desVincularQuestaoConstatacao(questaoId: number, constatcaoId: number, tipoTrabalho: string) {\r\n if (tipoTrabalho === 'planejamento') {\r\n return this.httpClient\r\n .delete>(\r\n `${this.apiBaseUrl}/Questao/${questaoId}/constatacao/${constatcaoId}/excluir/planejamento`\r\n )\r\n .toPromise();\r\n } else if (tipoTrabalho === 'osa') {\r\n return this.httpClient\r\n .delete>(\r\n `${this.apiBaseUrl}/Questao/${questaoId}/constatacao/${constatcaoId}/excluir/osa`\r\n )\r\n .toPromise();\r\n } else {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/Questao/${questaoId}/constatacao/${constatcaoId}/excluir`)\r\n .toPromise();\r\n }\r\n }\r\n\r\n public async desVincularQuestaoProcedimento(questaoId: number, procedimentoId: number, tipoTrabalho: string) {\r\n if (tipoTrabalho === 'planejamento') {\r\n return this.httpClient\r\n .delete>(\r\n `${this.apiBaseUrl}/Questao/${questaoId}/procedimento/${procedimentoId}/excluir/planejamento`\r\n )\r\n .toPromise();\r\n } else if (tipoTrabalho === 'osa') {\r\n return this.httpClient\r\n .delete>(\r\n `${this.apiBaseUrl}/Questao/${questaoId}/procedimento/${procedimentoId}/excluir/osa`\r\n )\r\n .toPromise();\r\n } else {\r\n return this.httpClient\r\n .delete>(\r\n `${this.apiBaseUrl}/Questao/${questaoId}/procedimento/${procedimentoId}/excluir`\r\n )\r\n .toPromise();\r\n }\r\n }\r\n\r\n public async aprovar(questaoId: number): Promise> {\r\n return this.httpClient\r\n .patch>(`${this.apiBaseUrl}/questao/${questaoId}/avaliar`, { avaliar: 1 })\r\n .toPromise();\r\n }\r\n\r\n public async reprovar(questaoId: number): Promise> {\r\n return this.httpClient\r\n .patch>(`${this.apiBaseUrl}/questao/${questaoId}/avaliar`, { avaliar: 0 })\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ICriterioQuestionarioModel } from '../models/criterio-questionario.model';\r\nimport { IQuestionarioModel } from '../models/questionario.model';\r\nimport { BaseService } from './base.service';\r\nimport { IQuestionarioPaaModel } from '../models/questionario.paa.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class QuestionarioService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async enviarQuestionariosPea(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/pea/${id}/enviar-questionario`, {})\r\n .toPromise();\r\n }\r\n\r\n public async obterQuestionariosPendentePea(pesquisa: string): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/questionario/pea`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterQuestionarioPendentePorPeaId(id: number, criterioId: number, unidadeGestoraId: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/questionario/pea/${id}/criterio/${criterioId}/ug/${unidadeGestoraId}`)\r\n .toPromise();\r\n }\r\n\r\n public async salvarRespostasQuestionarioPorPeaId(id: number, data: ICriterioQuestionarioModel[]): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/questionario/pea/${id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async enviarRespostasQuestionarioPorPeaId(id: number, data: ICriterioQuestionarioModel[]): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/questionario/pea/${id}/enviar`, data)\r\n .toPromise();\r\n }\r\n\r\n public async obterQuestionariosPendentePaa(pesquisa: string): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/questionario/paa`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterQuestionarioPendentePorPaaId(id: number, idCriterio: number, unidadeGestoraId: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/questionario/paa/${id}/criterio/${idCriterio}/ug/${unidadeGestoraId}`)\r\n .toPromise();\r\n }\r\n\r\n public async salvarRespostasQuestionarioPorPaaId(id: number, data: ICriterioQuestionarioModel[]): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/questionario/paa/${id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async enviarRespostasQuestionarioPorPaaId(id: number, data: ICriterioQuestionarioModel[]): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/questionario/paa/${id}/enviar`, data)\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { FiltroModel } from '../models/filtro.model';\r\nimport { BaseService } from './base.service';\r\nimport { filterBy } from '../core/helpers/filterby';\r\nimport { IEntendendoEntidadeListaModel } from '../models/entendendo-entidade-lista.model';\r\nimport { FiltroQuestionarioUG } from '../models/filtro-questionario-ug.model';\r\nimport { AvaliacaoRequest, IImprimirQuestionarioRespostaUGModel, IListaQuestionarioRespostaUGModel, IQuestionarioUGModel, IVisualizarQuestionarioRespostaUGModel } from '../models/questionario-ug.model';\r\nimport { IArquivoModel } from '../models/arquivo.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class QuestionarioUGRespostaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async ObterRespostaQuestionario(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/QuestionarioUGResposta/resposta/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async salvarRespostasQuestionarioPorId(id: number, data: IListaQuestionarioRespostaUGModel[]): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUGResposta/salvar/${id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async enviarRespostasQuestionarioPorId(id: number, data: IListaQuestionarioRespostaUGModel[]): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUGResposta/enviar/${id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async anexarArquivo(idItemQuestionarioUG: number, anexo : IArquivoModel): Promise> {\r\n const formData: FormData = new FormData();\r\n\r\n formData.append('id', anexo.id.toString());\r\n formData.append('nomeArquivo', anexo.nomeArquivo);\r\n formData.append('entidadeArquivo', anexo.entidadeArquivo.toString());\r\n formData.append('arquivo', anexo.arquivo);\r\n\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUGResposta/anexarArquivo/${idItemQuestionarioUG}`,formData, {})\r\n .toPromise();\r\n }\r\n\r\n public DelegarQuestionario(\r\n questionarioItemsId: string,\r\n idResponsavel: string\r\n ): Promise> {\r\n return this.httpClient\r\n .put>(\r\n `${this.apiBaseUrl}/QuestionarioUGResposta/questionario/${questionarioItemsId}/responsavel/${idResponsavel}`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n\r\n public FinalizarPerguntaQuestionario(\r\n questionarioItemsId: string\r\n ): Promise> {\r\n return this.httpClient\r\n .put>(\r\n `${this.apiBaseUrl}/QuestionarioUGResposta/finalizarperguntaquestionario/${questionarioItemsId}`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n\r\n public EnviarReplicaQuestionario(\r\n questionarioItemsId: string,\r\n replica: string,\r\n tiporeplica: number\r\n ): Promise> {\r\n return this.httpClient\r\n .put>(\r\n `${this.apiBaseUrl}/QuestionarioUGResposta/responder-replica/${questionarioItemsId}/replica/${replica}/tiporeplica/${tiporeplica}`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n\r\n fazerAvaliacaoOuReplica(\r\n questionarioItemsId: string,\r\n avaliacaoDto: AvaliacaoRequest\r\n ): Promise> {\r\n return this.httpClient.put>(\r\n `${this.apiBaseUrl}/QuestionarioUGResposta/avaliacao/${questionarioItemsId}`,\r\n avaliacaoDto\r\n ).toPromise();\r\n }\r\n\r\n enviarParaReplica(\r\n questionarioId: number\r\n ): Promise> {\r\n return this.httpClient.put>(\r\n `${this.apiBaseUrl}/QuestionarioUGResposta/enviar-para-replica/${questionarioId}`, null\r\n ).toPromise();\r\n }\r\n\r\n FinalizarQuestionarioAvaliacao(\r\n questionarioId: number\r\n ): Promise> {\r\n return this.httpClient.put>(\r\n `${this.apiBaseUrl}/QuestionarioUGResposta/finalizar-questionario-avaliacao/${questionarioId}`, null\r\n ).toPromise();\r\n }\r\n\r\n\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { BaseService } from './base.service';\r\nimport { filterBy } from '../core/helpers/filterby';\r\nimport { IQuestionarioUGListaModel } from '../models/questionario-ug-lista.model';\r\nimport { FiltroQuestionarioUG } from '../models/filtro-questionario-ug.model';\r\nimport { IImprimirQuestionarioRespostaUGModel, IListaQuestionarioRespostaUGModel, IQuestionarioUGModel, IVisualizarQuestionarioRespostaUGModel } from '../models/questionario-ug.model';\r\nimport { IArquivoModel } from '../models/arquivo.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n })\r\n\r\nexport class QuestionarioUGService extends BaseService{\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro: FiltroQuestionarioUG): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/QuestionarioUG`))\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/QuestionarioUG/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(id: number, idUG: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${id}/${idUG}/inserir`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inserirQuestionarioAPartirDoUltimo(idUG: number, idTipoRelatorio: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${idUG}/${idTipoRelatorio}/inserirCopia`, {})\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IQuestionarioUGModel): Promise>{\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/QuestionarioUG`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/QuestionarioUG/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n\r\n public async solicitarPreenchimentoQuestionario(id: number, qtdeDiasPrazo: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${id}/${qtdeDiasPrazo}/solicitarPreenchimento`, {})\r\n .toPromise();\r\n }\r\n \r\n public async enviarArquivo(idUG: number, idTipoQuestionario: number, anexo : IArquivoModel): Promise> {\r\n const formData: FormData = new FormData();\r\n \r\n formData.append('id', anexo.id.toString());\r\n formData.append('nomeArquivo', anexo.nomeArquivo);\r\n formData.append('entidadeArquivo', anexo.entidadeArquivo.toString());\r\n formData.append('arquivo', anexo.arquivo);\r\n \r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${idUG}/${idTipoQuestionario}/enviarArquivo`,formData, {})\r\n .toPromise();\r\n }\r\n\r\n public async Avocar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${id}/avocar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async Avaliar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${id}/avaliar`, {})\r\n .toPromise();\r\n }\r\n \r\n public async DownloadArquivo(idUG: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${idUG}/obterArquivo`, {})\r\n .toPromise();\r\n }\r\n\r\n public async DownloadArquivoPorTipo(idUG: number, idTipoQuestionario: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${idUG}/obterArquivoPorTipo/${idTipoQuestionario}`, {})\r\n .toPromise();\r\n }\r\n\r\n public async DownloadArquivoPorIdQuestionario(idQuestionario: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${idQuestionario}/download-arquivo`, {})\r\n .toPromise();\r\n }\r\n \r\n public ObterQuestionarioPendente(filtro: FiltroQuestionarioUG): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/QuestionarioUG/pre-planejamento`))\r\n .toPromise();\r\n }\r\n \r\n public async VisualizarRespostaQuestionario(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/QuestionarioUG/visualizar/${id}`)\r\n .toPromise();\r\n }\r\n \r\n public async ImprimirRespostaQuestionario(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/QuestionarioUG/imprimir/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async encerrarQuestionarioImportacaoArquivo(idUG: number, idTipoQuestionario: number, idMaturidade: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/QuestionarioUG/${idUG}/${idTipoQuestionario}/${idMaturidade}/encerrar-avaliacao-arquivo-importado`,null, {})\r\n .toPromise();\r\n }\r\n}","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ICriterioQuestionarioModel } from '../models/criterio-questionario.model';\r\nimport { IPaaRankingPrioridadeModel } from '../models/paa-ranking-prioridade.model';\r\nimport { IPeaRankingPrioridadeModel } from '../models/pea-ranking-prioridade.model';\r\nimport { IPendenciasRankingModel } from '../models/pendencias-ranking.model';\r\nimport { IQuestionarioModel } from '../models/questionario.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RankingDistribuicaoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obterRankingDistribuicao(\r\n id: number,\r\n indicadorId: number,\r\n tipoDocumento: 1 | 2\r\n ): Promise> {\r\n let url = '';\r\n if (tipoDocumento == 1) {\r\n url = `${this.apiBaseUrl}/pearankingprioridade/ranking-distribuicao/${id}/peaId`;\r\n }\r\n else if (tipoDocumento == 2) {\r\n url = `${this.apiBaseUrl}/paarankingprioridade/ranking-distribuicao/paa/${id}/indicador/${indicadorId}`;\r\n }\r\n else\r\n return;\r\n\r\n return this.httpClient\r\n .get>(\r\n `${url}`\r\n )\r\n .toPromise();\r\n }\r\n\r\n public obterRankingDistribuicaoSimplificado(\r\n id: number,\r\n indicadorId: number,\r\n tipoDocumento: 1 | 2\r\n ): Promise> {\r\n let url = '';\r\n if (tipoDocumento == 1) {\r\n url = `${this.apiBaseUrl}/pearankingprioridade/ranking-distribuicao/${id}/peaId`;\r\n }\r\n else if (tipoDocumento == 2) {\r\n url = `${this.apiBaseUrl}/paarankingprioridade/ranking-distribuicao-simplificado/paa/${id}/indicador/${indicadorId}`;\r\n }\r\n else\r\n return;\r\n\r\n return this.httpClient\r\n .get>(\r\n `${url}`\r\n )\r\n .toPromise();\r\n }\r\n\r\n public gerarRankingDistribuicao(\r\n id: number,\r\n tipoDocumento: 1 | 2\r\n ): Promise> {\r\n let url = '';\r\n if (tipoDocumento == 1) {\r\n url = `${this.apiBaseUrl}/pearankingprioridade/ranking-distribuicao/${id}/peaId`;\r\n }\r\n else if (tipoDocumento == 2) {\r\n url = `${this.apiBaseUrl}/paarankingprioridade/ranking-distribuicao/paa/${id}`;\r\n }\r\n else\r\n return;\r\n\r\n return this.httpClient\r\n .put>(\r\n `${url}`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IRecomendacaoModel } from '../models/recomendacao.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RecomendacaoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/recomendacao`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/recomendacao/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IRecomendacaoModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/recomendacao`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IRecomendacaoModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/recomendacao/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/recomendacao/${id}`, {})\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/recomendacao/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/recomendacao/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IAvaliacaoRelatoriaModel } from '../models/avaliacao-relatoria-model';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IRelatoriaCapituloModel } from '../models/relatoria-capitulo.model';\r\nimport { BaseService } from './base.service';\r\nimport { RelatoriaService } from './relatoria.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RelatoriaCapituloService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, private relatoriaService: RelatoriaService, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/relatoriascapitulos/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(idTipodeTrabalho: number, idItem: number, tipoTrabalho: number): Promise> {\r\n return this.httpClient\r\n .patch>(`${this.apiBaseUrl}/relatoriascapitulos/${idItem}/tipo-trabalho/${idTipodeTrabalho}/excluir`, {})\r\n .toPromise().then(res => {\r\n this.relatoriaService.obterPorTipoTrabalho(idTipodeTrabalho, tipoTrabalho);\r\n return res;\r\n });\r\n }\r\n\r\n public async reativar(idTipodeTrabalho: number, idItem: number, tipoTrabalho: number): Promise> {\r\n return this.httpClient\r\n .patch>(`${this.apiBaseUrl}/relatoriascapitulos/${idItem}/tipo-trabalho/${idTipodeTrabalho}/reativar`, {})\r\n .toPromise().then(res => {\r\n this.relatoriaService.obterPorTipoTrabalho(idTipodeTrabalho, tipoTrabalho);\r\n return res;\r\n });\r\n }\r\n\r\n public async avaliarExclusao(id: number, situacao: IAvaliacaoRelatoriaModel, tipoTrabalho: number, tipoTrabalhoId: number): Promise> {\r\n return this.httpClient\r\n .patch>(`${this.apiBaseUrl}/relatoriascapitulos/${id}/avaliar-exclusao/`, situacao)\r\n .toPromise().then(res => {\r\n this.relatoriaService.obterPorTipoTrabalho(tipoTrabalhoId, tipoTrabalho);\r\n return res;\r\n });\r\n }\r\n\r\n public async salvar(relatoriaDados: IRelatoriaCapituloModel, tipoTrabalho: number, id?: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/relatoriascapitulos/salvar`, relatoriaDados)\r\n .toPromise().then(res => {\r\n if (id) { this.relatoriaService.obterPorTipoTrabalho(id, tipoTrabalho); }\r\n return res;\r\n });\r\n }\r\n}\r\n\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IModeloRelatorioModel } from '../models/modelo-relatorio.model';\r\nimport { IRelatoriaModel } from '../models/relatoria.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RelatoriaService extends BaseService {\r\n private relatoriaSource = new BehaviorSubject('');\r\n public reltoriaCurrent = this.relatoriaSource.asObservable();\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy); \r\n }\r\n\r\n public async excluirRelatoria(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/relatorias/${id}/excluir`)\r\n .toPromise().then(res => {\r\n if(res.sucesso) this.relatoriaSource.next('');\r\n return res;\r\n });\r\n }\r\n\r\n public async gerar(relatoriaModel: (IRelatoriaModel | IModeloRelatorioModel)): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/relatorias/gerar-relatoria`, relatoriaModel )\r\n .toPromise();\r\n }\r\n\r\n public async obterPorTipoTrabalho(tipoTrabalhoId: number, tipoTrabalho: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/relatorias/${tipoTrabalhoId}/tipo-trabalho/${tipoTrabalho}`, {})\r\n .toPromise().then(res => {\r\n this.relatoriaSource.next(res.dados);\r\n return res;\r\n });\r\n } \r\n\r\n public async habilitarGerar(idTrabalho: number, tipoTrabalho: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/relatorias/habilitar-gerar/${idTrabalho}/${tipoTrabalho}`, {})\r\n .toPromise();\r\n } \r\n \r\n}\r\n\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IImprimirResponsavelUnidadeGestoraPaiModel } from '../models/imprimir-responsavel-unidade-gestora.model';\r\nimport { IResponsavelModel } from '../models/responsaveis.model';\r\nimport { BaseService } from './base.service';\r\nimport { IListaResponsavelModel } from '../models/lista-responsaveis.model';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ResponsaveisService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(unidadeGestoraId: number, pesquisa: string,naturezaResponsabilidade: string,tipoAgente: string, ativo: boolean, dataInicio: Date = null, dataFim: Date = null, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (naturezaResponsabilidade !== undefined) {\r\n params = params.append('naturezaResponsabilidade', naturezaResponsabilidade.toString());\r\n }\r\n\r\n if (tipoAgente !== undefined) {\r\n params = params.append('tipoAgente', tipoAgente.toString());\r\n }\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (dataInicio) {\r\n params = params.append('dataInicio', dataInicio.toDateString());\r\n }\r\n\r\n if (dataFim) {\r\n params = params.append('dataFim', dataFim.toDateString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/responsavel/unidades-gestora/${unidadeGestoraId}`, { params })\r\n .toPromise();\r\n }\r\n\r\n public obterListaResponsaveis(unidadeGestoraId: number, pesquisa: string,naturezaResponsabilidade: string,tipoAgente: string, ativo: boolean, dataInicio: Date = null, dataFim: Date = null, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (naturezaResponsabilidade !== undefined) {\r\n params = params.append('naturezaResponsabilidade', naturezaResponsabilidade.toString());\r\n }\r\n\r\n if (tipoAgente !== undefined) {\r\n params = params.append('tipoAgente', tipoAgente.toString());\r\n }\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (dataInicio) {\r\n params = params.append('dataInicio', dataInicio.toDateString());\r\n }\r\n\r\n if (dataFim) {\r\n params = params.append('dataFim', dataFim.toDateString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/responsavel/lista-responsaveis/${unidadeGestoraId}`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async ObterAgentePorCpf(unidadeGestoraId: number, cpf: string): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/responsavel/unidade-gestora/${unidadeGestoraId}/cpf/${cpf}`)\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/responsavel/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async obterPorResponsavelId(unidadeGestoraId: number, responsavelId: string): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/responsavel/${responsavelId}/unidade-gestora/${unidadeGestoraId}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IResponsavelModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/responsavel`, data)\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/responsavel/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/responsavel/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IResponsavelModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/responsavel/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(unidadeGestoraId: number, id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/responsavel/${id}/unidades-gestora/${unidadeGestoraId}/excluir`, {})\r\n .toPromise (); \r\n }\r\n\r\n public imprimirResponsaveisUg(ids: number[], pesquisa: string, ativo: boolean, dataInicio: Date = null, dataFim: Date = null): Promise> {\r\n let params = new HttpParams();\r\n\r\n ids.forEach(id => { if (id) { params = params.append('ids', id.toString() || ''); } });\r\n\r\n params = params.append('pesquisa', pesquisa || '');\r\n \r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (dataInicio) {\r\n params = params.append('dataInicio', dataInicio.toDateString());\r\n }\r\n\r\n if (dataFim) {\r\n params = params.append('dataFim', dataFim.toDateString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/responsavel/imprimir-responsaveis-por-ugs`, { params })\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { IRiscosChavesModel, IRiscosChavesProcessoItemModel } from '../models/riscos-chaves.model';\r\nimport { FiltroModel } from '../models/filtro.model';\r\nimport { BaseService } from './base.service';\r\nimport { filterBy } from '../core/helpers/filterby';\r\nimport { IRiscosChavesListaModel } from '../models/riscos-chaves-lista.model';\r\nimport { FiltroQuestionarioUG } from '../models/filtro-questionario-ug.model';\r\nimport { IImprimirQuestionarioRespostaUGModel, IListaQuestionarioRespostaUGModel, IQuestionarioUGModel, IVisualizarQuestionarioRespostaUGModel } from '../models/questionario-ug.model';\r\nimport { IArquivoModel } from '../models/arquivo.model';\r\nimport { FiltroRiscosChavesModel } from \"../models/filtro-riscos-chaves.model\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RiscosChavesServices extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro: FiltroRiscosChavesModel): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/RiscosChaves`))\r\n .toPromise();\r\n }\r\n public async solicitarPreenchimentoFormulario(id: number, qtdeDiasPrazo: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/RiscosChaves/${id}/${qtdeDiasPrazo}/solicitarPreenchimento`, {})\r\n .toPromise();\r\n }\r\n\r\n public async Avocar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/RiscosChaves/${id}/avocar`, {})\r\n .toPromise();\r\n }\r\n\r\n public obterItensProcesso(riscoChaveId: number, processoId: number):\r\n Promise> {\r\n const url = `${this.apiBaseUrl}/riscosChaves/${riscoChaveId}/${processoId}`;\r\n return this.httpClient\r\n .get>(url)\r\n\r\n .toPromise();\r\n \r\n }\r\n public async obterPorId(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/RiscosChaves/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(\r\n data: IRiscosChavesModel\r\n ): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/riscosChaves`, data)\r\n .toPromise();\r\n }\r\n\r\n public async inserirProcessoItem(\r\n data: IRiscosChavesProcessoItemModel\r\n ): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/riscosChaves/InserirProcessoItem`, data)\r\n .toPromise();\r\n }\r\n\r\n\r\n public async atualizar(data: IRiscosChavesModel): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.put>(`${this.apiBaseUrl}/RiscosChaves/${data.id}`, data)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/RiscosChaves/excluir/${id}`, {})\r\n .toPromise();\r\n }\r\n\r\n\r\n}","import { LocationStrategy } from \"@angular/common\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { IBaseModel } from \"../models/base.model\";\r\nimport { IRiscosModel } from \"../models/riscos.model\";\r\nimport { PaginacaoModel } from \"../models/paginacao.model\";\r\nimport { FiltroModel } from \"../models/filtro.model\";\r\nimport { BaseService } from \"./base.service\";\r\nimport { filterBy } from \"../core/helpers/filterby\";\r\nimport { FiltroRisco } from \"../models/filtro-risco.model\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class RiscosService extends BaseService {\r\n\tconstructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n\t\tsuper(httpClient, locationStrategy);\r\n\t}\r\n\r\n\tpublic obter(\r\n\t\tfiltro: FiltroModel\r\n\t): Promise>> {\r\n\t\treturn this.httpClient\r\n\t\t\t.get>>(\r\n\t\t\t\tfilterBy(filtro, `${this.apiBaseUrl}/Riscos`)\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\tpublic obterAtivos(filtro: FiltroRisco): Promise>> {\r\n\t\treturn this.httpClient\r\n\t\t .get>>(filterBy(filtro,`${this.apiBaseUrl}/Riscos/obterAtivos`))\r\n\t\t .toPromise();\r\n\t }\r\n\r\n\tpublic async obterPorId(id: number): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.get>(`${this.apiBaseUrl}/Riscos/${id}`)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async inserir(\r\n\t\tdata: IRiscosModel\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.post>(`${this.apiBaseUrl}/Riscos`, data)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async atualizar(data: IRiscosModel): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.put>(`${this.apiBaseUrl}/Riscos/${data.id}`, data)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async reativar(id: number): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.post>(\r\n\t\t\t\t`${this.apiBaseUrl}/Riscos/${id}/reativar`,\r\n\t\t\t\t{}\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async inativar(id: number): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.post>(\r\n\t\t\t\t`${this.apiBaseUrl}/Riscos/${id}/inativar`,\r\n\t\t\t\t{}\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async excluir(id: number): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.delete>(\r\n\t\t\t\t`${this.apiBaseUrl}/Riscos/${id}/excluir`,\r\n\t\t\t\t{}\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic obterCategorias(): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t .get>(`${this.apiBaseUrl}/Riscos/obterCategorias`, {})\r\n\t\t .toPromise();\r\n\t}\r\n\r\n\tpublic obterSubTipoAuditoria(): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t .get>(`${this.apiBaseUrl}/Riscos/obterSubTipoAuditoria`, {})\r\n\t\t .toPromise();\r\n\t}\r\n\r\n\tpublic obterTipoEnfase(): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t .get>(`${this.apiBaseUrl}/Riscos/obterTipoEnfase`, {})\r\n\t\t .toPromise();\r\n\t}\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { data } from 'jquery';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IRolResponsaveisModel } from '../models/rol-responsaveis.model';\r\nimport { BaseService } from './base.service';\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class RolResponsaveisService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, dataInicio: Date = null, dataFim: Date = null, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (dataInicio) {\r\n params = params.append('dataInicio', dataInicio.toDateString());\r\n }\r\n\r\n if (dataFim) {\r\n params = params.append('dataFim', dataFim.toDateString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/rolresponsaveis`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/rolresponsaveis/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(request: IRolResponsaveisModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/tipocriterio/${request.id}`, request)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(request: IRolResponsaveisModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/rolresponsaveis`, request)\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/rolresponsaveis/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/rolresponsaveis/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { EnumTipoQuestionarioUG } from '../models/enum/tipo-questionario-ug.enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedService {\r\n private unidadeGestoraId: number;\r\n private universoAuditavelId: number;\r\n private tipoUniversoAuditavelId: number;\r\n private subject = new Subject();\r\n private tipoQuestionario: EnumTipoQuestionarioUG;\r\n private modoVisualizarTelaUnidadeGestora : boolean;\r\n\r\n sendSalvarEvent() {\r\n this.subject.next();\r\n\r\n }\r\n\r\n setParams(unidadeGestoraId: number, universoId: number, tipouniversoId: number , acao: string): void {\r\n const params = { unidadeGestoraId : unidadeGestoraId, universoId : universoId, tipouniversoId: tipouniversoId, acao: acao };\r\n localStorage.setItem('params', JSON.stringify(params));\r\n }\r\n\r\n getParams(): any {\r\n const params = localStorage.getItem('params');\r\n return params ? JSON.parse(params) : null;\r\n }\r\n\r\n getEvent():Observable{\r\n return this.subject.asObservable();\r\n }\r\n\r\n setId(id: number) {\r\n this.unidadeGestoraId = id;\r\n }\r\n\r\n getId(): number {\r\n return this.unidadeGestoraId;\r\n }\r\n\r\n setTipoQuestionario(tipo: EnumTipoQuestionarioUG){\r\n this.tipoQuestionario = tipo;\r\n }\r\n\r\n getTipoQuestionario(): EnumTipoQuestionarioUG{\r\n return this.tipoQuestionario;\r\n }\r\n\r\n setModoVisualizacaoAbasUnidadeGestora(modoVisualizacao: boolean) {\r\n this.modoVisualizarTelaUnidadeGestora = modoVisualizacao;\r\n }\r\n\r\n getModoVisualizacaoAbasUnidadeGestora() : boolean {\r\n return this.modoVisualizarTelaUnidadeGestora;\r\n }\r\n\r\n setIdUniversoAuditavel(id: number){\r\n this.universoAuditavelId = id;\r\n }\r\n\r\n getIdUniversoAuditavel(): number{\r\n return this.universoAuditavelId;\r\n }\r\n\r\n setIdTipoUniversoAuditavel(id: number){\r\n this.tipoUniversoAuditavelId = id;\r\n }\r\n\r\n getIdTipoUniversoAuditavel(): number{\r\n return this.tipoUniversoAuditavelId ;\r\n }\r\n}\r\n","import { IUgResponsavelModel } from \"./../models/item-solicitacao-tecnica.model\";\r\nimport { IUnidadeGestoraModel } from \"src/app/models/unidade-gestora.model\";\r\nimport { IBaseModel } from \"src/app/models/base.model\";\r\nimport { ISolicitacaoTecnicaModel } from \"./../models/solicitacao-tecnica.model\";\r\nimport { LocationStrategy } from \"@angular/common\";\r\nimport { HttpClient, HttpParams } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { BaseService } from \"./base.service\";\r\nimport {\r\n\tIArquivoRespostaModel,\r\n\tIItemSolicitacaoTecnicaModel,\r\n\tIRepostaItemModel,\r\n} from \"../models/item-solicitacao-tecnica.model\";\r\nimport { IArquivoModel } from \"../models/arquivo.model\";\r\nimport { IResponsavelModel } from \"../models/responsaveis.model\";\r\nimport { PaginacaoModel } from \"../models/paginacao.model\";\r\nimport { filterBy } from './auditoria.service';\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\",\r\n})\r\nexport class SolicitacaoTecnicaService extends BaseService {\r\n\tconstructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n\t\tsuper(httpClient, locationStrategy);\r\n\t}\r\n\r\n\tpublic async obter(\r\n\t\ttipoTrabalhoId: number,\r\n\t\ttipoTrabalho: string\r\n\t): Promise> {\r\n\t\tif (tipoTrabalho === \"planejamento\") {\r\n\t\t\treturn this.httpClient\r\n\t\t\t\t.get>(\r\n\t\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/planejamento/tipo-trabalho/${tipoTrabalhoId}`\r\n\t\t\t\t)\r\n\t\t\t\t.toPromise();\r\n\t\t}\r\n\t\tif (tipoTrabalho === \"osa\") {\r\n\t\t\treturn this.httpClient\r\n\t\t\t\t.get>(\r\n\t\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/osa/tipo-trabalho/${tipoTrabalhoId}`\r\n\t\t\t\t)\r\n\t\t\t\t.toPromise();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async obterPorId(\r\n\t\tid: number\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.get>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}`\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async obterUnidadeGestora(tipoTrabalho: string, tipoTrabalhoId: number,\r\n\t): Promise> {\r\n\t\t\treturn this.httpClient\r\n\t\t\t\t.get>(\r\n\t\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${tipoTrabalho}/tipo-trabalho/${tipoTrabalhoId}/unidades-gestoras`\r\n\t\t\t\t)\r\n\t\t\t\t.toPromise();\r\n\r\n\t}\r\n\r\n\tpublic async obterResponsaveis(\r\n\t\tunidadeGestoraId: number\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.get>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/responsaveis-unidade-gestora/${unidadeGestoraId}`\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\r\n\tpublic async salvarSolicitacao(\r\n\t\tdata: ISolicitacaoTecnicaModel\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.post>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/salvar`,\r\n\t\t\t\tdata\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\tpublic async excluir(id: number): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.delete>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/excluir`,\r\n\t\t\t\t{}\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async desvincularUgResponsavel(\r\n\t\tsolicitacaoTecnicaId: number,\r\n\t\tunidadeGestoraId: number\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.delete>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${solicitacaoTecnicaId}/unidade-gestora/${unidadeGestoraId}/excluir`,\r\n\t\t\t\t{}\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async salvarUgResponsavel(\r\n\t\tid: number,\r\n\t\tdata: any\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.post>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/salvar-ugs-responsavel`,\r\n\t\t\t\tdata\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async cancelarSolicitacao(\r\n\t\tid: number,\r\n\t\tjustificativa: string\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.patch>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/cancelar`,\r\n\t\t\t\t{ justificativa }\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async habilitarRespostaSolicitacao(\r\n\t\tid: number,\r\n\t\tjustificativa: string,\r\n\t\tprazo: Date\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.patch>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/habilitar-resposta`,\r\n\t\t\t\t{ justificativa, prazo }\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async finalizar(\r\n\t\tid: number\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.patch>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/finalizar`,\r\n\t\t\t\t{}\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async enviar(\r\n\t\tid: number,\r\n\t\ttipoTrabalho: string\r\n\t): Promise> {\r\n\t\tif (tipoTrabalho === \"planejamento\") {\r\n\t\t\treturn this.httpClient\r\n\t\t\t\t.patch>(\r\n\t\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/tipo-trabalho/planejamento/enviar`,\r\n\t\t\t\t\t{}\r\n\t\t\t\t)\r\n\t\t\t\t.toPromise();\r\n\t\t}\r\n\t\tif (tipoTrabalho === \"osa\") {\r\n\t\t\treturn this.httpClient\r\n\t\t\t\t.patch>(\r\n\t\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/tipo-trabalho/osa/enviar`,\r\n\t\t\t\t\t{}\r\n\t\t\t\t)\r\n\t\t\t\t.toPromise();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic async obterUgResponsavel(\r\n\t\tsolicitacaoTecnicaId: number\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.get>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${solicitacaoTecnicaId}/ugs-responsavel`\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n public async avaliarProrrogacao(\r\n\t\tid: number, dados: any\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.patch>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/avaliar`, dados\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\t// ITEM\r\n\tpublic async obterItemId(\r\n\t\tsolicitacaoTecnicaId: number,\r\n\t\tid: number\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.get>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${solicitacaoTecnicaId}/item/${id}`\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n public async obterRespostaItem(id: number, itemId: number): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.get>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/item/${itemId}/respostas`\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async salvarItem(\r\n\t\tid: number,\r\n\t\tdata: IItemSolicitacaoTecnicaModel\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.post>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/salvar-item`,\r\n\t\t\t\tdata\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async excluirItem(\r\n\t\tid: number,\r\n\t\titemId: number\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.delete>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/item/${itemId}/excluir`,\r\n\t\t\t\t{}\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async cancelarItem(\r\n\t\tid: number,\r\n\t\titemId: number,\r\n\t\tjustificativa: string\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.patch>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/item/${itemId}/cancelar`,\r\n\t\t\t\t{ justificativa }\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async finalizarItem(id: number): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.put>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/item/${id}/finalizar`,\r\n\t\t\t\t{}\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n public async enviarItem(id: number): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.put>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/item/${id}/enviar`,\r\n\t\t\t\t{}\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async delegarItem(\r\n\t\tidItem: number,\r\n\t\tidResponsavel: string\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.put>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/item/${idItem}/responsavel/${idResponsavel}/delegar`,\r\n\t\t\t\t{}\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\t// ARQUIVO\r\n\r\n\tpublic async salvarItemResposta(\r\n\t\titemSolicitacaoTecnicaId: number,\r\n\t\titemResposta: IRepostaItemModel\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.post>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/item/${itemSolicitacaoTecnicaId}/resposta`,\r\n\t\t\t\titemResposta\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async salvarAnexo(dados: any\t): Promise> {\t\t\r\n\t\treturn this.httpClient\r\n\t\t\t.post>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/item/salvar-anexo`,\r\n\t\t\t\tdados\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async excluirAnexo(\r\n\t\tid: number,\r\n\t\titemId: number,\r\n\t\tanexoId: number\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.delete>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/item/${itemId}/anexo/${anexoId}/excluir`,\r\n\t\t\t\t{}\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async downloadAnexo(\r\n\t\titemId: number,\r\n\t\tanexoId: number\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.get>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/item/${itemId}/anexo/${anexoId}/download`,\r\n\t\t\t\t{}\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async filtrar(filtro: any): Promise>> {\r\n\t\treturn this.httpClient\r\n\t\t.get>>(filterBy(filtro, `${this.apiBaseUrl}/solicitacao-tecnica/filtrar`) )\r\n \t.toPromise();\r\n\t}\r\n\tprivate recuperarParametrosFiltro(filtro: any): HttpParams {\r\n\t\tlet params = new HttpParams();\r\n\r\n\t\tif (filtro.responsavelDelegacao){\r\n\t\t params = params.append('responsavelId', filtro.responsavelDelegacao.toString());\r\n\t\t}\r\n\t\tif (filtro.prazoResposta){\r\n\t\t params = params.append('prazo', filtro.prazoResposta.toString());\r\n\t\t}\r\n\t\tif (filtro.numeroOsa) {\r\n\t\t params = params.append('numOsa', filtro.numeroOsa.toString());\r\n\t\t}\r\n\t\tif (filtro.numeroOpa) {\r\n\t\t params = params.append('numOpa', filtro.numeroOpa.toString());\r\n\t\t}\r\n\t\tif (filtro.numeroSolicitacao) {\r\n\t\t params = params.append('numSolicitacao', filtro.numeroSolicitacao.toString());\r\n\t\t}\r\n\t\tif (filtro.status) {\r\n\t\t params = params.append('status', filtro.status.toString());\r\n\t\t}\r\n\r\n\t\treturn params;\r\n\t }\r\n\r\n\t//Resposta Item\r\n\r\n public async prorrogarPrazo(\r\n\t\tid: number, dados: any\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.patch>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/${id}/prorrogar-prazo`, dados\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async excluirAnexoItemResposta(\r\n\t\tarquivo: IArquivoRespostaModel\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.delete>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/item/resposta/${arquivo.id}/anexo-resposta/excluir`\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async downloadArquivoRespostaItem(\r\n\t\tarquivo: IArquivoRespostaModel\r\n\t): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.get>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/item/resposta/${arquivo.id}/anexo-resposta/download`\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n\r\n\tpublic async obterResponsaveisUGs(): Promise> {\r\n\t\treturn this.httpClient\r\n\t\t\t.get>(\r\n\t\t\t\t`${this.apiBaseUrl}/solicitacao-tecnica/responsaveis-unidades-gestoras`\r\n\t\t\t)\r\n\t\t\t.toPromise();\r\n\t}\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ISubtipoAuditoriaModel } from '../models/subtipo-auditoria.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SubtipoAuditoriaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa?: string, ativo?: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/subtipoauditoria`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/subtipoauditoria/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async obterPorIds(ids: number[]): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/subtipoauditoria/${ids}/obterporids`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ISubtipoAuditoriaModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/subtipoauditoria`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ISubtipoAuditoriaModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/subtipoauditoria/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/subtipoauditoria/${id}`, {})\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/subtipoauditoria/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/subtipoauditoria/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public obterAtivos(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/subtipoauditoria/ativos`)\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IEnumModel } from '../models/enum.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TabelaDominioService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n private obterValores(tabela: string): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/TabelaDominio/${tabela}`)\r\n .toPromise();\r\n }\r\n\r\n public obterTipoEntradaCriterio(): Promise> {\r\n return this.obterValores('TipoEntradaCriterio');\r\n }\r\n\r\n public obterTipoAgente(): Promise> {\r\n return this.obterValores('TipoAgente');\r\n }\r\n\r\n public obterTipoAto(): Promise> {\r\n return this.obterValores('TipoAto');\r\n }\r\n\r\n public obterTipoEntradaPergunta(): Promise> {\r\n return this.obterValores('TipoEntradaPergunta');\r\n }\r\n\r\n public obterTipoComparacao(): Promise> {\r\n return this.obterValores('TipoComparacao');\r\n }\r\n\r\n public obterTipoCapituloRelatorio(): Promise> {\r\n return this.obterValores('TipoCapituloRelatorio');\r\n }\r\n\r\n public async obterTipoAdministracao() {\r\n const request = this.httpClient\r\n .get(`${this.apiBaseUrl}/TipoAdministracao`)\r\n .toPromise();\r\n\r\n const response = await Promise.all([request]);\r\n return response;\r\n }\r\n\r\n public obterOperadorMembroAprovador(): Promise> {\r\n return this.obterValores('OperadorMembroAprovador');\r\n }\r\n\r\n public obterPerfilCargo(): Promise> {\r\n return this.obterValores('PerfilCargo');\r\n }\r\n\r\n public obterFuncaoResponsavelUnidadeGestora(): Promise> {\r\n return this.obterValores('FuncaoResponsavelUnidadeGestora');\r\n }\r\n\r\n public obterTiposDocumentoTrabalho(): Promise> {\r\n return this.obterValores('TipoDocumentoAprovacao');\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ITecnicaAuditoriaModel } from '../models/tecnica-auditoria.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TecnicaAuditoriaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tecnicaauditoria`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tecnicaauditoria/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ITecnicaAuditoriaModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tecnicaauditoria`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ITecnicaAuditoriaModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/tecnicaauditoria/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tecnicaauditoria/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tecnicaauditoria/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/tecnicaauditoria/${id}`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IAuditorCoordenacaoModel } from '../models/auditor-coordenacao.model';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ITipoAuditoriaModel } from '../models/tipo-auditoria.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TipoAuditoriaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipoauditoria`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipoauditoria/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public obterAtivos(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipoauditoria/ativos`)\r\n .toPromise();\r\n }\r\n\r\n public async obterCoordenadorTipoAuditoria(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipoauditoria/${id}/coordenador`)\r\n .toPromise();\r\n }\r\n\r\n public async obterAuditoresCoordenacaoTipoAuditoria(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipoauditoria/${id}/auditores`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ITipoAuditoriaModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipoauditoria`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ITipoAuditoriaModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/tipoauditoria/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipoauditoria/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipoauditoria/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/tipoauditoria/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ITipoCriterioModel } from '../models/tipo-criterio.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TipoCriterioService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipocriterio`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipocriterio/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ITipoCriterioModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipocriterio`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ITipoCriterioModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/tipocriterio/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipocriterio/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipocriterio/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluirTipoCriterio(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/tipocriterio/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ITipoDispensaModel } from '../models/tipo-dispensa.model';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TipoDispensaService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(pesquisa: string, ativo: boolean, simplificado = false): Promise> {\r\n let params = new HttpParams();\r\n params = params.append('pesquisa', pesquisa || '');\r\n\r\n if (ativo !== undefined) {\r\n params = params.append('ativo', ativo.toString());\r\n }\r\n\r\n if (simplificado) {\r\n params = params.append('simplificado', simplificado.toString());\r\n }\r\n\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipodispensa`, { params })\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipodispensa/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ITipoDispensaModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipodispensa`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ITipoDispensaModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/tipodispensa/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipodispensa/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipodispensa/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/tipodispensa/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ITipoEnfaseModel } from '../models/tipo-enfase.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { FiltroModel } from '../models/filtro.model';\r\nimport { BaseService } from './base.service';\r\nimport { filterBy } from '../core/helpers/filterby';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class TipoEnfaseService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro: FiltroModel): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/tipoEnfase`))\r\n .toPromise();\r\n }\r\n public obterTodos(filtro: FiltroModel): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/tipoEnfase/conjunto`))\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipoEnfase/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ITipoEnfaseModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipoEnfase`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ITipoEnfaseModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/tipoEnfase/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipoEnfase/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipoEnfase/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/tipoEnfase/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BaseService } from \"./base.service\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { LocationStrategy } from \"@angular/common\";\r\nimport { ITipoTrabalhoModel } from \"../models/tipo-trabalho.model\";\r\nimport { IBaseModel } from \"../models/base.model\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n })\r\n\r\n export class TipoTrabalhoService extends BaseService{\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipoTrabalho`)\r\n .toPromise();\r\n }\r\n\r\n }\r\n\r\n","import { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { ITipoUniversoModel, ITipoUniversoUGModel } from '../models/tipo-universo.model';\r\nimport { PaginacaoModel } from '../models/paginacao.model';\r\nimport { FiltroModel } from '../models/filtro.model';\r\nimport { BaseService } from './base.service';\r\nimport { filterBy } from '../core/helpers/filterby';\r\nimport { IFiltroTipoUniverso } from '../models/filtros/filtro-tipo-universo.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\nexport class TipoUniversoService extends BaseService{\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro: IFiltroTipoUniverso): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/tipoUniversoAuditavel`))\r\n .toPromise();\r\n }\r\n\r\n public obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipoUniversoAuditavel/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public obterItens(id:number, idUg: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/tipoUniversoAuditavel/${id}/${idUg}`)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipoUniversoAuditavel/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n \r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipoUniversoAuditavel/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/tipoUniversoAuditavel/${id}`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: ITipoUniversoModel): Promise>{\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipoUniversoAuditavel`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: ITipoUniversoModel): Promise>{\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/tipoUniversoAuditavel`, data)\r\n .toPromise();\r\n }\r\n\r\n public async inserirItens(data: ITipoUniversoUGModel): Promise>{\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/tipoUniversoAuditavel/inserirItens`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizarItens(data: ITipoUniversoUGModel): Promise>{\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/tipoUniversoAuditavel/atualizarItens`, data)\r\n .toPromise();\r\n }\r\n\r\n public async excluirUG(id: number, idUG: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/tipoUniversoAuditavel/${id}/excluirUG/${idUG}`, {})\r\n .toPromise();\r\n }\r\n}","import { PaginacaoModel } from './../models/paginacao.model';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { BaseService } from './base.service';\r\nimport { filterBy } from './auditoria.service';\r\nimport { IUnidadeGestoraMaturidadeGRModel } from '../models/unidade-gestora-maturidadeGR.model';\r\nimport { FiltroModel } from '../models/filtro.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UnidadeGestoraMaturidadeGRService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro?: FiltroModel): Promise> {\r\n return this.httpClient\r\n .get>(filterBy(filtro, `${this.apiBaseUrl}/unidadegestoramaturidadegr`))\r\n .toPromise();\r\n }\r\n\r\n \r\n}\r\n","import { PaginacaoModel } from './../models/paginacao.model';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { BaseService } from './base.service';\r\nimport { filterBy } from './auditoria.service';\r\nimport { IUnidadeGestoraMaturidadeGRHistoricoModel } from '../models/unidade-gestora-maturidadeGRHistorico.model';\r\nimport { IFiltroUnidadeGestoraMaturidadeGRHistoricoModel } from '../models/filtro-unidade-gestora-maturidadegrhistorico.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UnidadeGestoraMaturidadeGRHistoricoService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro?: IFiltroUnidadeGestoraMaturidadeGRHistoricoModel): Promise> {\r\n return this.httpClient\r\n .get>(filterBy(filtro, `${this.apiBaseUrl}/unidadegestoramaturidadegrhistorico`))\r\n .toPromise();\r\n }\r\n\r\n \r\n}\r\n","import { PaginacaoModel } from './../models/paginacao.model';\r\nimport { FiltroModel } from './../models/filtro.model';\r\nimport { LocationStrategy } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { IBaseModel } from '../models/base.model';\r\nimport { IUnidadeGestoraModel } from '../models/unidade-gestora.model';\r\nimport { BaseService } from './base.service';\r\nimport { filterBy } from './auditoria.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UnidadeGestoraService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro?: FiltroModel): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro, `${this.apiBaseUrl}/unidadegestora`))\r\n .toPromise();\r\n }\r\n\r\n public async obterPorId(id: number): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/unidadegestora/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public obterAtivos(): Promise> {\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/unidadegestora/ativos`)\r\n .toPromise();\r\n }\r\n\r\n public async inserir(data: IUnidadeGestoraModel): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/unidadegestora`, data)\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IUnidadeGestoraModel): Promise> {\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/unidadegestora/${data.id}`, data)\r\n .toPromise();\r\n }\r\n\r\n public async reativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/unidadegestora/${id}/reativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async inativar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/unidadegestora/${id}/inativar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/unidadegestora/${id}/excluir`, {})\r\n .toPromise();\r\n }\r\n\r\n public async importarUgServico() {\r\n return this.httpClient\r\n .get(`/incluir-ug-servico`)\r\n .toPromise();\r\n }\r\n\r\n public async importar(sigla: string): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/unidadegestora/importar/${sigla}`, {})\r\n .toPromise();\r\n }\r\n}\r\n","import { BaseService } from \"./base.service\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { LocationStrategy } from \"@angular/common\";\r\nimport {\r\n IUniversoAuditavelItemRespostaItensModel,\r\n IUniversoAuditavelItemRespostaModel,\r\n IUniversoAuditavelModel\r\n} from \"../models/universo-auditavel.model\";\r\nimport { IBaseModel } from \"../models/base.model\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { IListaQuestionarioRespostaUGModel } from \"../models/questionario-ug.model\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class UniversoAuditavelItemRespostaService extends BaseService{\r\n\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public async inserir(data: IUniversoAuditavelItemRespostaModel[]): Promise> {\r\n // Logando os dados que serão enviados\r\n console.log('Dados enviados para inserção:', data);\r\n\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/UniversoAuditavelItemResposta/inserir`, data)\r\n .toPromise();\r\n }\r\n\r\n public async ObterRespostaPorCriterio(idCriterio: number, idUG: number, idTipoUNiverso: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/UniversoAuditavelItemResposta/resposta/${idCriterio}/${idUG}/${idTipoUNiverso}`)\r\n .toPromise();\r\n }\r\n\r\n public async ObterRespostaPorCriterios(idUG: number, idTipoUNiverso: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/UniversoAuditavelItemResposta/respostasProCriterios/${idTipoUNiverso}/${idUG}`)\r\n .toPromise();\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { BaseService } from \"./base.service\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { LocationStrategy } from \"@angular/common\";\r\nimport { IBaseModel } from \"../models/base.model\";\r\nimport { IUniversoAuditavelModel } from \"../models/universo-auditavel.model\";\r\nimport { PaginacaoModel } from \"../models/paginacao.model\";\r\nimport { filterBy } from \"../core/helpers/filterby\";\r\nimport { FiltroUniversoAuditavel } from \"../models/filtro-universo-auditavel\";\r\nimport { UniversAuditavelListaModel } from \"../models/univers-auditavel-lista.model\";\r\nimport { IArquivoModel } from \"../models/arquivo.model\";\r\nimport { IResponsavelModel } from \"../models/responsaveis.model\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\n\r\n\r\nexport class UniversoAuditavelService extends BaseService{\r\n constructor(httpClient: HttpClient, locationStrategy: LocationStrategy) {\r\n super(httpClient, locationStrategy);\r\n }\r\n\r\n public obter(filtro: FiltroUniversoAuditavel): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/universoauditavel/obter`))\r\n .toPromise();\r\n }\r\n public obterAtivos(filtro: FiltroUniversoAuditavel): Promise>> {\r\n return this.httpClient\r\n .get>>(filterBy(filtro,`${this.apiBaseUrl}/universoauditavel/obterAtivos`))\r\n .toPromise();\r\n }\r\n public async obterPorId(id: number): Promise>{\r\n return this.httpClient\r\n .get>(`${this.apiBaseUrl}/UniversoAuditavel/obterPorId/${id}`)\r\n .toPromise();\r\n }\r\n\r\n public async solicitarPreenchimentoQuestionario(id: number, qtdeDiasPrazo: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/UniversoAuditavel/${id}/${qtdeDiasPrazo}/solicitarPreenchimento`, {})\r\n .toPromise();\r\n }\r\n\r\n public async Avocar(id: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/UniversoAuditavel/${id}/avocar`, {})\r\n .toPromise();\r\n }\r\n\r\n public async excluir(id: number): Promise> {\r\n return this.httpClient\r\n .delete>(`${this.apiBaseUrl}/UniversoAuditavel/excluir/${id}`, {})\r\n .toPromise();\r\n }\r\n public async inserir(data: IUniversoAuditavelModel): Promise>{\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/UniversoAuditavel/inserir`, data)\r\n .toPromise();\r\n }\r\n public async inserirUniversoAPartirDoUltimo(idUG: number, idTipoUniversoAuditavel: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/UniversoAuditavel/${idUG}/${idTipoUniversoAuditavel}/inserirCopia`, {})\r\n .toPromise();\r\n }\r\n\r\n public async atualizar(data: IUniversoAuditavelModel): Promise>{\r\n return this.httpClient\r\n .put>(`${this.apiBaseUrl}/UniversoAuditavel/atualizar`, data)\r\n .toPromise();\r\n }\r\n\r\n public async enviarArquivo(idUG: number, idTipoUniversoAuditavel: number, anexo : IArquivoModel): Promise> {\r\n const formData: FormData = new FormData();\r\n\r\n formData.append('id', anexo.id.toString());\r\n formData.append('nomeArquivo', anexo.nomeArquivo);\r\n formData.append('entidadeArquivo', anexo.entidadeArquivo.toString());\r\n formData.append('arquivo', anexo.arquivo);\r\n\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/UniversoAuditavel/${idUG}/${idTipoUniversoAuditavel}/enviarArquivo`,formData, {})\r\n .toPromise();\r\n }\r\n\r\n public async DownloadArquivo(idUG: number, idTipoUniverso: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/UniversoAuditavel/${idUG}/${idTipoUniverso}/obterArquivo`, {})\r\n .toPromise();\r\n }\r\n\r\n public async encerrarUniversoImportacaoArquivo(idUG: number, idTipoUniverso: number): Promise> {\r\n return this.httpClient\r\n .post>(`${this.apiBaseUrl}/UniversoAuditavel/${idUG}/${idTipoUniverso}/encerrar-avaliacao-arquivo-importado`,null, {})\r\n .toPromise();\r\n }\r\n\r\n public async obterCriterioPorTipo(idUG: number , idTipoUniverso: number ): Promise> {\r\n return this.httpClient\r\n .get>(\r\n `${this.apiBaseUrl}/UniversoAuditavel/montaComboUniversoAuditavel/${idUG}/${idTipoUniverso}`\r\n )\r\n .toPromise();\r\n }\r\n\r\n public finalizarUniversoAuditavel(\r\n id: number,\r\n acao: string\r\n ): Promise> {\r\n return this.httpClient\r\n .put>(\r\n `${this.apiBaseUrl}/UniversoAuditavel/${id}/${acao}/finaliza-resposta-universo-auditavel`,\r\n {}\r\n )\r\n .toPromise();\r\n }\r\n\r\n}\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IAmostraModel } from 'src/app/models/amostra.model';\r\nimport { AmostraService } from 'src/app/services/amostra.service';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseFormComponent } from '../base-form/base-form.component';\r\nimport { InserirAmostraComponent } from './inserir-amostra/inserir-amostra.component';\r\n\r\n@Component({\r\n selector: 'app-aba-amostra',\r\n templateUrl: './aba-amostra.component.html',\r\n styleUrls: ['./aba-amostra.component.scss']\r\n})\r\nexport class AbaAmostraComponent extends BaseFormComponent implements OnInit {\r\n public displayedColumns: string[] = ['nome', 'descricao', 'ug', 'arquivos', 'acoes'];\r\n public dataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public amostra: IAmostraModel = {} as IAmostraModel;\r\n public tipoAmostra!: string;\r\n @Input() public visualizar: boolean;\r\n @Input() public hiddenEdicao: boolean;\r\n @Input() public planejamentoId: number;\r\n @Input() public numeroOpa: string;\r\n @Input() public statusPlanejamento: number;\r\n \r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n @ViewChild('tabela1') public tabela1: MatSort;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n public matDialog: MatDialog,\r\n private amostraService: AmostraService,\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.router.url.includes(\"planejamento\")) {\r\n this.tipoAmostra = 'planejamento'\r\n this.planejamentoId = this.id;\r\n }\r\n if (this.router.url.includes(\"osa\")) {\r\n this.tipoAmostra = 'osa'\r\n }\r\n if (this.router.url.includes(\"auditoria\")) {\r\n this.tipoAmostra = 'auditoria'\r\n }\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.visualizar = this.route.snapshot.routeConfig.path.includes('visualizar') || this.route.snapshot.routeConfig.path.includes('osa');\r\n this.obterAmostra(this.tipoAmostra)\r\n }\r\n\r\n public obterAmostra(tipoAmostra: string) {\r\n this.amostraService.obterAmostra(this.id, tipoAmostra)\r\n .then(res => {\r\n if (res.sucesso) {\r\n this.dataSource = new MatTableDataSource(res.dados);\r\n\r\n this.dataSource._updateChangeSubscription();\r\n\r\n this.dataSource.sortingDataAccessor = (item: IAmostraModel, property) => {\r\n switch (property) {\r\n case 'nome':\r\n return item?.nome;\r\n case 'descricao':\r\n return item?.descricao;\r\n case 'arquivos':\r\n return item.amostraArquivos[0].nome;\r\n case 'ug':\r\n return item?.amostraUnidadeGestoras[0].unidadeGestora.sigla;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.tabela1;\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'warning',\r\n title: 'Atenção',\r\n text: res.mensagem.descricao,\r\n });\r\n }\r\n }).catch(err => {\r\n this.exibirMensagemAlerta(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public Download(id, nome) {\r\n this.amostraService.download(id, this.tipoAmostra).then((res) =>{\r\n if (res.sucesso) {\r\n const link = document.createElement(\"a\");\r\n link.href = res.dados.toString();\r\n link.download = nome;\r\n link.click();\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }})\r\n\t}\r\n\r\n public obterAmostraPorId(amostra: IAmostraModel, tipoAmostra: string) {\r\n this.amostraService.obterAmostraId(this.id, amostra.id, tipoAmostra).then(res => {\r\n if (res.sucesso) {\r\n this.amostra = res.dados\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n }).catch(err => {\r\n this.exibirMensagemAlerta(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public exibirModalAdicionarAmostra(dados?: IAmostraModel, visualizar?: boolean) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '45vw';\r\n dialogConfig.maxHeight = '85vh';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = false;\r\n\r\n dialogConfig.data = {\r\n id: this.planejamentoId,\r\n tipoAmostra: this.tipoAmostra,\r\n visualizar,\r\n numeroOpa: this.numeroOpa,\r\n dados\r\n }\r\n\r\n const modal = this.matDialog.open(InserirAmostraComponent, dialogConfig);\r\n modal.afterClosed().subscribe(data => {\r\n this.obterAmostra(this.tipoAmostra);\r\n });\r\n }\r\n\r\n public visualizarModalAdicionarAmostra(dados?: IAmostraModel) {\r\n this.exibirModalAdicionarAmostra(dados, true);\r\n }\r\n\r\n public imprimir(element: IAmostraModel) {\r\n this.router.navigate([`${this.tipoAmostra}/${this.id}/planejar/amostra/${element.id}/imprimir`], {state: {planejamentoId: this.id, numeroOpa: this.numeroOpa, statusPlanejamento: this.statusPlanejamento}})\r\n }\r\n\r\n public excluirAmostra(amostra: IAmostraModel) {\r\n Swal.fire({\r\n title: 'Excluir Amostra',\r\n text: 'Tem certeza que deseja excluir essa Amostra?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n })\r\n .then((res) => {\r\n if (res.value) {\r\n this.amostraService.excluirAmostra(this.id, amostra.id, this.tipoAmostra)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Amostra excluída com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.obterAmostra(this.tipoAmostra)\r\n });\r\n }\r\n })\r\n }\r\n}\r\n","
\r\n\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
Nome{{ element?.nome }}Descrição\r\n\t\t\t\t\t\t{{ element?.descricao }}\r\n\t\t\t\t\tUG - Sigla\r\n\t\t\t\t\t\t{{ items?.unidadeGestora?.sigla }}{{ \"\r\n\t\t\t\t\t\t\t\" }}\r\n\t\t\t\t\tArquivos\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tArquivos\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t Não possui arquivos\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{{ items.nome }}\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
Ações
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\tNenhum registro encontrado.\r\n\t\t
\r\n\t\t\r\n\t\t\r\n\t
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IAmostraModel } from 'src/app/models/amostra.model';\r\nimport { AmostraService } from 'src/app/services/amostra.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-imprimir-amostra',\r\n templateUrl: './imprimir-amostra.component.html',\r\n styleUrls: ['./imprimir-amostra.component.scss']\r\n})\r\nexport class ImprimirAmostraComponent implements OnInit {\r\n public model = {} as IAmostraModel;\r\n public planejamentoId!: number;\r\n public amostraId!: number;\r\n public tipoAmostra!: string;\r\n public numeroOpa: string;\r\n public tituloImpressao: string;\r\n public statusPlanejamento: number;\r\n constructor(\r\n private amostraService: AmostraService,\r\n public route: ActivatedRoute,\r\n public router: Router,\r\n ) {\r\n this.planejamentoId = Number(this.route.snapshot.paramMap.get('id'));\r\n this.amostraId = Number(this.route.snapshot.paramMap.get('amostraId'));\r\n\r\n if (this.router.url.includes(\"planejamento\")) {\r\n this.tipoAmostra = 'planejamento';\r\n var extras =this.router.getCurrentNavigation().extras;\r\n this.numeroOpa = extras.state.numeroOpa;\r\n this.tituloImpressao = `Amostra – OPA Nº ${this.numeroOpa}`;\r\n this.statusPlanejamento = extras.state.statusPlanejamento;\r\n }\r\n if (this.router.url.includes(\"osa\")) {\r\n this.tipoAmostra = 'osa';\r\n this.tituloImpressao = `Relatório Amostra`;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buscar();\r\n }\r\n\r\n public buscar() {\r\n this.amostraService.obterAmostraId(this.planejamentoId, this.amostraId, this.tipoAmostra).then(res => {\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }).catch(err => {\r\n\r\n }).finally(() => '')\r\n }\r\n\r\n public cancelar() {\r\n this.router.navigate([`planejamento/${window.history.state.planejamentoId}/planejar`], { state: { aba: 3 }})\r\n }\r\n\r\n public print() {\r\n window.print();\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

\r\n {{tituloImpressao}}\r\n

\r\n
\r\n\r\n
\r\n
\r\n
\r\n Nome:\r\n

{{model?.nome}}

\r\n
\r\n
\r\n Descrição:\r\n

{{model?.descricao}}

\r\n
\r\n
\r\n Unidade Gestora associada:\r\n

{{ item?.unidadeGestora.nome }}

\r\n
\r\n
\r\n\r\n Arquivos:\r\n

{{ item?.nome }}

\r\n
\r\n
\r\n
\r\n
\r\n
","
\r\n\t

Inserir amostra

\r\n
\r\n
\r\n\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t
\r\n\t\r\n
\r\n
\r\n\t\r\n\t\r\n
\r\n","import { SolicitacaoTecnicaService } from './../../../../services/solicitacao-tecnica.service';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IPeaUnidadeGestoraModel } from 'src/app/models/pea-unidade-gestora.model';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\nimport { ModalSelecionarUgComponent } from 'src/app/pages/pea-form/modal-selecionar-ug/modal-selecionar-ug.component';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\nimport { ModalCancelarComponent } from '../../modal-cancelar/modal-cancelar-component';\r\nimport { IAmostraModel } from 'src/app/models/amostra.model';\r\nimport { IAmostraUnidadeGestora } from 'src/app/models/amostra-unidade-gestoras.model';\r\nimport { AmostraService } from 'src/app/services/amostra.service';\r\nimport Swal from 'sweetalert2';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-inserir-amostra',\r\n templateUrl: './inserir-amostra.component.html',\r\n styleUrls: ['./inserir-amostra.component.scss']\r\n})\r\nexport class InserirAmostraComponent implements OnInit {\r\n public id!: number;\r\n public validar!: boolean;\r\n public dados = {\r\n nome: '',\r\n descricao: '',\r\n unidadeGestora: [] as IUnidadeGestoraModel[],\r\n arrayFiles: [],\r\n }\r\n\r\n public model = {} as IAmostraModel;\r\n public tipoAmostra!: string;\r\n public numeroOpa: string;\r\n public visualizar: boolean = false;\r\n\r\n public ugDataSource = new MatTableDataSource([]);\r\n public ugSemDados = true;\r\n\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n public matDialog: MatDialog,\r\n private ugService: SolicitacaoTecnicaService,\r\n private amostraService: AmostraService,\r\n public router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n this.id = data.id;\r\n if (data.dados) this.model = data.dados;\r\n if (data.tipoAmostra) this.tipoAmostra = data.tipoAmostra;\r\n if (data.visualizar) this.visualizar = data.visualizar;\r\n if (data.numeroOpa) this.numeroOpa = data.numeroOpa;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dados.nome = this.model.nome;\r\n this.dados.descricao = this.model.descricao;\r\n\r\n if (this.model.amostraArquivos) {\r\n this.dados.arrayFiles = this.model.amostraArquivos;\r\n }\r\n\r\n if (this.model.amostraUnidadeGestoras?.length > 0) {\r\n const formatPeaUnidadeGestora = this.model?.amostraUnidadeGestoras.map(item => {\r\n return {\r\n id: item?.unidadeGestoraId,\r\n text: `${item?.unidadeGestora?.sigla} - ${item?.unidadeGestora?.nome}`,\r\n value: item?.unidadeGestoraId\r\n } as IUnidadeGestoraModel\r\n })\r\n\r\n this.dados.unidadeGestora = formatPeaUnidadeGestora;\r\n this.atualizarListaUgs(formatPeaUnidadeGestora)\r\n }\r\n }\r\n\r\n public atualizarListaUgs(unidadeGestora: IUnidadeGestoraModel[]) {\r\n const listaUgs = unidadeGestora.map(_ => ({ ..._, nome: `${_.sigla} - ${_.nome}` }));\r\n this.ugDataSource.paginator = this.paginator;\r\n this.ugDataSource.sort = this.sort;\r\n this.ugDataSource.filterPredicate = (data: { nome: string }, filterValue: string) => {\r\n return (data.nome || '').trim().toLowerCase().indexOf(filterValue) !== -1;\r\n };\r\n listaUgs.sort((a, b) => a['nome'].localeCompare(b['nome']));\r\n this.ugDataSource = new MatTableDataSource(\r\n listaUgs\r\n );\r\n this.ugDataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.ugDataSource._updateChangeSubscription();\r\n this.ugSemDados = this.ugDataSource.filteredData.length === 0;\r\n }\r\n\r\n\r\n public async exibirModalUg() {\r\n const res = await this.ugService.obterUnidadeGestora(this.tipoAmostra, this.id);\r\n\r\n if (res.sucesso) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component-45';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n const unidadesAdicionadas = [] as any[];\r\n if (this.dados.unidadeGestora !== undefined) {\r\n this.dados.unidadeGestora.forEach((d) => {\r\n return unidadesAdicionadas.push(d)\r\n }\r\n\r\n );\r\n dialogConfig.data = res.dados.filter(\r\n (d) => !unidadesAdicionadas.some((x) => +d?.value == x?.id)\r\n );\r\n } else {\r\n dialogConfig.data = res.dados;\r\n this.dados.unidadeGestora = [] as IUnidadeGestoraModel[];\r\n }\r\n const modal = this.matDialog.open(\r\n ModalSelecionarUgComponent,\r\n dialogConfig\r\n );\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n if (Array.isArray(data)) {\r\n let unidadeSelecionada = [] as IUnidadeGestoraModel[];\r\n unidadeSelecionada = data.map(\r\n (d) =>\r\n ({\r\n value: d.value,\r\n text: d.text,\r\n } as IUnidadeGestoraModel)\r\n );\r\n unidadeSelecionada.forEach((x) =>\r\n this.dados.unidadeGestora.push(x)\r\n );\r\n }\r\n\r\n this.atualizarListaUgs(this.dados.unidadeGestora);\r\n }\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public excluirUg(ind: number) {\r\n this.ugDataSource.data.splice(ind, 1);\r\n this.dados.unidadeGestora.splice(ind, 1);\r\n this.atualizarListaUgs(this.dados.unidadeGestora\r\n );\r\n\r\n }\r\n\r\n public deleteFile(i: number) {\r\n if (this.dados.arrayFiles[i]) this.dados.arrayFiles.splice(i, 1)\r\n }\r\n\r\n\r\n public getBase64(file) {\r\n return new Promise((resolve, reject) => {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n resolve(reader.result)\r\n };\r\n reader.onerror = function (error) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: \"Ocorreu um erro ao selecionar o arquivo\" + error.toString(),\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n })\r\n };\r\n })\r\n }\r\n\r\n public async uploadAmostra(e) {\r\n let file = (e.target as HTMLInputElement).files;\r\n\r\n let flatListFiles = Array.from(file);\r\n\r\n for (let index = 0; index < file.length; index++) {\r\n const fileToArray = await this.getBase64(file[index]);\r\n this.dados.arrayFiles.push({\r\n nome: flatListFiles[index].name,\r\n conteudo: fileToArray.toString()\r\n })\r\n }\r\n }\r\n\r\n public salvar() {\r\n if (!this.dados.nome || !this.dados.descricao) {\r\n this.validar = true;\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'warning',\r\n text: 'Preencha os campos obrigatórios',\r\n });\r\n return\r\n }\r\n\r\n this.model.nome = this.dados.nome;\r\n this.model.descricao = this.dados.descricao;\r\n this.model.amostraArquivos = this.dados.arrayFiles;\r\n\r\n this.model.amostraUnidadeGestoras = this.dados.unidadeGestora.map(item => {\r\n return { unidadeGestoraId: +item.value } as IAmostraUnidadeGestora\r\n })\r\n\r\n this.amostraService.salvarAmostra(this.id, this.model, this.tipoAmostra).then(res => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n });\r\n }\r\n }).catch(err => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n });\r\n }).then(() => {\r\n if (this.model.amostraArquivos.length > 5) {\r\n setTimeout(() => {\r\n this.matDialog.closeAll();\r\n }, 5000)\r\n } else {\r\n this.matDialog.closeAll();\r\n }\r\n }).finally()\r\n\r\n }\r\n\r\n public cancelar() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = { interno: true };\r\n this.matDialog.open(ModalCancelarComponent, dialogConfig).afterClosed();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n

Listagem de fases

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

ᅠFase:ᅠᅠ{{ fase.nome }}\r\n

\r\n

\r\n Dias Planejados:ᅠ {{ fase.quantidadeDias }}\r\n

\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

ㅤAtividade: ᅠᅠ{{\r\n atividade.nome }}

\r\n

\r\n Dias Planejados:ᅠ{{ atividade.quantidadeDias }}\r\n

\r\n\r\n \r\n = 48 && event.charCode <= 57\"\r\n [disabled]=\"!atividade.selecionado\" class=\"diasRealizado\" maxlength=\"10\"/>\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

ᅠ{{ subAtividade.nome }}

\r\n

\r\n Dias Planejados:ᅠ\r\n {{ subAtividade.quantidadeDias }}\r\n

\r\n \r\n = 48 && event.charCode <= 57\"\r\n class=\"diasRealizado\" />\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { ICronogramaModel } from './../../../models/cronograma.model';\r\nimport { Component, Input, OnInit, } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IFasesAtividadeModel } from 'src/app/models/fases-atividade-model';\r\nimport { CronogramaService } from 'src/app/services/cronograma.service';\r\nimport { FaseAtividadeService } from 'src/app/services/fase-atividade.service';\r\nimport { ModalAtividadeSubatividadeComponent } from './modal-atividade-subatividade/modal-atividade-subatividade.component';\r\nimport Swal from 'sweetalert2';\r\nimport { IAtividadeModel } from 'src/app/models/atividade.model';\r\nimport { ISubAtividadeModel } from 'src/app/models/sub-atividade.model';\r\nimport { BaseFormComponent } from '../base-form/base-form.component';\r\nimport { OsaService } from 'src/app/services/osa.service';\r\nimport { IOsaAtividadeModel } from 'src/app/models/osa-atividade.model';\r\nimport { IOsaSubAtividadeModel } from 'src/app/models/osa-sub-atividade.model';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-aba-cronograma',\r\n templateUrl: './aba-cronograma.component.html',\r\n styleUrls: ['./aba-cronograma.component.scss']\r\n})\r\n\r\nexport class AbaCronogramaComponent extends BaseFormComponent implements OnInit {\r\n public model: IFasesAtividadeModel[];\r\n public atividadesModel: IAtividadeModel = {} as IAtividadeModel;\r\n @Input() public tipo!: string;\r\n @Input() public visualizar;\r\n @Input() public hiddenEdicao;\r\n public cronograma: ICronogramaModel = {} as ICronogramaModel;\r\n public submitted: boolean;\r\n public homologado: boolean = false;\r\n\r\n\r\n constructor(\r\n private faseAtividadeService: FaseAtividadeService,\r\n private cronogramaService: CronogramaService,\r\n public toastr: ToastrService,\r\n public route: ActivatedRoute,\r\n public router: Router,\r\n public matDialog: MatDialog,\r\n public localeService: BsLocaleService,\r\n public osaService: OsaService,\r\n\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n public form = new FormGroup({\r\n\t\tprazoEntregaMatriz: new FormControl(\"\", Validators.required),\r\n\t\tprazoRespostaAuditado: new FormControl(\"\", Validators.required),\r\n\t\tprazoEntregaRelatorio: new FormControl(\"\", Validators.required),\r\n\t});\r\n\r\n ngOnInit() {\r\n if (this.tipo === 'planejamento') {\r\n this.obterCronograma()\r\n }\r\n else {\r\n this.obterCronogramaOsa()\r\n this.obterCampos()\r\n }\r\n }\r\n\r\n public obterCampos() {\r\n this.osaService.obterPorId(this.id).then((res) => {\r\n if(res.sucesso){\r\n this.cronograma.prazoEntregaMatriz = res?.dados?.prazoEntregaMatriz ? new Date(res.dados.prazoEntregaMatriz) : null;\r\n this.cronograma.prazoEntregaRelatorio = res?.dados?.prazoEntregaRelatorio ? new Date(res.dados.prazoEntregaRelatorio) : null;\r\n this.cronograma.prazoRespostaAuditado = res?.dados?.prazoRespostaAuditado ? new Date(res.dados.prazoEntregaRelatorio) : null;\r\n this.homologado = res?.dados?.status?.codigo==4;\r\n }\r\n else{\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n obterCronogramaOsa() {\r\n this.osaService.obterCronogramaOsa(this.id).then(res => {\r\n if (res.sucesso) {\r\n this.model = res.dados.fasesAtividade\r\n this.cronograma = res.dados\r\n }\r\n else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n obterCronograma() {\r\n this.cronogramaService.obterCronograma(this.id).then(res => {\r\n if (res.sucesso) {\r\n this.model = res.dados.fasesAtividade\r\n this.cronograma = res.dados\r\n }\r\n else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n\r\n }\r\n\r\n public salvar(){\r\n this.submitted = true\r\n if(this.form.invalid){\r\n this.exibirMensagemAlerta('Formulário inválido');\r\n return;\r\n }\r\n this.osaService.salvarOsa(this.id, this.cronograma ).then((res) => {\r\n if(res.sucesso){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }else{\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n }).catch((err) =>{\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n public excluirAtividade(id: number) {\r\n Swal.fire({\r\n title: 'Excluir Atividade',\r\n text: 'Tem certeza que deseja excluir essa Atividade?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n })\r\n .then((res) => {\r\n if (res.value) {\r\n this.cronogramaService\r\n .excluirAtividade(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Atividade excluída com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.obterCronograma()\r\n });\r\n }\r\n })\r\n }\r\n\r\n public excluirSubAtividade(id: number) {\r\n Swal.fire({\r\n title: 'Excluir Sub atividade',\r\n text: 'Tem certeza que deseja excluir essa Sub atividade?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n })\r\n .then((res) => {\r\n if (res.value) {\r\n this.cronogramaService\r\n .excluirSubAtividade(id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Sub atividade excluída com sucesso.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n this.exibirMensagemAlerta(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.obterCronograma()\r\n });\r\n }\r\n }\r\n )\r\n }\r\n\r\n public modalIncluir(element?: IAtividadeModel | ISubAtividadeModel, acao?: string) {\r\n try {\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-incluir-atividade-sub';\r\n dialogConfig.width = '700px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n planejamentoId: this.id,\r\n acao,\r\n element\r\n };\r\n const modal = this.matDialog.open(ModalAtividadeSubatividadeComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n this.obterCronograma()\r\n })\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } finally {\r\n }\r\n }\r\n\r\n\r\n public async salvarOsaAtividade( element: IOsaAtividadeModel) {\r\n this.osaService.salvarOsaAtividade(this.id, element.atividadeId, {\r\n quantidadeDiasRealizado: Number(element.quantidadeDiasRealizado)\r\n }as IOsaAtividadeModel)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.obterCronogramaOsa();\r\n })\r\n }\r\n\r\n\r\n public salvarOsaSubAtividade(element: IOsaSubAtividadeModel) {\r\n this.osaService.salvarOsaSubAtividade(this.id, element.id, {\r\n quantidadeDiasRealizado: Number(element.quantidadeDiasRealizado)\r\n } as IOsaSubAtividadeModel)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.obterCronogramaOsa();\r\n })\r\n }\r\n}\r\n\r\n","
\r\n
\r\n

\r\n {{titulo}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\" id=\"validationCustom02\" min=\"1\" required [ngClass]=\"{\r\n 'is-invalid': valido && form.controls['quantidadeDias'].invalid}\">\r\n
\r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IAtividadeModel } from 'src/app/models/atividade.model';\r\nimport { ISubAtividadeModel } from 'src/app/models/sub-atividade.model';\r\nimport { CronogramaService } from 'src/app/services/cronograma.service';\r\nimport Swal from 'sweetalert2';\r\nimport { ModalCancelarComponent } from '../../modal-cancelar/modal-cancelar-component';\r\n\r\n@Component({\r\n selector: 'app-modal-atividade-subatividade',\r\n templateUrl: './modal-atividade-subatividade.component.html',\r\n styleUrls: ['./modal-atividade-subatividade.component.scss']\r\n})\r\nexport class ModalAtividadeSubatividadeComponent implements OnInit {\r\n public model: IAtividadeModel = {} as IAtividadeModel;\r\n public modelSub: ISubAtividadeModel = {} as ISubAtividadeModel\r\n public id: number;\r\n public novoRegistro = true;\r\n public titulo;\r\n public acao!: string;\r\n public editar: boolean = false;\r\n public valido: boolean = false\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl(null, Validators.required),\r\n quantidadeDias: new FormControl(null, Validators.required,),\r\n });\r\n\r\n constructor(\r\n public matDialog: MatDialog,\r\n public route: ActivatedRoute,\r\n public toastr: ToastrService,\r\n public router: Router,\r\n public localeService: BsLocaleService,\r\n private dialogRef: MatDialogRef,\r\n private cronogramaService: CronogramaService,\r\n @Inject(MAT_DIALOG_DATA) public data,\r\n\r\n ) {\r\n this.id = data.planejamentoId\r\n this.acao = data.acao;\r\n\r\n if (data.element.fasesAtividadeId) {\r\n this.titulo = 'Inserir SubAtividade';\r\n this.model = data.element;\r\n } else {\r\n this.titulo = 'Inserir Atividade';\r\n this.model = data.element\r\n }\r\n\r\n if (this.acao === 'editar') {\r\n this.titulo = 'Editar Atividade'\r\n this.model = data.element\r\n this.editar = true;\r\n }\r\n\r\n if (this.acao === 'editarSub') {\r\n this.titulo = 'Editar sub Atividade'\r\n this.modelSub = data.element\r\n this.editar = true;\r\n }\r\n\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n try {\r\n if (this.editar) {\r\n this.form.patchValue(this.model);\r\n }\r\n } catch (err) {\r\n this.toastr.error(err.mensagem.descricao, 'Atenção');\r\n }\r\n }\r\n\r\n public concluir() {\r\n if (this.form.invalid) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Formulário Inválido',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.valido = true;\r\n return;\r\n }\r\n this.atualizarModel(this.form.value);\r\n this.model.quantidadeDias = Number(this.model.quantidadeDias)\r\n if (this.titulo === 'Inserir Atividade') {\r\n\r\n const atividade = {\r\n fasesAtividadeId: this.model.id,\r\n planejamentoId: this.id,\r\n nome: this.model.nome,\r\n quantidadeDias: Number(this.form.get('quantidadeDias').value),\r\n } as IAtividadeModel\r\n\r\n this.cronogramaService.inserirAtividade(atividade)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.dialogRef.close(this.model);\r\n })\r\n }\r\n\r\n if (this.titulo === \"Editar Atividade\") {\r\n this.cronogramaService.atualizarAtividade({\r\n nome: this.model.nome,\r\n quantidadeDias: Number(this.form.get('quantidadeDias').value),\r\n }, this.model.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }).catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n this.dialogRef.close(this.model);\r\n }\r\n\r\n if (this.titulo === \"Editar sub Atividade\") {\r\n\r\n this.modelSub.quantidadeDias = Number(this.form.get(\"quantidadeDias\").value);\r\n this.modelSub.nome = this.form.get('nome').value;\r\n\r\n this.cronogramaService.atualizarSubAtividade(this.modelSub, this.modelSub.id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n this.dialogRef.close(this.model);\r\n }\r\n\r\n if (this.titulo === \"Inserir SubAtividade\") {\r\n\r\n this.modelSub.atividadeId = this.model.id;\r\n this.modelSub.nome = this.model.nome;\r\n this.modelSub.quantidadeDias = this.model.quantidadeDias;\r\n\r\n this.cronogramaService.inserirsubAtividade(this.modelSub)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n .finally(() => {\r\n this.dialogRef.close(this.modelSub);\r\n })\r\n }\r\n }\r\n\r\n private atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public cancelar() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = { interno: true };\r\n this.matDialog.open(ModalCancelarComponent, dialogConfig).afterClosed();\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
0; else content\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n Nenhum registro encontrado.\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n Nenhum registro encontrado.\r\n
\r\n
\r\n
\r\n","import { IEnumModel } from './../../../models/enum.model';\r\n\r\nimport { ISubTipoAuditoriaType } from 'src/app/models/subtipo-auditoria.model';\r\nimport { ManterMatrizPlanejamentoService } from './../../../services/manter-matriz-planejamento.service';\r\nimport { ModalAdicionarQuestoesComponent } from './modal-adicionar-questoes/modal-adicionar-questoes.component';\r\nimport { Component, Input, OnInit, ViewChild, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport Swal from 'sweetalert2';\r\nimport { ModalUgComponent } from './modal-ug/modal-ug.component';\r\nimport { PlanejamentoService } from 'src/app/services/planejamento.service';\r\n\r\n@Component({\r\n selector: 'app-aba-matriz-planejamento',\r\n templateUrl: './aba-matriz-planejamento.component.html',\r\n styleUrls: ['./aba-matriz-planejamento.component.scss']\r\n})\r\nexport class AbaMatrizPlanejamentoComponent implements OnInit, OnChanges {\r\n\r\n public displayedColumns: string[] = ['questao', 'legislacao', 'acoes'];\r\n public dataSource = new MatTableDataSource();\r\n @Input() public id: number;\r\n @Input() public visualizar: boolean;\r\n @Input() public idPlanejamentoOsa!: number;\r\n public tipoTrabalho: IEnumModel = {} as IEnumModel;\r\n public tipotrabalhoId: number;\r\n public title: string\r\n\r\n @ViewChild(\"TableOnePaginator\", { static: true }) tableOnePaginator: MatPaginator;\r\n @ViewChild(\"tabela1\", { static: true }) tabela1: MatSort;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private matDialog: MatDialog,\r\n private planejamentoService: PlanejamentoService,\r\n public manterMatrizPlanejamentoService: ManterMatrizPlanejamentoService,\r\n public route: ActivatedRoute,\r\n public router: Router) {\r\n\r\n this.tipotrabalhoId = +this.route.snapshot.paramMap.get(\"id\");\r\n\r\n if (this.router.url.includes(\"planejamento\")) {\r\n this.tipoTrabalho.nome = 'planejamento';\r\n this.tipoTrabalho.codigo = 7;\r\n }\r\n else if (this.router.url.includes(\"osa\")) {\r\n this.tipoTrabalho.nome = 'osa';\r\n this.tipoTrabalho.codigo = 4;\r\n this.visualizar=true;\r\n }\r\n\r\n this.carregarRegistros();\r\n }\r\n\r\n public visualizarMatriz() {\r\n this.router.navigate([\"/matriz-planejamento-visualizar/\" + this.tipotrabalhoId]);\r\n }\r\n\r\n public carregarRegistros(): void {\r\n this.planejamentoService.planejamentoSubTipoAuditoria.subscribe((dados: any) => {\r\n if (dados.length > 0) {\r\n this.dataSource.data = dados;\r\n } else {\r\n this.dataSource.data = null;\r\n }\r\n });\r\n }\r\n\r\n public atualizaRegistros(dados: any[]): void {\r\n this.dataSource.data = this.dataSource.data ? this.dataSource.data : [];\r\n dados.forEach(item => {\r\n if (!this.dataSource.data.some((x: any) => x.id == item.id)) {\r\n this.dataSource.data.push(item);\r\n }\r\n });\r\n }\r\n\r\n public excluirRegistro(id: number): void {\r\n this.dataSource.data = this.dataSource.data.filter((x: any) => x.id != id);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.id = changes.id.currentValue;\r\n this.obter();\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n async obter() {\r\n this.planejamentoService.obterAbaMatrizPorId(this.tipoTrabalho.codigo, this.tipotrabalhoId);\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n public modalUnidadeGestora(item: any): void {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-ug';\r\n dialogConfig.width = \"40%\";\r\n dialogConfig.maxHeight = \"auto\";\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = false;\r\n dialogConfig.data = {\r\n id: this.id,\r\n subTipoId: item.id\r\n };\r\n const modal = this.matDialog.open(\r\n ModalUgComponent,\r\n dialogConfig\r\n );\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n }\r\n });\r\n\r\n }\r\n\r\n public abrirModalAdicionarItem(matriz: any, questoes: any[], subtipoAuditoriaId: number) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component-solicitacao-tecnica';\r\n dialogConfig.width = '50%';\r\n dialogConfig.height = '60%';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = false;\r\n dialogConfig.data = { titulo: `Adicionar questão`, data: matriz, tipoTrabalho: 'matrizPlanejamento', tipoTrabalhoId: this.tipotrabalhoId, questoes };\r\n\r\n const modal = this.matDialog.open(\r\n ModalAdicionarQuestoesComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe((data: any[]) => {\r\n if (data) {\r\n const dados = data.map(a => {\r\n if (this.tipoTrabalho.nome === \"planejamento\" || this.tipoTrabalho.nome === \"osa\") {\r\n return {\r\n matriz,\r\n subTipoAuditoriaId: subtipoAuditoriaId,\r\n relacionamentoId: this.tipotrabalhoId,\r\n questaoId: a.id || a.value,\r\n isQuestaoEspecifica: a.questaoId > 0,\r\n questao: a,\r\n }\r\n } else {\r\n return {\r\n subTipoAuditoriaId: matriz.id,\r\n questaoId: a.id || a.value,\r\n questao: a,\r\n }\r\n }\r\n })\r\n let questoesJoin = dados.map(a => a.questao.nome).join(' , ');\r\n\r\n if (questoesJoin == '' && dados.length == 0) {\r\n return;\r\n }\r\n\r\n Swal.fire({\r\n title: data.length === 1 ? 'Incluir Questão' : 'Incluir Questões',\r\n text: data.length === 1 ? 'Tem certeza que deseja incluir a seguinte questão? ' + questoesJoin : 'Tem certeza que deseja incluir as seguintes questões? ' + questoesJoin,\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n })\r\n .then(async (res) => {\r\n if (res.value) {\r\n dados.forEach(item => {\r\n let encontrado = questoes.find(a => { return item.questaoId === a.questaoId });\r\n\r\n if (Object.keys(encontrado ?? {}).length > 0) {\r\n return;\r\n }\r\n this.manterMatrizPlanejamentoService.vincularQuestao(this.tipoTrabalho.codigo, matriz?.matrizPlanejamento?.id, item?.questaoId, item?.isQuestaoEspecifica, item?.relacionamentoId,item?.subTipoAuditoriaId).then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"success\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }).catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"error\",\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }).finally(() => {\r\n let id = this.route.snapshot.paramMap.get('id');\r\n if (this.tipoTrabalho.nome === \"planejamento\") {\r\n this.planejamentoService.obterPorId(+id);\r\n }\r\n this.obter();\r\n })\r\n })\r\n }\r\n })\r\n }\r\n })\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Questão{{ element?.questao?.nome}}Legislação
Ações\r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n Nenhum registro encontrado.\r\n
\r\n\r\n \r\n \r\n
\r\n","import { IEnumModel } from './../../../../models/enum.model';\r\nimport { ManterMatrizPlanejamentoService } from './../../../../services/manter-matriz-planejamento.service';\r\nimport { QuestaoFormComponent } from 'src/app/pages/questao-form/questao-form.component';\r\nimport { Component, Input, OnInit, ViewChild, AfterViewInit, EventEmitter, Output } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IMatrizPlanejamentoQuestaoModel } from 'src/app/models/matriz-planejamento-questao.model';\r\nimport { IQuestaoModel } from 'src/app/models/questao.model';\r\nimport Swal from 'sweetalert2';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatrizPlanejamentoService } from 'src/app/services/matriz-planejamento.service';\r\nimport { IMatrizPlanejamentoModel } from 'src/app/models/matriz-planejamento.model';\r\nimport { PlanejamentoService } from 'src/app/services/planejamento.service';\r\nimport { QuestaoService } from 'src/app/services/questao.service';\r\n\r\n@Component({\r\n selector: 'app-listagem-questoes',\r\n templateUrl: './listagem-questoes.component.html',\r\n styleUrls: ['./listagem-questoes.component.scss']\r\n})\r\nexport class ListagemQuestoesComponent implements OnInit, AfterViewInit {\r\n\r\n constructor(\r\n private matDialog: MatDialog,\r\n private planejamentoService: PlanejamentoService,\r\n private matrizPlanejamentoService: MatrizPlanejamentoService,\r\n public router: Router,\r\n private questaoService: QuestaoService,\r\n public route: ActivatedRoute) {\r\n {\r\n this.tipotrabalhoId = +this.route.snapshot.paramMap.get(\"id\");\r\n\r\n if (this.router.url.includes(\"planejamento\")) {\r\n this.tipoTrabalho.nome = 'planejamento';\r\n this.tipoTrabalho.codigo = 7;\r\n this.isPlanejamento = true;\r\n }\r\n else if (this.router.url.includes(\"osa\")) {\r\n this.tipoTrabalho.nome = 'osa';\r\n this.tipoTrabalho.codigo = 4;\r\n this.isPlanejamento = false;\r\n }\r\n }\r\n }\r\n\r\n @Input() displayedColumns!: string[];\r\n @Input() subtipoId!: number;\r\n @Input() planejamentoId!: number;\r\n @Input() listaDados: IQuestaoModel[] = [] as IQuestaoModel[];\r\n @Input() matrizPlanejamento!: IMatrizPlanejamentoModel;\r\n @Output() excluirItemEvento: EventEmitter = new EventEmitter();\r\n @Input() visualizar: boolean;\r\n public isPlanejamento: boolean;\r\n public tipotrabalhoId: number;\r\n public tipoTrabalho: IEnumModel = {} as IEnumModel\r\n\r\n @ViewChild(MatSort) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n public dataSource: MatTableDataSource = new MatTableDataSource(this.listaDados);\r\n\r\n ngOnInit(): void {\r\n this.dataSource = new MatTableDataSource(this.listaDados);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n\r\n }\r\n\r\n\r\n public modalEditarQuestao(questao: IQuestaoModel, visualizar: Boolean = false) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-listagem-questoes-manter-planejamento';\r\n dialogConfig.width = '65%';\r\n dialogConfig.height = '85%';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = false;\r\n\r\n dialogConfig.data = {\r\n titulo: visualizar ? 'Editar questão' : 'Visualizar questão',\r\n data: questao,\r\n visualizar,\r\n tipoTrabalho: this.tipoTrabalho,\r\n tipoTrabalhoId: this.tipotrabalhoId\r\n };\r\n\r\n const modal = this.matDialog.open(\r\n QuestaoFormComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe((data) => {\r\n this.excluirItemEvento.next();\r\n });\r\n }\r\n\r\n public routeIncludes(tipoTrabalho: string) {\r\n return this.router.url.includes(tipoTrabalho);\r\n }\r\n\r\n public sortingDataAccessor = (item: IQuestaoModel, property) => {\r\n switch (property) {\r\n case \"legislacao\":\r\n return item?.legislacaoAplicavelCriterio;\r\n case \"questao\":\r\n return item?.nome;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n\r\n public async excluirQuestao(idQuestao: number) {\r\n Swal.fire({\r\n title: 'Excluir Registro',\r\n text: 'Tem certeza que deseja excluir esse registro?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n })\r\n .then(async (res) => {\r\n if (res.value) {\r\n try {\r\n const res = (await this.questaoService.excluir(idQuestao, this.tipoTrabalho?.nome));\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n\r\n if (this.dataSource.data.length > 0) {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n }\r\n this.excluirItemEvento.next();\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (error) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: error.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n })\r\n\r\n\r\n\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{ titulo }}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Incluir \r\n \r\n \r\n Questão{{element?.nome || element?.text }}
\r\n
\r\n Nenhum registro encontrado.\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","\r\nimport { ManterMatrizPlanejamentoService } from './../../../../services/manter-matriz-planejamento.service';\r\nimport { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { Component, Inject, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { IQuestaoModel } from 'src/app/models/questao.model';\r\nimport { SubtipoAuditoriaService } from 'src/app/services/subtipo-auditoria.service';\r\nimport { IMatrizPlanejamentoQuestaoModel } from 'src/app/models/matriz-planejamento-questao.model';\r\nimport { QuestaoService } from './../../../../services/questao.service';\r\nimport { IMatrizPlanejamentoModel } from './../../../../models/matriz-planejamento.model';\r\nimport { QuestaoFormComponent } from 'src/app/pages/questao-form/questao-form.component';\r\nimport { ModalUgComponent } from '../modal-ug/modal-ug.component';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\n\r\ninterface IMatDialogDataModel {\r\n titulo: string;\r\n data: IMatrizPlanejamentoModel,\r\n planejamentoId: number;\r\n questoes: any[];\r\n tipoTrabalhoId: number;\r\n}\r\n\r\n@Component({\r\n selector: 'app-modal-adicionar-questoes',\r\n templateUrl: './modal-adicionar-questoes.component.html',\r\n styleUrls: ['./modal-adicionar-questoes.component.scss']\r\n})\r\nexport class ModalAdicionarQuestoesComponent implements OnInit, AfterViewInit {\r\n\r\n public titulo: string = '';\r\n public dataSource: MatTableDataSource = new MatTableDataSource();\r\n public questaoSelecionada: any[] = {} as any[];\r\n public displayedColumns: string[] = ['incluir', 'questao'];\r\n public selectedModel: IMatrizPlanejamentoQuestaoModel[] = [] as IMatrizPlanejamentoQuestaoModel[];\r\n public matrizPlanejamentoModel: IMatrizPlanejamentoModel = {} as IMatrizPlanejamentoModel;\r\n public listSubtipo: ISubtipoAuditoriaModel[] = [] as ISubtipoAuditoriaModel[];\r\n public id: number = null;\r\n public tipoTrabalho: IEnumModel = {} as IEnumModel;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n public dialogRef: MatDialogRef,\r\n private router: Router,\r\n private questaoService: QuestaoService,\r\n private subtipoAuditoriaService: SubtipoAuditoriaService,\r\n private manterMatrizPlanejamentoService: ManterMatrizPlanejamentoService,\r\n public route: ActivatedRoute,\r\n public matDialog: MatDialog,\r\n\t\t@Inject(MAT_DIALOG_DATA) public dados: IMatDialogDataModel\r\n ) {\r\n this.titulo = dados.titulo;\r\n this.matrizPlanejamentoModel = dados.data;\r\n this.id = dados?.tipoTrabalhoId;\r\n this.questaoSelecionada = dados.questoes;\r\n\r\n if (this.router.url.includes(\"planejamento\")) {\r\n this.tipoTrabalho.nome = 'planejamento';\r\n this.tipoTrabalho.codigo = 7;\r\n }\r\n else if (this.router.url.includes(\"osa\")) {\r\n this.tipoTrabalho.nome = 'osa';\r\n this.tipoTrabalho.codigo = 4;\r\n }else {\r\n this.tipoTrabalho = null\r\n }\r\n }\r\n\r\n public filtrarModel: FormGroup = this.fb.group({\r\n\t\ttituloAuditoria: [\"\", Validators.required],\r\n\t\tdescricao: [\"\", Validators.required],\r\n\t\tsubtipo: [\"\"]\r\n\t});\r\n\r\n ngOnInit(): void {\r\n this.obterQuestoes();\r\n this.obterSubtiposAuditoria();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n this.dataSource.sort = this.sort;\r\n }\r\n\r\n public onSubmit(): void {\r\n this.dialogRef.close(this.selecionados());\r\n }\r\n\r\n\r\n public selecionados() : IQuestaoModel[]{\r\n let selecionados : IQuestaoModel[] = this.dataSource.data.filter(item => item.selecionado);\r\n return selecionados;\r\n }\r\n\r\n public cancelar(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n public buscarComFiltro(): void {\r\n /*if(!+this.filtrarModel?.value?.subtipo){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text:'Selecione o subtipo!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }*/\r\n this.manterMatrizPlanejamentoService.obterQuestaoSubtipo(this.filtrarModel?.value?.subtipo, this.filtrarModel?.value?.descricao)\r\n .then(res => {\r\n if(res.sucesso){\r\n let questoes = res.dados\r\n this.dataSource.data = questoes.map(a => {\r\n const questaoSelecionada = this.questaoSelecionada.find(b => b?.questaoId === +a?.value);\r\n if(questaoSelecionada?.questaoId) a.selecionado = true;\r\n return a;\r\n });\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n this.dataSource.sort = this.sort\r\n }else{\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n }\r\n\r\n public async obterQuestoes(): Promise {\r\n let questoes = (await this.questaoService.obterPorTipoTrabalho(this.tipoTrabalho.codigo)).dados;\r\n this.dataSource.data = questoes.map(a => {\r\n const questaoSelecionada = this.questaoSelecionada.find(b => b?.questaoId === a?.id);\r\n if(questaoSelecionada?.questaoId && !questaoSelecionada?.readonly){\r\n a.selecionado = true;\r\n a.readonly = false\r\n } else if(questaoSelecionada?.questaoId && questaoSelecionada?.readonly){\r\n a.readonly = true\r\n }\r\n return a;\r\n });\r\n }\r\n\r\n public async obterSubtiposAuditoria(): Promise {\r\n this.listSubtipo = (await this.subtipoAuditoriaService.obter()).dados;\r\n }\r\n\r\n public abrirModalAdicionarQuestao(visualizar: Boolean = false): void {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-listagem-questoes-manter-planejamento';\r\n dialogConfig.width = '65%';\r\n dialogConfig.height = '85%';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = false;\r\n\r\n dialogConfig.data = {\r\n titulo: 'Adicionar questão',\r\n visualizar,\r\n tipoTrabalho: this.tipoTrabalho,\r\n tipoTrabalhoId: this.id,\r\n subTipoCategoria : this.dados.data?.matrizPlanejamento?.id\r\n };\r\n\r\n const modal = this.matDialog.open(\r\n QuestaoFormComponent,\r\n dialogConfig\r\n );\r\n\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n let selecionados : IQuestaoModel[] = [];\r\n selecionados.push(data.data as IQuestaoModel);\r\n this.dialogRef.close(selecionados);\r\n }\r\n this.ngOnInit()\r\n });\r\n\r\n }\r\n\r\n\r\n public sortingDataAccessor: (T: IQuestaoModel, I: any) => any = (item: IQuestaoModel, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"questao\":\r\n\t\t\t\treturn item?.nome;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-modal-editar-questao',\r\n templateUrl: './modal-editar-questao.component.html',\r\n styleUrls: ['./modal-editar-questao.component.scss']\r\n})\r\nexport class ModalEditarQuestaoComponent implements OnInit {\r\n\r\n public titulo: string = 'Editar questão';\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public cancelar() {\r\n\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{ titulo }}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\nimport { ManterMatrizPlanejamentoService } from 'src/app/services/manter-matriz-planejamento.service';\r\nimport { UnidadeGestoraService } from 'src/app/services/unidade-gestora.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-ug',\r\n templateUrl: './modal-ug.component.html',\r\n styleUrls: ['./modal-ug.component.scss']\r\n})\r\nexport class ModalUgComponent implements OnInit {\r\n\r\n public dataSource = new MatTableDataSource([]);\r\n public displayedColumns: string[] = ['unidadeGestora'];\r\n public semDados = true;\r\n\r\n constructor(\r\n private matDialog: MatDialog,\r\n private service: ManterMatrizPlanejamentoService,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {}\r\n\r\n\r\n @ViewChild(MatSort) sort: MatSort;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\r\n ngOnInit(): void {\r\n this.buscar()\r\n }\r\n\r\n public buscar() {\r\n this.service.obterUgSubtipo(this.data.id, this.data.subTipoId).then((res) => {\r\n if(res.sucesso){\r\n this.dataSource.data = res.dados\r\n this.dataSource.paginator = this.paginator;\r\n\t\t this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = this.sortingDataAccessor\r\n this.semDados = this.dataSource?.filteredData?.length === 0;\r\n }else{\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n\r\n }\r\n\r\n public sortingDataAccessor = (item, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"unidadeGestora\":\r\n\t\t\t\treturn item?.siglaUg;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n public fechar(){\r\n this.dialogRef.close()\r\n }\r\n\r\n}\r\n","
\r\n\t
\r\n\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
Unidade Gestora
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{{ element?.siglaUg }} - {{ element.nomeUg }}\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\r\n\t\t
\r\n\t\t\tNenhum registro encontrado.\r\n\t\t
\r\n\t\t\r\n\t\t\r\n\t
\r\n
\r\n\r\n","import { IEnumModel } from 'src/app/models/enum.model';\r\n\r\nimport { ModalVisualizarRespostaComponent } from './modal-visualizar-resposta/modal-visualizar-resposta.component';\r\nimport { IncluirSolicitacaoComponent } from './modal-incluir-solicitacao/modal-incluir-solicitacao.component';\r\nimport { ModalJustificativaComponent } from './../modal-justificativa/modal-justificativa.component';\r\nimport { SolicitacaoTecnicaService } from \"./../../../services/solicitacao-tecnica.service\";\r\nimport { ISolicitacaoTecnicaModel } from \"./../../../models/solicitacao-tecnica.model\";\r\nimport { Component, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport Swal from \"sweetalert2\";\r\nimport { MatDialog, MatDialogConfig } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n@Component({\r\n\tselector: \"app-aba-solicitacao-tecnica\",\r\n\ttemplateUrl: \"./aba-solicitacao-tecnica.component.html\",\r\n\tstyleUrls: [\"./aba-solicitacao-tecnica.component.scss\"],\r\n})\r\nexport class AbaSolicitacaoTecnicaComponent implements OnInit {\r\n\tpublic displayedColumns: string[] = [\r\n\t\t\"selecao\",\r\n\t\t\"numero\",\r\n\t\t\"assunto\",\r\n\t\t\"prazo\",\r\n\t\t\"responsavel\",\r\n\t\t\"status\",\r\n\t\t\"resposta\",\r\n\t];\r\n\tpublic dataSource = new MatTableDataSource([]);\r\n\tpublic semDados = true;\r\n\tpublic selectedModel: ISolicitacaoTecnicaModel;\r\n\tpublic permitido: boolean = false;\r\n\tpublic cancelada: boolean;\r\n\tpublic dataVencida: boolean;\r\n\tpublic tipotrabalhoId: number;\r\n\t@Input() numeroOpa: string;\r\n\tpublic tipoTrabalho: IEnumModel = {} as IEnumModel;\r\n\t@Input() visualizar: boolean;\r\n\t@Input() planejamentoId: number;\r\n\r\n\tconstructor(\r\n\t\tprivate solicitacaoTecnica: SolicitacaoTecnicaService,\r\n\t\tprivate matDialog: MatDialog,\r\n\t\tpublic router: Router,\r\n\t\tpublic route: ActivatedRoute) {\r\n\t\tthis.tipotrabalhoId = +this.route.snapshot.paramMap.get(\"id\");\r\n\r\n\t\tif (this.router.url.includes(\"planejamento\")) {\r\n\t\t\tthis.tipoTrabalho.nome = 'planejamento';\r\n\t\t\tthis.tipoTrabalho.codigo = 7;\r\n\t\t}\r\n\t\tif (this.router.url.includes(\"osa\")) {\r\n\t\t\tthis.tipoTrabalho.nome = 'osa';\r\n\t\t\tthis.tipoTrabalho.codigo = 4;\r\n\t\t}\r\n\t}\r\n\r\n\t@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\t@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.dataSource.paginator = this.paginator;\r\n\t\tthis.dataSource.sort = this.sort;\r\n\t\tthis.obter()\r\n\t}\r\n\r\n\tpublic obter() {\r\n\t\tthis.solicitacaoTecnica\r\n\t\t\t.obter(this.tipotrabalhoId, this.tipoTrabalho?.nome)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.dados) {\r\n\t\t\t\t\tthis.dataSource = new MatTableDataSource(res.dados);\r\n\t\t\t\t\tthis.semDados = this.dataSource.filteredData.length === 0;\r\n\t\t\t\t\tthis.dataSource.paginator = this.paginator;\r\n\t\t\t\t\tthis.dataSource.sort = this.sort;\r\n\t\t\t\t\tthis.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n\t\t\t\t\tthis.selectedModel = null\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\r\n\tpublic selecionar(item: any) {\r\n\t\tthis.selectedModel =\r\n\t\t\t!this.selectedModel || this.selectedModel.id !== item.id\r\n\t\t\t\t? item\r\n\t\t\t\t: null;\r\n\t\tif (this.selectedModel?.status?.codigo === 4 || this.selectedModel?.status?.codigo !== 3) {\r\n\t\t\tthis.cancelada = true\r\n\t\t} else {\r\n\t\t\tthis.cancelada = false\r\n\t\t}\r\n\r\n\t\tif (this.selectedModel?.status?.codigo === 1 || this.selectedModel?.status?.codigo === 2) {\r\n\t\t\tthis.permitido = true;\r\n\t\t} else {\r\n\t\t\tthis.permitido = false;\r\n\t\t}\r\n\r\n\t\tvar dataAtual = new Date()\r\n\r\n\t\tif (new Date(this.selectedModel?.prazo) < dataAtual) {\r\n\t\t\tthis.dataVencida = true\r\n\t\t}\r\n\t}\r\n\r\n\tpublic habilitarResposta(id: number, prazo: Date) {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = 'modal-component';\r\n\t\tdialogConfig.width = '45vw';\r\n\t\tdialogConfig.maxHeight = '85vh';\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = false;\r\n\t\tdialogConfig.data = {\r\n\t\t}\r\n\t\tconst modal = this.matDialog.open(ModalJustificativaComponent, dialogConfig);\r\n\t\tmodal.afterClosed().subscribe(data => {\r\n\t\t\tif (data) {\r\n\t\t\t\tthis.solicitacaoTecnica.habilitarRespostaSolicitacao(id, data, prazo)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}).catch((err) => {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}).finally(() => {\r\n\t\t\t\t\t\tthis.obter()\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic imprimir(element: ISolicitacaoTecnicaModel) {\r\n\t\tthis.router.navigateByUrl(`${this.tipoTrabalho}/${this.tipotrabalhoId}/solicitacao-tecnica/${element?.id}/imprimir`)\r\n\t}\r\n\r\n\r\n\tpublic sortingDataAccessor = (item, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"prazo\":\r\n\t\t\t\treturn item?.prazo;\r\n\t\t\tcase \"status\":\r\n\t\t\t\treturn item?.status?.descricao;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n\tpublic incluirSolicitacaoTecnica(titulo: string, visualizar?: boolean, selectedModel?: ISolicitacaoTecnicaModel,): void {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = 'modal-component-solicitacao-tecnica';\r\n\t\tdialogConfig.width = '80%';\r\n\t\tdialogConfig.height = '90%';\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = {\r\n\t\t\ttitulo,\r\n\t\t\telement: selectedModel,\r\n\t\t\tid: selectedModel?.id,\r\n\t\t\tstatus: selectedModel?.status,\r\n\t\t\tvisualizar,\r\n\t\t\ttipoTrabalhoId: this.tipotrabalhoId,\r\n\t\t\tplanejamentoId: this.planejamentoId,\r\n\t\t\tnumeroOpa: this.numeroOpa,\r\n\t\t\ttipoTrabalho: this.tipoTrabalho,\r\n\t\t\tnumeroST: selectedModel?.numero\r\n\t\t};\r\n\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tIncluirSolicitacaoComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n\r\n\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\tif (data) {\r\n\t\t\t}\r\n\t\t\tthis.obter()\r\n\t\t});\r\n\t}\r\n\r\n\tpublic modalVisualizarResposta(id: number): void {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = 'modal-component-resposta';\r\n\t\tdialogConfig.width = '60%';\r\n\t\tdialogConfig.height = 'auto';\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = false;\r\n\t\tdialogConfig.data = {\r\n\t\t\ttitulo: 'Visualizar Resposta',\r\n\t\t\tid: id,\r\n\t\t};\r\n\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tModalVisualizarRespostaComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n\r\n\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\tif (data) {\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic cancelarSolicitacao(id: number) {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = 'modal-component';\r\n\t\tdialogConfig.width = '45vw';\r\n\t\tdialogConfig.maxHeight = '85vh';\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = false;\r\n\t\tdialogConfig.data = {\r\n\t\t}\r\n\t\tconst modal = this.matDialog.open(ModalJustificativaComponent, dialogConfig);\r\n\t\tmodal.afterClosed().subscribe(data => {\r\n\t\t\tif (data) {\r\n\t\t\t\tthis.solicitacaoTecnica.cancelarSolicitacao(id, data)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}).catch((err) => {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}).finally(() => {\r\n\t\t\t\t\t\tthis.obter()\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tpublic excluir(id: number) {\r\n\t\tSwal.fire({\r\n\t\t\ttitle: \"Excluir Registro\",\r\n\t\t\ttext: \"Tem certeza que deseja excluir esse Registro?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t}).then((res) => {\r\n\t\t\tif (res.value) {\r\n\t\t\t\tthis.solicitacaoTecnica\r\n\t\t\t\t\t.excluir(id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}).finally(() => {\r\n\t\t\t\t\t\tthis.obter()\r\n\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n N° Solicitação
Técnica
{{ element?.numero ? element?.numero : '-' }}Assunto\r\n \r\n Prazo{{ element?.prazo | date: 'shortDate' }}Responsável{{ element?.quantidadeResponsaveis }}Status\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n Resposta\r\n
\r\n \r\n
\r\n
\r\n
\r\n\t\t\tNenhum registro encontrado.\r\n\t\t
\r\n \r\n \r\n\r\n
\r\n
\r\n","import { ActivatedRoute, Router } from '@angular/router';\r\nimport { SolicitacaoTecnicaService } from './../../../../services/solicitacao-tecnica.service';\r\nimport { ISolicitacaoTecnicaModel } from './../../../../models/solicitacao-tecnica.model';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-imprimir-solicitacao',\r\n templateUrl: './imprimir-solicitacao.component.html',\r\n styleUrls: ['./imprimir-solicitacao.component.scss']\r\n})\r\nexport class ImprimirSolicitacaoComponent implements OnInit {\r\n\r\n\tpublic model: ISolicitacaoTecnicaModel = {} as ISolicitacaoTecnicaModel;\r\n constructor(\r\n public serviceSolicitacao: SolicitacaoTecnicaService,\r\n public route: ActivatedRoute,\r\n public router: Router,\r\n ) {\r\n this.model.id = Number(this.route.snapshot.paramMap.get('solicitacaotecnicaId'));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.obterPorId()\r\n }\r\n\r\n public obterPorId() {\r\n\t\tthis.serviceSolicitacao.obterPorId(this.model?.id).then((res) => {\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tthis.model = res.dados\r\n\r\n\t\t\t} else {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\r\n public cancelar() {\r\n window.history.back()\r\n }\r\n\r\n public print() {\r\n window.print();\r\n }\r\n}\r\n","\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t

Solicitação Técnica

\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tAssociado a:\r\n\t\t\t\t\t\t\t

{{ model?.planejamento?.opa?.numero }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tNº Solicitação Técnica:\r\n\t\t\t\t\t\t\t

{{ model?.numero }}

\r\n\t\t\t\t\t\t\t

-

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tPrazo:\r\n\t\t\t\t\t\t\t

{{ model?.prazo | date: \"shortDate\" }}

\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tStatus:\r\n\t\t\t\t\t\t\t

{{ model?.status?.descricao }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tAssunto:\r\n\t\t\t\t\t\t

{{ model?.assunto }}

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tUnidade Gestora:\r\n\t\t\t\t\t\t\t

{{ ug?.siglaUg }} - {{ ug?.nomeUg }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tResponsável:\r\n\t\t\t\t\t\t\t

{{ ug?.nomeAuditor }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tItem Nº: \r\n\t\t\t\t\t\t

{{ item?.numero }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tTitulo:\r\n\t\t\t\t\t\t\t

{{ item?.titulo }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tDescrição:\r\n\t\t\t\t\t\t\t

{{ item?.descricao }}

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tArquivos do Item:\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{{ anexo?.nomeArquivo }}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tDescrição da Resposta:\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{ item?.resposta?.descricao }}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t

NÃO RESPONDIDO

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\tArquivos da Resposta:\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

{{ anexo?.nomeArquivo }}

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n
","\r\nimport { SolicitacaoTecnicaService } from 'src/app/services/solicitacao-tecnica.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport Swal from 'sweetalert2';\r\n\r\nexport interface IAprovarModel {\r\n prazo: Date;\r\n avaliacao: boolean | number;\r\n}\r\n@Component({\r\n selector: 'app-modal-avaliar-prorrogacao',\r\n templateUrl: './modal-avaliar-prorrogacao.component.html',\r\n styleUrls: ['./modal-avaliar-prorrogacao.component.scss']\r\n})\r\nexport class ModalAvaliarProrrogacaoComponent implements OnInit {\r\n public submitted: boolean = false;\r\n public model: IAprovarModel = {} as IAprovarModel;\r\n public solicitacaoId: number;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public service: SolicitacaoTecnicaService,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n this.solicitacaoId = data?.solicitacaoId\r\n }\r\n\r\n public form = new FormGroup({\r\n\t\tprazo: new FormControl(\"\", Validators.required),\r\n justificativa: new FormControl(\"\", Validators.required)\r\n\t});\r\n\r\n ngOnInit(): void {\r\n this.model.avaliacao = 1\r\n this.form.controls['prazo'].setValue(new Date(this.data?.data))\r\n }\r\n\r\n public salvar(){\r\n this.submitted = true;\r\n if(+this.model.avaliacao === 1){\r\n if(this.form.controls['prazo'].invalid){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: 'Favor preencher o Prazo.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return\r\n }\r\n }\r\n\r\n const data = new Date(this.form.get('prazo').value);\r\n const justificativa = this.form.get('justificativa').value;\r\n\r\n const dados = {\r\n avaliacao: this.model?.avaliacao\r\n } as any;\r\n\r\n (this.model?.avaliacao === false || this.model.avaliacao === 0) ? dados.justificativa = justificativa : dados.data = data;\r\n\r\n if(this.form.valid) {\r\n this.service.avaliarProrrogacao(this.solicitacaoId, dados).then((res) => {\r\n if(res.sucesso){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"success\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.dialogRef.close();\r\n }else{\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }).catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"error\",\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n }\r\n\r\n public cancelar() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n}\r\n","\t
\r\n\t\t

Avaliação

\r\n\t
\r\n\t
\r\n
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n
\r\n
Campo obrigatório
\r\n
\r\n\t\t\t
\r\n\t\t
\r\n\r\n
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n
\r\n
Campo obrigatório
\r\n
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n
\r\n\t
\r\n\r\n
\r\n\t\r\n\r\n\t\r\n
\r\n","import { SolicitacaoTecnicaService } from \"./../../../../services/solicitacao-tecnica.service\";\r\nimport { IItemSolicitacaoTecnicaModel } from \"./../../../../models/item-solicitacao-tecnica.model\";\r\nimport {\r\n\tComponent,\r\n\tInject,\r\n\tOnInit,\r\n\tViewChild,\r\n\tAfterViewInit,\r\n} from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { AngularEditorConfig } from \"@kolkov/angular-editor\";\r\nimport { IArquivoModel } from \"src/app/models/arquivo.model\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport Swal from \"sweetalert2\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogConfig,\r\n\tMatDialogRef,\r\n\tMAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { ModalArquivoComponent } from \"../../modal-arquivo/modal-arquivo.component\";\r\n\r\n@Component({\r\n\tselector: \"app-modal-incluir-item\",\r\n\ttemplateUrl: \"./modal-incluir-item.component.html\",\r\n\tstyleUrls: [\"./modal-incluir-item.component.scss\"],\r\n})\r\nexport class ModalIncluirItemComponent implements OnInit, AfterViewInit {\r\n\tpublic model: IItemSolicitacaoTecnicaModel = {} as IItemSolicitacaoTecnicaModel;\r\n\tpublic dataSource = new MatTableDataSource([]);\r\n\tpublic semDados: boolean = true;\r\n\tpublic submitted: boolean;\r\n\tpublic titulo: string = \"\";\r\n\tpublic visualizar: boolean;\r\n\tpublic solicitacaoId: number;\r\n public nSolicitacaoTecnica: number;\r\n\tpublic nrItem: number;\r\n\r\n\tpublic form = new FormGroup({\r\n\t\ttitulo: new FormControl(\"\", Validators.required),\r\n\t\tdescricao: new FormControl(\"\", Validators.required),\r\n\t});\r\n\r\n\tconstructor(\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate dialogRef: MatDialogRef,\r\n\t\tpublic solicitacaoService: SolicitacaoTecnicaService,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data\r\n\t) {\r\n\t\tthis.visualizar = data?.visualizar;\r\n\t\tthis.titulo = data?.titulo;\r\n\t\tthis.solicitacaoId = data?.id;\r\n\t\tthis.model.id = data?.element?.id;\r\n \tthis.nSolicitacaoTecnica = data?.numero;\r\n\t\tthis.nrItem = data?.element?.numero;\r\n\t}\r\n\r\n\t@ViewChild(\"myDiv\") private angularEditor: any;\r\n\r\n\t@ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\t@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n\tconfig: AngularEditorConfig = {\r\n\t\teditable: true,\r\n\t\tspellcheck: true,\r\n\t\theight: \"10rem\",\r\n\t\tminHeight: \"5rem\",\r\n\t\ttranslate: \"yes\",\r\n\t\tenableToolbar: true,\r\n\t\tshowToolbar: true,\r\n\t\tdefaultParagraphSeparator: \"\",\r\n\t\tdefaultFontName: \"\",\r\n\t\tdefaultFontSize: \"\",\r\n\t\tfonts: [\r\n\t\t\t{ class: \"arial\", name: \"Arial\" },\r\n\t\t\t{ class: \"times-new-roman\", name: \"Times New Roman\" },\r\n\t\t\t{ class: \"calibri\", name: \"Calibri\" },\r\n\t\t\t{ class: \"comic-sans-ms\", name: \"Comic Sans MS\" },\r\n\t\t],\r\n\t\tcustomClasses: [\r\n\t\t\t{\r\n\t\t\t\tname: \"quote\",\r\n\t\t\t\tclass: \"quote\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: \"redText\",\r\n\t\t\t\tclass: \"redText\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: \"titleText\",\r\n\t\t\t\tclass: \"titleText\",\r\n\t\t\t\ttag: \"h1\",\r\n\t\t\t},\r\n\t\t],\r\n\t\tuploadUrl: \"v1/image\",\r\n\t\tuploadWithCredentials: false,\r\n\t\tsanitize: true,\r\n\t\ttoolbarPosition: \"top\",\r\n\t\ttoolbarHiddenButtons: [[\"bold\", \"italic\"], [\"fontSize\"]],\r\n\t};\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tfunction load(e: any) {\r\n\t\t\tvar element = e.target as HTMLTextAreaElement;\r\n\t\t\tlet permitirTeclas =\r\n\t\t\t\te.key !== \"Backspace\" &&\r\n\t\t\t\te.key !== \"ArrowLeft\" &&\r\n\t\t\t\te.key !== \"ArrowRight\";\r\n\t\t\tif (element.innerHTML.length === 500 && permitirTeclas) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.angularEditor?.textArea?.nativeElement?.addEventListener(\r\n\t\t\t\"keydown\",\r\n\t\t\tload,\r\n\t\t\tfalse\r\n\t\t);\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n if(this.model?.id){\r\n this.obterPorId()\r\n }\r\n\t\tthis.dataSource.paginator = this.paginator;\r\n\t\tthis.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = this.sortingDataAccessor\r\n\r\n\t\tif (this.visualizar === true) {\r\n\t\t\tthis.form.disable();\r\n\t\t}\r\n\t}\r\n\r\n public obterPorId(){\r\n this.solicitacaoService.obterItemId(this.solicitacaoId, this.model?.id).then((res) =>{\r\n if(res.sucesso){\r\n this.form.controls['titulo'].setValue(res?.dados?.titulo)\r\n this.form.controls['descricao'].setValue(res?.dados?.descricao)\r\n this.dataSource.data = res?.dados?.anexo;\r\n\r\n\t\t this.dataSource.paginator = this.paginator;\r\n\t\t this.dataSource.sort = this.sort;\r\n this.dataSource.sortingDataAccessor = this.sortingDataAccessor\r\n }else{\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n }\r\n\r\n public sortingDataAccessor = (item, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"arquivo\":\r\n\t\t\t\treturn item?.nomeArquivo;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n\tpublic Download(arquivo: IArquivoModel) {\r\n this.solicitacaoService.downloadAnexo(this.model.id, arquivo.id).then((res) =>{\r\n if (res.sucesso) {\r\n const link = document.createElement(\"a\");\r\n link.href = res.dados.toString();\r\n link.download = arquivo.nomeArquivo;\r\n link.click();\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }})\r\n\t}\r\n\r\n\tpublic salvar(modalIncluirArquivo?: boolean, isClose?: boolean) {\r\n\t\tthis.submitted = true;\r\n\t\tif (this.form.invalid) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tconst dados = {\r\n\t\t\tid: this.model?.id,\r\n solicitacaoTecnicaId:this.solicitacaoId,\r\n\t\t\ttitulo: this.form.get(\"titulo\").value,\r\n\t\t\tdescricao: this.form.get(\"descricao\").value,\r\n\t\t} as IItemSolicitacaoTecnicaModel;\r\n\t\tthis.solicitacaoService\r\n\t\t\t.salvarItem(this.solicitacaoId, dados)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.model.id = res?.dados?.id;\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n if (isClose) this.dialogRef.close(true);\r\n if (modalIncluirArquivo) this.modalIncluirArquivo();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {});\r\n\t}\r\n\r\n\tpublic modalIncluirArquivo() {\r\n if(!this.model?.id){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n title: \"Atenção\",\r\n icon: \"warning\",\r\n text: \"Antes, salve as informações!\",\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.salvar(true);\r\n }else{\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = \"modal-component-arquivo\";\r\n dialogConfig.width = \"45vw\";\r\n dialogConfig.height = 'auto';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n id: this.model?.id,\r\n numero: this.model?.numero,\r\n nSolicitacaoTecnica: this.nSolicitacaoTecnica,\r\n solicitacaoId: this.solicitacaoId\r\n };\r\n const modal = this.matDialog.open(ModalArquivoComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if(data){\r\n\r\n }\r\n this.obterPorId()\r\n });\r\n }\r\n\t}\r\n\r\n\tpublic excluirArquivo(id: number) {\r\n\t\tSwal.fire({\r\n\t\t\ttitle: \"Excluir Registro\",\r\n\t\t\ttext: \"Tem certeza que deseja excluir esse Registro?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t}).then((res) => {\r\n\t\t\tif (res.value) {\r\n\t\t\t\tthis.solicitacaoService\r\n\t\t\t\t\t.excluirAnexo(this.solicitacaoId, this.model?.id, id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n this.obterPorId()\r\n });\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic cancelar() {\r\n\t\tthis.dialogRef.close(false);\r\n\t}\r\n}\r\n","
\r\n

\r\n \r\n {{titulo}} Item\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
Arquivos\r\n {{ element?.nomeArquivo }}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
0\" class=\"table-no-data\">\r\n Nenhum registro encontrado\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","\r\nimport { IItemSolicitacaoTecnicaModel } from \"./../../../../models/item-solicitacao-tecnica.model\";\r\nimport { IResponsavelModel } from \"src/app/models/responsaveis.model\";\r\nimport { IUnidadeGestoraModel } from \"src/app/models/unidade-gestora.model\";\r\nimport {\r\n\tISolicitacaoTecnicaModel,\r\n\tISolicitacaoTecnicaUnidadeGestoraModel,\r\n} from \"./../../../../models/solicitacao-tecnica.model\";\r\nimport { SolicitacaoTecnicaService } from \"./../../../../services/solicitacao-tecnica.service\";\r\nimport { ModalIncluirItemComponent } from \"./../modal-incluir-item/modal-incluir-item.component\";\r\nimport { angularEditorConfig } from \"./../../../util/angularEditorConfig\";\r\nimport { AngularEditorConfig } from \"@kolkov/angular-editor\";\r\nimport {\r\n\tComponent,\r\n\tInject,\r\n\tOnInit,\r\n\tViewChild,\r\n\tAfterViewInit,\r\n} from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogConfig,\r\n\tMatDialogRef,\r\n\tMAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport Swal from \"sweetalert2\";\r\nimport { ModalJustificativaComponent } from \"../../modal-justificativa/modal-justificativa.component\";\r\nimport { ModalIncluirUgComponent } from \"../modal-incluir-ug/modal-incluir-ug.component\";\r\nimport { IEnumModel } from \"src/app/models/enum.model\";\r\nimport { ModalAvaliarProrrogacaoComponent } from \"../modal-avaliar-prorrogacao/modal-avaliar-prorrogacao.component\";\r\nimport { EnumTipoDocumentoAprovacao } from \"src/app/models/enum/tipo-documento-aprovacao.enum\";\r\n@Component({\r\n\tselector: \"app-modal-incluir-solicitacao\",\r\n\ttemplateUrl: \"./modal-incluir-solicitacao.component.html\",\r\n\tstyleUrls: [\"./modal-incluir-solicitacao.component.scss\"],\r\n})\r\nexport class IncluirSolicitacaoComponent implements OnInit, AfterViewInit {\r\n\tpublic editorConfig: AngularEditorConfig = angularEditorConfig(\r\n\t\t\"Digite o assunto\",\r\n\t\t\"200px\",\r\n\t\t\"100%\"\r\n\t);\r\n\tpublic dataSourceUG = new MatTableDataSource([]);\r\n\tpublic dataSourceItems = new MatTableDataSource([]);\r\n\tpublic visualizar: boolean;\r\n\tpublic titulo: string = \"\";\r\n\tpublic model: ISolicitacaoTecnicaModel = {} as ISolicitacaoTecnicaModel;\r\n\tpublic submitted: boolean;\r\n\tpublic unidadesGetoras: IUnidadeGestoraModel[];\r\n\tpublic responsaveis: IResponsavelModel[];\r\n\tpublic ugSelecionada: IUnidadeGestoraModel;\r\n\tpublic responsavelSelecionado: IResponsavelModel;\r\n\tpublic permitidoIncluir: boolean;\r\n\tpublic tipoTrabalho: IEnumModel = {} as IEnumModel;\r\n\tpublic planejamentoId: number;\r\n\tpublic prorrogacao = true\r\n\tpublic numeroST: string;\r\n\r\n\tpublic incluirSolicitacao: FormGroup = this.fb.group({\r\n\t\tassunto: [\"\", Validators.required],\r\n\t\tprazoResposta: [\"\", Validators.required],\r\n\t});\r\n\r\n\t@ViewChild(\"TableOnePaginator\", { static: true })\r\n\ttableOnePaginator: MatPaginator;\r\n\t@ViewChild(\"tabela1\", { static: true }) tabela1: MatSort;\r\n\r\n\t@ViewChild(\"TableTwoPaginator\", { static: true })\r\n\ttableTwoPaginator: MatPaginator;\r\n\t@ViewChild(\"tabela2\", { static: true }) tabela2: MatSort;\r\n\r\n\t@ViewChild(\"TableThreePaginator\", { static: true })\r\n\ttableThreePaginator: MatPaginator;\r\n\t@ViewChild(\"tabela3\", { static: true }) tabela3: MatSort;\r\n\r\n\t@ViewChild(\"maxLengthEditor\") private angularEditor: any;\r\n\r\n\tconstructor(\r\n\t\tprivate fb: FormBuilder,\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tpublic serviceSolicitacao: SolicitacaoTecnicaService,\r\n\t\tprivate dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data\r\n\t) {\r\n\t\tif (data?.id) {\r\n\t\t\tthis.model.id = data?.id;\r\n\t\t}\r\n\t\tthis.visualizar = data?.visualizar;\r\n\t\tthis.titulo = data?.titulo;\r\n\t\tthis.model.status = data?.status;\r\n\t\tthis.model.tipoTrabalhoId = data?.tipoTrabalhoId;\r\n\t\tthis.model.associado = data?.numeroOpa;\r\n\t\tthis.tipoTrabalho = data.tipoTrabalho;\r\n\t\tthis.planejamentoId = data.planejamentoId;\r\n\t\tthis.numeroST = data?.numeroST;\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tif (this.model?.id) {\r\n\t\t\tthis.obterPorId();\r\n\t\t}\r\n\r\n\r\n\t\tthis.dataSourceItems.paginator = this.tableThreePaginator;\r\n\t\tthis.dataSourceItems.sort = this.tabela3;\r\n\t\tthis.dataSourceItems.sortingDataAccessor = this.sortingDataAccessor;\r\n\r\n\t\tthis.dataSourceUG.paginator = this.tableOnePaginator;\r\n\t\tthis.dataSourceUG.sort = this.tabela1;\r\n\t\tthis.dataSourceUG.sortingDataAccessor = this.sortingDataAccessor;\r\n\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\r\n\t\tfunction maxLengthAngularEditor(e: any) {\r\n\t\t\tvar element = e.target as HTMLTextAreaElement;\r\n\t\t\tlet permitirTeclas =\r\n\t\t\t\te.key !== \"Backspace\" &&\r\n\t\t\t\te.key !== \"ArrowLeft\" &&\r\n\t\t\t\te.key !== \"ArrowRight\";\r\n\t\t\tif (element.innerHTML.length === 500 && permitirTeclas) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.angularEditor?.textArea?.nativeElement.addEventListener(\r\n\t\t\t\"keydown\",\r\n\t\t\tmaxLengthAngularEditor,\r\n\t\t\tfalse\r\n\t\t);\r\n\t}\r\n\r\n\tpublic sortingDataAccessor = (item, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"ug\":\r\n\t\t\t\treturn item?.unidadeGestora?.text;\r\n\t\t\tcase \"responsavel\":\r\n\t\t\t\treturn item?.responsavel?.text;\r\n case \"tituloItem\":\r\n\t\t\t\treturn item?.titulo;\r\n\t\t\tcase \"numero\":\r\n\t\t\t\treturn item?.numero;\r\n\t\t\tcase \"status\":\r\n\t\t\t\treturn item?.status?.descricao;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n\r\n\tpublic obterPorId() {\r\n\t\tthis.serviceSolicitacao.obterPorId(this.model?.id).then((res) => {\r\n\t\t\tif (res.sucesso) {\r\n\t\t\t\tthis.dataSourceItems =\r\n\t\t\t\t\tnew MatTableDataSource(\r\n\t\t\t\t\t\tres.dados.item\r\n\t\t\t\t\t);\r\n\t\t\t\tthis.incluirSolicitacao.controls[\"assunto\"].setValue(\r\n\t\t\t\t\tres.dados.assunto\r\n\t\t\t\t);\r\n this.model.prazo = new Date(res.dados.prazo);\r\n this.model.id = res?.dados?.id;\r\n this.model.status = res?.dados?.status\r\n this.model.numero = res.dados.numero\r\n this.model.prorrogarSolicitacao = res?.dados?.prorrogarSolicitacao\r\n\t\tthis.dataSourceItems.paginator = this.tableThreePaginator;\r\n this.dataSourceItems.sort = this.tabela3;\r\n this.dataSourceItems.sortingDataAccessor = this.sortingDataAccessor;\r\n\r\n this.serviceSolicitacao.obterUgResponsavel(this.model.id).then((res) => {\r\n if(res.sucesso) {\r\n this.dataSourceUG.data = res.dados.map(a => {\r\n return {\r\n solicitacaoTecnicaId: a.solicitacaoTecnicaId,\r\n unidadeGestora: {\r\n value: a.unidadeGestoraId,\r\n text: `${a.siglaUg} - ${a.nomeUg}`\r\n },\r\n responsavel: {\r\n value: a.responsavelId,\r\n text: a.nomeAuditor\r\n }\r\n } as ISolicitacaoTecnicaUnidadeGestoraModel\r\n });\r\n\r\n this.dataSourceUG.paginator = this.tableOnePaginator;\r\n this.dataSourceUG.sort = this.tabela1;\r\n this.dataSourceUG.sortingDataAccessor = this.sortingDataAccessor;\r\n }\r\n })\r\n\r\n\r\n\t\t\t} else {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic finalizar() {\r\n\t\tthis.serviceSolicitacao\r\n\t\t\t.finalizar(this.model?.id)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.model.status = res?.dados?.status;\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tpublic enviar() {\r\n\t\tthis.serviceSolicitacao\r\n\t\t\t.enviar(this.model?.id, this.tipoTrabalho?.nome)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.model.status = res?.dados?.status;\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n this.dialogRef.close()\r\n\t\t\t\t} else {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\r\n\tpublic excluirUg(i: number, element: ISolicitacaoTecnicaUnidadeGestoraModel) {\r\n if(element?.solicitacaoTecnicaId) {\r\n Swal.fire({\r\n title: \"Excluir Registro\",\r\n text: \"Tem certeza que deseja excluir esse Registro?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then((res) => {\r\n if (res.value) {\r\n this.serviceSolicitacao.desvincularUgResponsavel(element.solicitacaoTecnicaId, element.unidadeGestora.value).then((res) => {\r\n if(res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"success\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.obterPorId();\r\n }\r\n })\r\n }})\r\n } else {\r\n this.dataSourceUG.data.splice(i, 1);\r\n this.dataSourceUG._updateChangeSubscription();\r\n }\r\n\t}\r\n\r\n\tpublic salvar(exibirModalAdicionarItem?: boolean) {\r\n\t\tthis.submitted = true;\r\n\t\tif (this.incluirSolicitacao.invalid) {\r\n\t\t\treturn;\r\n\t\t}\r\n if(this.dataSourceUG.data.length <= 0){\r\n Swal.fire({\r\n toast: true,\r\n title: '',\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: 'Selecione ao menos uma Unidade Gestora',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return\r\n }\r\n\t\tconst dados = {\r\n\t\t\tid: this.model?.id,\r\n\t\t\tprazo: this.incluirSolicitacao.get(\"prazoResposta\").value,\r\n\t\t\tassunto: this.incluirSolicitacao.get(\"assunto\").value,\r\n\t\t\ttipoTrabalho: {codigo: this.tipoTrabalho.codigo} ,\r\n\t\t\ttipoTrabalhoId: this.data?.tipoTrabalhoId\r\n\t\t} as ISolicitacaoTecnicaModel;\r\n\r\n\t\tthis.serviceSolicitacao\r\n\t\t\t.salvarSolicitacao(dados)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.model.id = res?.dados?.id;\r\n this.salvarUgResponsavel()\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n if (exibirModalAdicionarItem) this.modalIncluiritem('Incluir', false);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t\t}).finally(()=>{\r\n this.obterPorId()\r\n })\r\n\t}\r\n\r\n\tpublic modalIncluiritem(\r\n\t\ttitulo: string,\r\n\t\tvisualizar: boolean,\r\n\t\telement?: IItemSolicitacaoTecnicaModel\r\n\t)\r\n {if(!this.model?.id){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n title: \"Atenção\",\r\n icon: \"warning\",\r\n text: \"Antes, salve as informações!\",\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.salvar(true)\r\n }else{\r\n const dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component\";\r\n\t\tdialogConfig.width = \"45vw\";\r\n\t\tdialogConfig.maxHeight = \"90vh\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = {\r\n\t\t\ttitulo,\r\n\t\t\tvisualizar,\r\n\t\t\tid: this.model?.id,\r\n\t\t\telement,\r\n \t\tnSolicitacaoTecnica: this.numeroST\r\n\t\t};\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tModalIncluirItemComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\tif (data) {\r\n\t\t\tthis.obterPorId()\r\n\t\t} \r\n });\r\n }\r\n\r\n\t}\r\n\tpublic modalIncluirUg() {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component-ug\";\r\n\t\tdialogConfig.width = \"70vw\";\r\n\t\tdialogConfig.maxHeight = \"65vh\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = {\r\n id: this.model?.tipoTrabalhoId,\r\n dataSourcePaiUg: this.dataSourceUG.data,\r\n tipoTrabalho: this.tipoTrabalho,\r\n planejamentoId: this.planejamentoId\r\n };\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tModalIncluirUgComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n\t\tmodal.afterClosed().subscribe((data: ISolicitacaoTecnicaUnidadeGestoraModel[]) => {\r\n if (data) {\r\n data.forEach(element => {\r\n this.dataSourceUG.data = [...this.dataSourceUG.data, element]\r\n });\r\n }\r\n });\r\n\t}\r\n\r\n public salvarUgResponsavel(){\r\n const dados = {\r\n ugsResponsavel: this.dataSourceUG.data.map((item) => {\r\n return {\r\n unidadeGestoraId: +item.unidadeGestora.value,\r\n responsavelId: item.responsavel.value\r\n }\r\n })\r\n }\r\n this.serviceSolicitacao.salvarUgResponsavel(this.model.id, dados).then((res) => {\r\n if(res.sucesso){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"success\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.obterPorId()\r\n }else{\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }).catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n text: err.mensagem.descricao,\r\n icon: \"error\",\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n\tpublic excluirItem(id: number) {\r\n\t\tSwal.fire({\r\n\t\t\ttitle: \"Excluir Registro\",\r\n\t\t\ttext: \"Tem certeza que deseja excluir esse Registro?\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\tshowCancelButton: true,\r\n\t\t\tconfirmButtonText: \"Sim\",\r\n\t\t\tcancelButtonText: \"Não\",\r\n\t\t}).then((res) => {\r\n\t\t\tif (res.value) {\r\n\t\t\t\tthis.serviceSolicitacao\r\n\t\t\t\t\t.excluirItem(this.model?.id, id)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n this.obterPorId()\r\n });\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic cancelarItem(id: number) {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component\";\r\n\t\tdialogConfig.width = \"45vw\";\r\n\t\tdialogConfig.maxHeight = \"85vh\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = false;\r\n\t\tdialogConfig.data = {};\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tModalJustificativaComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\tif (data) {\r\n\t\t\t\tthis.serviceSolicitacao\r\n\t\t\t\t\t.cancelarItem(this.model?.id, id , data)\r\n\t\t\t\t\t.then((res) => {\r\n\t\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\t\ticon: \"success\",\r\n\t\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => {\r\n this.obterPorId()\r\n });\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tpublic avaliar() {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component\";\r\n\t\tdialogConfig.width = \"25vw\";\r\n\t\tdialogConfig.maxHeight = \"85vh\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = {\r\n solicitacaoId: this.model?.id,\r\n data: this.model?.prorrogarSolicitacao?.data\r\n };\r\n\t\tconst modal = this.matDialog.open(\r\n\t\t\tModalAvaliarProrrogacaoComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n\t\tmodal.afterClosed().subscribe((data) => {\r\n\t\t\tthis.obterPorId()\r\n\t\t});\r\n\t}\r\n\r\n\tpublic cancelar() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n}\r\n","\r\n
\r\n
\r\n

{{ titulo }} Solicitação Técnica

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n Unidade(s) Gestora(s)\r\n \r\n {{element?.unidadeGestora?.text}}\r\n \r\n Responsável\r\n \r\n {{ element?.responsavel?.text }}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
0\">\r\n Nenhum registro encontrado\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
Campo obrigatório
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n Nº\r\n \r\n -\r\n {{ element.numero }}\r\n \r\n Titulo do item\r\n \r\n {{ element.titulo }}\r\n \r\n Status\r\n \r\n -\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n {{element?.status?.descricao}}\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
0\">\r\n Nenhum registro encontrado\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { SolicitacaoTecnicaService } from './../../../../services/solicitacao-tecnica.service';\r\nimport { Component, Inject, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogRef,\r\n\tMAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { IResponsavelModel } from \"src/app/models/responsaveis.model\";\r\nimport { ISolicitacaoTecnicaUnidadeGestoraModel } from \"src/app/models/solicitacao-tecnica.model\";\r\nimport { IUnidadeGestoraModel } from \"src/app/models/unidade-gestora.model\";\r\nimport Swal from 'sweetalert2';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\n\r\n@Component({\r\n\tselector: \"app-modal-incluir-ug\",\r\n\ttemplateUrl: \"./modal-incluir-ug.component.html\",\r\n\tstyleUrls: [\"./modal-incluir-ug.component.scss\"],\r\n})\r\nexport class ModalIncluirUgComponent implements OnInit {\r\n\tpublic dataSourceUG =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic unidadesGetoras: IUnidadeGestoraModel[];\r\n\tpublic responsaveis: IResponsavelModel[];\r\n\tpublic ugSelecionada: IUnidadeGestoraModel = {} as IUnidadeGestoraModel;\r\n\tpublic responsavelSelecionado: IResponsavelModel = {} as IResponsavelModel;\r\n public ugCadastrada: ISolicitacaoTecnicaUnidadeGestoraModel[] = [] as ISolicitacaoTecnicaUnidadeGestoraModel[];\r\n public dataSourceUgPai: ISolicitacaoTecnicaUnidadeGestoraModel[] = [] as ISolicitacaoTecnicaUnidadeGestoraModel[];\r\n public tipoTrabalho: IEnumModel = {} as IEnumModel;\r\n public planejamentoId: number;\r\n\r\n\tpublic form = new FormGroup({\r\n\t\tug: new FormControl(\"\", Validators.required),\r\n\t\tresponsavel: new FormControl(\"\", Validators.required),\r\n\t});\r\n\r\n\tconstructor(\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate dialogRef: MatDialogRef,\r\n public service: SolicitacaoTecnicaService,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data\r\n\t) {\r\n this.dataSourceUgPai = data.dataSourcePaiUg;\r\n this.tipoTrabalho = data.tipoTrabalho\r\n if(this.tipoTrabalho?.codigo === 4){\r\n this.planejamentoId = data?.planejamentoId\r\n }else if(this.tipoTrabalho?.codigo === 7){\r\n this.planejamentoId = data?.id\r\n }\r\n }\r\n\r\n\t@ViewChild(\"TableOnePaginator\", { static: true })\r\n\ttableOnePaginator: MatPaginator;\r\n\t@ViewChild(\"tabela1\", { static: true }) tabela1: MatSort;\r\n\r\n\tngOnInit(): void {\r\n this.responsavelSelecionado = undefined;\r\n this.ugSelecionada = undefined;\r\n this.obterUG()\r\n\t\tthis.dataSourceUG.sort = this.tabela1;\r\n\t\tthis.dataSourceUG.sortingDataAccessor = this.sortingDataAccessor;\r\n }\r\n\r\n public obterUG(){\r\n this.service.obterUnidadeGestora( this.tipoTrabalho.nome, this.planejamentoId).then((res) => {\r\n if(res.sucesso){\r\n this.unidadesGetoras = res.dados\r\n }else{\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n }\r\n\r\n public obterResponsaveis(id: number){\r\n this.service.obterResponsaveis(id).then((res) => {\r\n if(res.sucesso){\r\n this.responsaveis = res.dados;\r\n }else{\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }})\r\n\r\n }\r\n\r\n\tpublic salvar() {\r\n\t\tthis.dialogRef.close(this.dataSourceUG.data);\r\n\t}\r\n\r\n\tpublic adicionarUg() {\r\n\r\n const findUgSelecionada = this.dataSourceUgPai.find(x => (x?.responsavel?.value === this.responsavelSelecionado?.value) && ((Number(x?.unidadeGestora?.value) === Number(this.ugSelecionada?.value))))\r\n const findDataUgSelecionada = this.dataSourceUG.data.find(x => (x?.responsavel?.value === this.responsavelSelecionado?.value) && ((Number(x?.unidadeGestora?.value) === Number(this.ugSelecionada?.value))))\r\n\r\n if ((Object?.keys(findUgSelecionada || {} )?.length > 0) || (Object?.keys(findDataUgSelecionada || {} )?.length > 0)) {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: ' Unidade gestora, já selecionada!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n\r\n\t\tthis.dataSourceUG.data.push({\r\n\t\t\tunidadeGestora: {\r\n\t\t\t\ttext: this.ugSelecionada.text,\r\n\t\t\t\tvalue: this.ugSelecionada.value,\r\n\t\t\t},\r\n\t\t\tresponsavel: {\r\n\t\t\t\ttext: this.responsavelSelecionado.text,\r\n\t\t\t\tvalue: this.responsavelSelecionado.value,\r\n\t\t\t},\r\n\t\t} as ISolicitacaoTecnicaUnidadeGestoraModel);\r\n\t\tthis.dataSourceUG.data = this.dataSourceUG.data;\r\n\t\tthis.dataSourceUG.paginator = this.tableOnePaginator;\r\n\r\n this.ugSelecionada = undefined;\r\n\t\tthis.responsavelSelecionado = undefined;\r\n\r\n\t}\r\n\r\n\tpublic sortingDataAccessor = (item, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"ug\":\r\n\t\t\t\treturn item.unidadeGestora?.sigla;\r\n\t\t\tcase \"responsavel\":\r\n\t\t\t\treturn item.unidadeGestora?.sigla;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n\tpublic excluirUg(i: number, element: ISolicitacaoTecnicaUnidadeGestoraModel) {\r\n this.dataSourceUG.data.splice(i, 1);\r\n\t\tthis.dataSourceUG._updateChangeSubscription();\r\n\r\n\r\n\t}\r\n\r\n\tpublic cancelar() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n}\r\n","
\r\n\t

Incluir UG

\r\n
\r\n
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ item.text }}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{{ item.text }}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n
\r\n \r\n \r\n Adicionar\r\n \r\n
\r\n\t\t\t
\r\n\t\t
\r\n\t
0\">\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tUnidade(s) Gestora(s)\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ element?.unidadeGestora?.text }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tResponsável\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{ element?.responsavel?.text }}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tAção\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t 0\"\r\n\t\t\t\t>\r\n\t\t\t\t\tNenhum registro encontrado\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n
\r\n\t\r\n\t\t Salvar\r\n\t\r\n\t\r\n
\r\n","import { SolicitacaoTecnicaService } from \"./../../../../services/solicitacao-tecnica.service\";\r\nimport { IArquivoModel } from \"./../../../../models/arquivo.model\";\r\nimport { IArquivoRespostaModel, IItemSolicitacaoTecnicaModel, IRepostaItemModel } from \"./../../../../models/item-solicitacao-tecnica.model\";\r\nimport {\r\n\tComponent,\r\n\tOnInit,\r\n\tViewChild,\r\n\tAfterViewInit,\r\n\tInject,\r\n} from \"@angular/core\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogRef,\r\n\tMAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport Swal from \"sweetalert2\";\r\n\r\n@Component({\r\n\tselector: \"app-modal-visualizar-item\",\r\n\ttemplateUrl: \"./modal-visualizar-item.component.html\",\r\n\tstyleUrls: [\"./modal-visualizar-item.component.scss\"],\r\n})\r\nexport class ModalVisualizarItemComponent implements OnInit, AfterViewInit {\r\n\tpublic dataSource = new MatTableDataSource([]);\r\n\tpublic dataSourceResposta = new MatTableDataSource([]);\r\n\tpublic semDados: boolean = false;\r\n\tpublic semDadosResposta: boolean = false;\r\n\tpublic model: IItemSolicitacaoTecnicaModel =\r\n\t\t{} as IItemSolicitacaoTecnicaModel;\r\n\tpublic solicitacaoId: number;\r\n\tpublic numeroSolicitacao: any;\r\n public resposta: IItemSolicitacaoTecnicaModel = {} as IItemSolicitacaoTecnicaModel;\r\n\r\n\tconstructor(\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate dialogRef: MatDialogRef,\r\n\t\tpublic solicitacaoService: SolicitacaoTecnicaService,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data\r\n\t) {\r\n\t\tthis.model.id = data?.id;\r\n\t\tthis.solicitacaoId = data?.solicitacaoTecnicaId;\r\n\t\tthis.numeroSolicitacao = data?.numeroSolicitacao;\r\n\t}\r\n\r\n\t@ViewChild(\"tabelaItemPaginator\", { static: true })\r\n\ttabelaItemPaginator: MatPaginator;\r\n\t@ViewChild(\"tabelaItemSort\", { static: true }) tabelaItemSort: MatSort;\r\n\r\n\t@ViewChild(\"tabelaRespostaPaginator\", { static: true })\r\n\ttabelaRespostaPaginator: MatPaginator;\r\n\t@ViewChild(\"tabelaRespostaSort\", { static: true })\r\n\ttabelaRespostaSort: MatSort;\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.obterPorId();\r\n\r\n if(this.dataSource.data?.length > 0) {\r\n this.dataSource.paginator = this.tabelaItemPaginator;\r\n this.dataSource.sort = this.tabelaItemSort;\r\n this.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n }\r\n\r\n if(this.dataSourceResposta.data?.length > 0) {\r\n this.dataSourceResposta.sortingDataAccessor = this.sortingDataAccessor;\r\n this.dataSourceResposta.sort = this.tabelaRespostaSort;\r\n this.dataSourceResposta.paginator = this.tabelaRespostaPaginator;\r\n }\r\n\t}\r\n\r\n\tngAfterViewInit(): void {}\r\n\r\n\tpublic obterPorId() {\r\n\t\tthis.solicitacaoService\r\n\t\t\t.obterItemId(this.solicitacaoId, this.model?.id)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\tthis.model = res.dados;\r\n\t\t\t\t\tthis.dataSource.data = res?.dados?.anexo;\r\n if(this.dataSource.data?.length > 0) {\r\n this.dataSource.paginator = this.tabelaItemPaginator;\r\n this.dataSource.sort = this.tabelaItemSort;\r\n this.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n }\r\n this.obterResposta()\r\n\t\t\t\t} else {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n public obterResposta() {\r\n this.solicitacaoService.obterRespostaItem(this.solicitacaoId, this.model?.id).then((res) => {\r\n if (res.sucesso) {\r\n this.resposta.respostaItemSolicitacaoTecnica = res?.dados?.respostaItemSolicitacaoTecnica\r\n this.dataSourceResposta.data = res?.dados?.respostaItemSolicitacaoTecnica?.anexos\r\n if( this.dataSourceResposta.data?.length > 0) {\r\n this.dataSourceResposta.sortingDataAccessor = this.sortingDataAccessor;\r\n this.dataSourceResposta.sort = this.tabelaRespostaSort;\r\n this.dataSourceResposta.paginator = this.tabelaRespostaPaginator;\r\n }\r\n }\r\n })}\r\n\r\n\tpublic Download(arquivo: IArquivoModel) {\r\n this.solicitacaoService.downloadAnexo(this.model.id, arquivo.id).then((res) =>{\r\n if (res.sucesso) {\r\n const link = document.createElement(\"a\");\r\n link.href = res.dados.toString();\r\n link.download = arquivo.nomeArquivo;\r\n link.click();\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }})\r\n\t}\r\n\r\n public DownloadResposta(arquivo: IArquivoRespostaModel) {\r\n this.solicitacaoService.downloadArquivoRespostaItem(arquivo).then((res) =>{\r\n if (res.sucesso) {\r\n const link = document.createElement(\"a\");\r\n link.href = res.dados.toString();\r\n link.download = arquivo.nomeArquivo;\r\n link.click();\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }})\r\n\t}\r\n\r\n\tpublic sortingDataAccessor = (item, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"arquivo\":\r\n\t\t\t\treturn item.nomeArquivo;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n\tpublic fechar() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n}\r\n","
\r\n

\r\n \r\n Visualizar Resposta\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Arquivos do Item\r\n {{ element?.nomeArquivo }}\r\n
\r\n
0\" class=\"table-no-data\">\r\n Nenhum registro encontrado\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Arquivos da Resposta\r\n {{ element?.nomeArquivo }}\r\n
\r\n
0\" class=\"table-no-data\">\r\n Nenhum registro encontrado\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { SolicitacaoTecnicaService } from './../../../../services/solicitacao-tecnica.service';\r\nimport { ISolicitacaoTecnicaModel } from './../../../../models/solicitacao-tecnica.model';\r\nimport { IItemSolicitacaoTecnicaModel, IRepostaItemModel } from './../../../../models/item-solicitacao-tecnica.model';\r\nimport { angularEditorConfig } from './../../../util/angularEditorConfig';\r\nimport { Component, Inject, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatDialog, MatDialogConfig, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ModalIncluirItemComponent } from '../modal-incluir-item/modal-incluir-item.component';\r\nimport { ModalVisualizarItemComponent } from '../modal-visualizar-item/modal-visualizar-item.component';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n\tselector: \"app-modal-visualizar-resposta\",\r\n\ttemplateUrl: \"./modal-visualizar-resposta.component.html\",\r\n\tstyleUrls: [\"./modal-visualizar-resposta.component.scss\"],\r\n})\r\nexport class ModalVisualizarRespostaComponent implements OnInit {\r\n\r\n\tpublic titulo: string = \"Visualizar Resposta\";\r\n public dataSourceItems = new MatTableDataSource();\r\n public editorConfig = angularEditorConfig(null, '180px', '100%', false);\r\n public model: ISolicitacaoTecnicaModel = {} as ISolicitacaoTecnicaModel\r\n\r\n\r\n @ViewChild(\"TableOnePaginator\", { static: true })\r\n\ttableOnePaginator: MatPaginator;\r\n\t@ViewChild(\"tabela1\", { static: true }) tabela1: MatSort;\r\n\r\n\tconstructor(private fb: FormBuilder,\r\n private dialogRef: MatDialog,\r\n public matDialog: MatDialog,\r\n\t\tpublic serviceSolicitacao: SolicitacaoTecnicaService,\r\n @Inject(MAT_DIALOG_DATA) public data) {\r\n this.model.id = data?.id\r\n }\r\n\r\n\tngOnInit(): void {\r\n if(this.model?.id){\r\n this.obterPorId()\r\n }\r\n this.dataSourceItems.sort = this.tabela1;\r\n this.dataSourceItems.paginator = this.tableOnePaginator;\r\n this.dataSourceItems.sortingDataAccessor = this.sortingDataAccessor\r\n }\r\n\r\n public obterPorId() {\r\n\t\tthis.serviceSolicitacao.obterPorId(this.model?.id).then((res) => {\r\n\t\t\tif (res.sucesso) {\r\n this.model = res.dados\r\n this.model.prazo = new Date(res.dados.prazo)\r\n\t\t\t\tthis.dataSourceItems = new MatTableDataSource(res?.dados?.item)\r\n\r\n this.dataSourceItems.sort = this.tabela1;\r\n this.dataSourceItems.paginator = this.tableOnePaginator;\r\n this.dataSourceItems.sortingDataAccessor = this.sortingDataAccessor\r\n\t\t\t} else {\r\n\t\t\t\tSwal.fire({\r\n\t\t\t\t\ttoast: true,\r\n\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\ticon: \"warning\",\r\n\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\r\n\r\n\r\n\r\n\tfechar() {\r\n this.dialogRef.closeAll();\r\n }\r\n\r\n public modalVisulizaItem(id: number) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '45vw';\r\n dialogConfig.maxHeight = '90vh';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n solicitacaoTecnicaId: this.model?.id,\r\n id,\r\n numeroSolicitacao: this.model.numero\r\n }\r\n const modal = this.matDialog.open(ModalVisualizarItemComponent, dialogConfig);\r\n modal.afterClosed().subscribe(data => {\r\n });\r\n }\r\n\r\n public sortingDataAccessor = (item: IItemSolicitacaoTecnicaModel, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"prazo\":\r\n\t\t\t\treturn item?.solicitacaoTecnica?.prazo;\r\n\t\t\tcase \"status\":\r\n\t\t\t\treturn item?.status?.descricao;\r\n\t\t\tcase \"numero\":\r\n\t\t\t\treturn item?.numero;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t

{{ titulo }}

\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t\r\n\t
\r\n\r\n","import { CoordenacaoService } from \"src/app/services/coordenacao.service\";\r\nimport { IAuditorModel } from \"./../../../models/alocar-equipe-component\";\r\nimport { Component, Inject, OnInit, ViewChild } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { MatPaginator, PageEvent } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { IAlocarEquipeModel } from \"src/app/models/alocar-equipe-component\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport Swal from \"sweetalert2\";\r\nimport { IAuditorCoordenacaoModel } from \"src/app/models/auditor-coordenacao.model\";\r\n\r\n@Component({\r\n\tselector: \"app-alocar-equipe\",\r\n\ttemplateUrl: \"./alocar-equipe.component.html\",\r\n\tstyleUrls: [\"./alocar-equipe.component.scss\"],\r\n})\r\nexport class AlocarEquipeComponent implements OnInit {\r\n\tpublic model: IAlocarEquipeModel = {} as IAlocarEquipeModel;\r\n\tpublic dataObrigatoria!: any;\r\n\tpublic auditorDataSource =\r\n\t\tnew MatTableDataSource();\r\n\tpublic auditorSemDados: boolean = true;\r\n\tpublic auditorOutraCoordenacaoDataSource =\r\n\t\tnew MatTableDataSource();\r\n\tpublic auditorOutraCoordenacaoSemDados: boolean = true;\r\n\tpublic minDate!: Date;\r\n\tpublic maxDate!: Date;\r\n\tpublic novaListaAuditores = [] as IAuditorModel[];\r\n\r\n\t@ViewChild(\"TableOnePaginator\", { static: true })\r\n\ttableOnePaginator: MatPaginator;\r\n\t@ViewChild(\"tabela1\", { static: true }) tabela1: MatSort;\r\n\r\n\t@ViewChild(\"TableTwoPaginator\", { static: true })\r\n\ttableTwoPaginator: MatPaginator;\r\n\t@ViewChild(\"tabela2\", { static: true }) tabela2: MatSort;\r\n\r\n\tconstructor(\r\n\t\tprivate dialogRef: MatDialogRef,\r\n\t\tpublic coordenacaoService: CoordenacaoService,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data: IAlocarEquipeModel\r\n\t) {\r\n\t\tif (data) {\r\n\t\t\tthis.model = data;\r\n\t\t}\r\n\t}\r\n\r\n\tpublic obterCoordenadoresAuditoria() {\r\n\t\treturn new Promise((resolve) => {\r\n\t\t\tthis.coordenacaoService\r\n\t\t\t\t.obterCoordenadoresAtivos()\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.sucesso) {\r\n\t\t\t\t\t\tresolve(res.dados);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\t\t\ttext: res.mensagem.descricao,\r\n\t\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tSwal.fire({\r\n\t\t\t\t\t\ttoast: true,\r\n\t\t\t\t\t\tposition: \"top-end\",\r\n\t\t\t\t\t\ticon: \"error\",\r\n\t\t\t\t\t\ttext: err.mensagem.descricao,\r\n\t\t\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\t\t\ttimer: 5000,\r\n\t\t\t\t\t\ttimerProgressBar: true,\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.obterCoordenadoresAuditoria().then((res) => {\r\n\t\t\tthis.minDate = new Date(this.model.minDataInicio, 1 - 1, 1);\r\n\t\t\tthis.maxDate = new Date(this.model.maxDataFim, 12 - 1, 31);\r\n\r\n // Auditor da própria coordenação\r\n this.auditorDataSource.data = ((res as IAuditorCoordenacaoModel[])\r\n ?.filter(a => a.coordenacao.id === this.model.tipoAuditoria?.coordenacao?.id))\r\n ?.map((item) => {\r\n const selecionarAuditor = this.model.auditoresSelecionados?.find(a => a?.auditorId === item?.auditorId);\r\n if(selecionarAuditor?.auditorId) item.selecionado = true;\r\n return item\r\n })\r\n\t\t\tthis.auditorDataSource.paginator = this.tableOnePaginator;\r\n\t\t\tthis.auditorDataSource.sort = this.tabela2;\r\n this.auditorSemDados = this.auditorDataSource.data.length === 0;\r\n // Fim auditor própria coordenacão\r\n\r\n // Auditor de outra coordenação\r\n this.auditorOutraCoordenacaoDataSource.data = (res as IAuditorCoordenacaoModel[])\r\n ?.filter(a => a.coordenacao.id !== this.model.tipoAuditoria?.coordenacao?.id)\r\n ?.map((item) => {\r\n const selecionarAuditor = this.model.auditoresSelecionados?.find(a => a?.auditorId === item?.auditorId);\r\n if(selecionarAuditor?.auditorId) item.selecionado = true;\r\n return item\r\n })\r\n this.auditorOutraCoordenacaoDataSource.paginator = this.tableTwoPaginator;\r\n this.auditorOutraCoordenacaoDataSource.sort = this.tabela1;\r\n this.auditorOutraCoordenacaoSemDados = this.auditorOutraCoordenacaoDataSource.data.length === 0;\r\n // Fim auditor outra coordenação\r\n\t\t});\r\n\t}\r\n\r\n\tsetDataObrigatoria() {}\r\n\r\n public dataValida(): boolean {\r\n if (new Date(this.model.dataFim) >= new Date(this.model.dataInicio)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n\tconcatUg(a: string, b: string) {\r\n\t\tif (a && b) {\r\n\t\t\treturn a + \" - \" + b;\r\n\t\t}\r\n\t\treturn \"\";\r\n\t}\r\n\r\n\tselecionarAuditores(a: IAuditorModel[] | IAuditorCoordenacaoModel[]) {\r\n\t\ta.forEach((item) => {\r\n\t\t\tif (item.selecionado === true) {\r\n\t\t\t\tthis.novaListaAuditores.push(item);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tconcluir() {\r\n\t\tthis.selecionarAuditores(this.auditorDataSource.data);\r\n\t\tthis.selecionarAuditores(this.auditorOutraCoordenacaoDataSource.data);\r\n\r\n\t\tthis.model.auditoresSelecionados = this.novaListaAuditores;\r\n\r\n if(!this.dataValida()) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'A data fim não pode ser maior que a data inicio',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n } else if (this.model.auditoresSelecionados.length === 0) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: 'Selecione ao menos 1 auditor',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n } else {\r\n this.dialogRef.close(this.model);\r\n return;\r\n }\r\n\r\n\t}\r\n\r\n\tcancelar() {\r\n\t\tthis.dialogRef.close(false);\r\n\t}\r\n}\r\n","
\r\n
\r\n
\r\n

Alocar Equipe

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n A data inicio não pode ser maior que a data fim\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n A data fim não pode ser menor que a data inicio\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n Auditores da {{ model.tipoAuditoria?.coordenacao?.nome }}\r\n \r\n {{ element.nomeAuditor }}\r\n
\r\n
\r\n Nenhum Auditor cadastrado\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n \r\n \r\n Auditores de outras Coordenações\r\n \r\n {{ element.nomeAuditor }}\r\n
\r\n
\r\n Nenhuma Auditor cadastrado\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-button',\r\n templateUrl: './app-button.component.html',\r\n styleUrls: ['./app-button.component.scss'],\r\n})\r\nexport class AppButtonComponent implements OnInit {\r\n @Input() type = 'button';\r\n @Input() block = false;\r\n @Input() color = 'primary';\r\n @Input() text = '';\r\n @Input() disabled = false;\r\n @Input() loading = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n this.disabled = this.disabled || this.loading;\r\n }\r\n}\r\n","\r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport {\r\n\tMatDialog,\r\n\tMatDialogConfig,\r\n\tMatDialogRef,\r\n} from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { BsLocaleService } from \"ngx-bootstrap/datepicker\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { IBaseModel } from \"src/app/models/base.model\";\r\nimport { IPendenciasModel } from \"src/app/models/pendencias.model\";\r\nimport Swal from \"sweetalert2\";\r\nimport { LookupModalComponent } from \"../lookup-modal/lookup-modal.component\";\r\nimport { LookupMultiselectModalComponent } from \"../lookup-multiselect-modal/lookup-multiselect-modal.component\";\r\n\r\n@Component({\r\n\tselector: \"app-base-form\",\r\n\ttemplate: ``,\r\n\tstyleUrls: ['./base-form.component.scss'],\r\n})\r\nexport class BaseFormComponent implements OnInit {\r\n\tpublic id: number;\r\n\tpublic novoRegistro = true;\r\n\tpublic visualizacao = true;\r\n\tpublic submit = false;\r\n\tpublic visualizar = false;\r\n\tpublic prefixo = \"novo\";\r\n\tpublic titulo: string;\r\n\tpublic responder = false;\r\n\tpublic aba: number = 0;\r\n\r\n\tconstructor(\r\n\t\tpublic route: ActivatedRoute,\r\n\t\tpublic toastr: ToastrService,\r\n\t\tpublic router: Router,\r\n\t\tpublic localeService: BsLocaleService,\r\n\t\tpublic matDialog: MatDialog\r\n\t) {\r\n\t\tthis.localeService.use(\"pt-br\");\r\n\t\tconst visualizacao = this.route.snapshot.routeConfig?.data[\"visualizacao\"];\r\n\t\tconst id = this.route.snapshot.paramMap.get(\"id\");\r\n\t\tconst path = this.route.snapshot.url.pop()?.toString();\r\n\t\tif (id) {\r\n\t\t\tthis.id = parseInt(id, 10);\r\n\t\t\tthis.novoRegistro = false;\r\n\t\t}\r\n\r\n\t\t// TODO REMOVER\r\n\t\tif (visualizacao) {\r\n\t\t\tthis.visualizacao = visualizacao;\r\n\t\t}\r\n\r\n\t\tif (path?.includes(\"edicao\")) {\r\n\t\t\tthis.prefixo = \"edicao\";\r\n\t\t}\r\n\t\tif (path?.includes(\"visualizar\")) {\r\n\t\t\tthis.prefixo = \"visualizar\";\r\n\t\t\tthis.visualizar = true;\r\n\t\t}\r\n\t}\r\n\r\n\tngOnInit(): void { }\r\n\r\n\tpublic montarMensagensValidacao(model: IBaseModel) {\r\n\t\tlet validacaoTexto = \"\";\r\n\r\n\t\tif (model.resultadoValidacao && model.resultadoValidacao.length > 0) {\r\n\t\t\tvalidacaoTexto = \"\";\r\n\t\t\tfor (const val of model.resultadoValidacao) {\r\n\t\t\t\tvalidacaoTexto += ` • ${val.errorMessage} `;\r\n\r\n\t\t\t\t// validacaoTexto +=\r\n\t\t\t\t// \tvalidacaoTexto === \"\"\r\n\t\t\t\t// \t\t? `• ${val.errorMessage}`\r\n\t\t\t\t// \t\t: `
• ${val.errorMessage}`;\r\n\t\t\t}\r\n\t\t} else if (model.mensagem?.descricao) {\r\n\t\t\tvalidacaoTexto = ' ' + model.mensagem.descricao;\r\n\t\t}\r\n\r\n\t\treturn validacaoTexto;\r\n\t}\r\n\r\n\tpublic exibirMensagemAlerta(mensagem: string, html: boolean = false, titulo: string = \"\") {\r\n\t\tSwal.fire({\r\n\t\t\ttoast: true,\r\n\t\t\tposition: \"top-end\",\r\n\t\t\ticon: \"warning\",\r\n\t\t\thtml: mensagem,\r\n\t\t\tshowConfirmButton: false,\r\n\t\t\tshowCloseButton: true,\r\n\t\t\ttitle: titulo,\r\n\t\t});\r\n\t}\r\n\r\n\tpublic exibirMensagemSucesso(mensagem: string) {\r\n\t\tSwal.fire({\r\n\t\t\ttoast: true,\r\n\t\t\tposition: \"top-end\",\r\n\t\t\ticon: \"success\",\r\n\t\t\ttext: mensagem,\r\n\t\t\tshowConfirmButton: false,\r\n\t\t\ttimer: 5000,\r\n\t\t\ttimerProgressBar: true,\r\n\t\t});\r\n\t}\r\n\r\n\tpublic exibirMensagemErro(mensagem: string, html: boolean = false) {\r\n\t\tSwal.fire({\r\n\t\t\ttoast: true,\r\n\t\t\tposition: \"top-end\",\r\n\t\t\ticon: \"error\",\r\n\t\t\thtml: mensagem,\r\n\t\t\tshowConfirmButton: false,\r\n\t\t\tshowCloseButton: true,\r\n\t\t});\r\n\t}\r\n\r\n\tpublic exibirModal(\r\n\t\ttitulo: string,\r\n\t\tdados: any,\r\n\t\texibirId = true,\r\n\t\tcustomizeColumns = null,\r\n\t\tcustomFilterPredicate = null,\r\n\t\tpageSizeOptions = null\r\n\t): MatDialogRef {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component\";\r\n\t\tdialogConfig.width = \"650px\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = {\r\n\t\t\ttitulo,\r\n\t\t\tdados,\r\n\t\t\texibirId,\r\n\t\t\tcustomizeColumns,\r\n\t\t\tcustomFilterPredicate,\r\n\t\t\tpageSizeOptions\r\n\t\t};\r\n\t\treturn this.matDialog.open(LookupModalComponent, dialogConfig);\r\n\t}\r\n\r\n\tpublic exibirModalMultiselect(\r\n\t\ttitulo: string,\r\n\t\tdados: any,\r\n\t\tbotaoOk = \"Selecionar\",\r\n\t\texibirId = true\r\n\t): MatDialogRef {\r\n\t\tconst dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component\";\r\n\t\tdialogConfig.width = \"650px\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = { titulo, dados, botaoOk, exibirId: false };\r\n\t\treturn this.matDialog.open(\r\n\t\t\tLookupMultiselectModalComponent,\r\n\t\t\tdialogConfig\r\n\t\t);\r\n\t}\r\n\r\n\tpublic showPendencias(pendencias: IPendenciasModel[]) {\r\n\t\tconst list = pendencias?.map(\r\n\t\t\t(pendencia) =>\r\n\t\t\t\t`
${pendencia.grupo}: ${pendencia.descricao}
`\r\n\t\t);\r\n\t\tif (list && list.length > 0) {\r\n\t\t\tSwal.fire({\r\n\t\t\t\ttoast: true,\r\n\t\t\t\tposition: \"top-end\",\r\n\t\t\t\ticon: \"warning\",\r\n\t\t\t\thtml: list.join(\"\"),\r\n\t\t\t\tshowConfirmButton: false,\r\n\t\t\t\tshowCloseButton: true,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tpublic exibirMensagemPadrao(retorno: IBaseModel) {\r\n\t\tif (retorno.sucesso) {\r\n\t\t\tthis.exibirMensagemSucesso(retorno.mensagem.descricao);\r\n\t\t} else {\r\n\t\t\tthis.exibirMensagemErro(retorno.mensagem.descricao);\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { IPermissaoModel } from 'src/app/models/permissao.model';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-base-list',\r\n template: ``\r\n})\r\nexport class BaseListComponent implements OnInit {\r\n\r\n public permissoes: IPermissaoModel;\r\n \r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public exibirMensagemAlerta(mensagem: string, html: boolean = false){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: html ? '' : mensagem,\r\n html: html ? mensagem : '',\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n }\r\n\r\n public exibirMensagemSucesso(mensagem: string){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: mensagem,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n\r\n public exibirMensagemErro(mensagem: string){\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: mensagem,\r\n showConfirmButton: false,\r\n showCloseButton: true,\r\n });\r\n }\r\n\r\n}\r\n","
\r\n\t
\r\n\t\t\r\n\t\t\t\r\n\t\t\tEditar\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\tExcluir\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\tImprimir\r\n\t\t\r\n\t
\r\n\r\n\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {{ itemRelatoria.numero }}.  \r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t{{ itemRelatoria.nome }}\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tExcluído (aguardando aceite)\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tExcluído\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tEditar capítulo\r\n\t\t\t\t\t\t\t\tExcluir capítulo\r\n\t\t\t\t\t\t\t\tReativar\r\n\t\t\t\t\t\t\t\tIncluir capítulo\r\n\t\t\t\t\t\t\t\tIncluir subcapitulos\r\n\t\t\t\t\t\t\t\tHistórico\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tSalvar\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tCancelar\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\r\n\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{{ itemRelatoria.numero }}.{{\r\n\t\t\t\t\t\t\t\t\t\tsubcapitulo.numero\r\n\t\t\t\t\t\t\t\t\t}}. \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t{{ subcapitulo.nome }}\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tExcluído (aguardando aceite)\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tExcluído\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tEditar\r\n\t\t\t\t\t\t\t\t\tExcluir\r\n\t\t\t\t\t\t\t\t\tReativar\r\n\t\t\t\t\t\t\t\t\tIncluir subcapitulos\r\n\t\t\t\t\t\t\t\t\tHistórico\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tSalvar\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tCancelar\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\t\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\tSalvar relatoria\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\tCancelar Edição\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\r\n\r\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport { Component, Input, OnInit, Output, AfterViewInit, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IAvaliacaoRelatoriaModel } from 'src/app/models/avaliacao-relatoria-model';\r\nimport { IRelatoriaCapituloModel } from 'src/app/models/relatoria-capitulo.model';\r\nimport { IRelatoriaModel } from 'src/app/models/relatoria.model';\r\nimport { RelatoriaCapituloService } from 'src/app/services/relatoria-capitulo.service';\r\nimport { RelatoriaService } from 'src/app/services/relatoria.service';\r\nimport Swal from 'sweetalert2';\r\nimport { Location } from '@angular/common';\r\nimport { BaseFormComponent } from '../base-form/base-form.component';\r\nimport { ModalHistoricoRelatoriaComponent } from './modal-historico-relatoria/modal-historico-relatoria.component';\r\nimport { ModalRelatoriaCapituloComponent } from './modal-relatoria-capitulo/modal-relatoria-capitulo.component';\r\nimport { angularEditorConfig } from './../../util/angularEditorConfig';\r\n\r\n@Component({\r\n selector: 'app-capitulo',\r\n templateUrl: './capitulo.component.html',\r\n styleUrls: ['./capitulo.component.scss'],\r\n})\r\nexport class CapituloComponent extends BaseFormComponent implements OnInit {\r\n\r\n @Input() relatoriaDados: IRelatoriaCapituloModel[];\r\n @Input() somenteLeitura: Boolean;\r\n @Input() public model: any = {};\r\n @Input() id: number;\r\n @Input() dadosObtidos: IRelatoriaModel;\r\n @Input() obterRelatorio: () => void;\r\n @Input() obterDados: () => void;\r\n @Input() public impressao: boolean;\r\n @Input() public reprovado: boolean;\r\n @Input() public homologado: boolean;\r\n @Input() public emAprovacao: boolean;\r\n @Input() tipoTrabalhoRef: number;\r\n relatoriaDadosEspelho: any;\r\n\r\n\r\n public situacao = {} as IAvaliacaoRelatoriaModel;\r\n tipoTrabalho;\r\n public keywords = ['Período', 'Indicador', 'UGs', 'Coordenações', 'Capacidade de trabalho', 'Auditores da Coordenação', 'Distribuição Contempladas', 'Ranking de Distribuição'] as string[];\r\n public keywordsPaaPadrao = ['Período do PEAC', 'Indicadores do PAAC corrente', 'UGs do PAAC corrente', 'Coordenações do PAAC corrente', 'Capacidade de trabalho do PAAC corrente',\r\n 'Auditores da Coordenação do PAAC corrente', 'Distribuição Contempladas do PEAC', 'Ranking de Distribuição do PAAC corrente', 'Indicadores e Critérios do PAAC corrente',\r\n 'Painel de Distribuição do PAAC corrente', 'Auditorias inativas no Painel de Distribuição com respectiva justificativa', 'Auditorias por Tipo e Coordenação e UGs',\r\n 'Alocação da Equipe', 'Calendário do PAAC corrente', 'Capacidade total PAAC', 'Capacidade total PEAC'] as string[];\r\n public keywordsOpa = ['Tipo de auditoria', 'Origem', 'Unidade auditada', 'Objeto', 'Período', 'Coordenador', 'Auditores do OPA', 'Subtipo de Auditoria do OPA', 'Tipo de Ênfase',\r\n 'Data da Apresentação do Planejamento', 'Quantidade de dias Úteis', 'Data prevista Início', 'Data prevista Fim', 'Data Início de Realização', 'Data Fim de Realização', 'Número da Opa'] as string[];\r\n public keywordsPlanejamento = ['Auditores do Planejamento', 'Subtipo de Auditoria do Planejamento', 'UGs do Planejamento'] as string[];\r\n public keywordsOsa = ['Auditores do OSA', 'Subtipo de Auditoria do OSA'] as string[];\r\n\r\n public keywordsPaa = this.keywordsPaaPadrao;\r\n public keywordsPaaEspecial = this.keywordsPaaPadrao;\r\n public novaVersao = false;\r\n public config: AngularEditorConfig = angularEditorConfig('Descreva o capitulo');\r\n public habilitarEdicaoRelatoria = {\r\n index: null,\r\n indexSubChapter: null,\r\n active: false,\r\n activeAll: false,\r\n atctiveCapitulo: false,\r\n };\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private _location: Location,\r\n public matDialog: MatDialog,\r\n private relatoriaService: RelatoriaService,\r\n private relatoriaCapituloService: RelatoriaCapituloService\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n if(!this.tipoTrabalhoRef || this.tipoTrabalhoRef == 0){\r\n const path = this.route.routeConfig.path?.toString();\r\n if (path?.includes('pea')) {\r\n this.tipoTrabalho = 1;\r\n }\r\n else if (path?.includes('paa')) {\r\n this.tipoTrabalho = 2;\r\n }\r\n else if (path?.includes('opa')) {\r\n this.tipoTrabalho = 3;\r\n }\r\n else if (path?.includes('osa')) {\r\n this.tipoTrabalho = 4;\r\n }\r\n else if (path?.includes('planejamento')) {\r\n this.tipoTrabalho = 7;\r\n }\r\n }else{\r\n this.tipoTrabalho = this.tipoTrabalhoRef;\r\n }\r\n \r\n if(this.impressao){\r\n this.habilitarEdicaoRelatoria.activeAll = false;\r\n }\r\n if (this.router.url.includes(\"nova-versao\")) {\r\n this.novaVersao = true\r\n }\r\n }\r\n\r\n public habilitarEdicaoCapituloRelatoria(index?: (number | null), status?: (boolean | null), indexSubChapter?: (number | null), activeAll?: boolean, editarCapitulo?: boolean) {\r\n if (activeAll) {\r\n return this.habilitarEdicaoRelatoria.activeAll = true;\r\n }\r\n\r\n let capitulo = this.relatoriaDados.find((_, indexCapitulo) => indexCapitulo === index);\r\n\r\n if (editarCapitulo == false) {\r\n capitulo.active = false;\r\n\r\n this.relatoriaService.obterPorTipoTrabalho(this.id, this.tipoTrabalho).then(() => {\r\n this.relatoriaService.reltoriaCurrent.subscribe(relatoriaDados => {\r\n this.relatoriaDadosEspelho = relatoriaDados;\r\n this.dadosObtidos = relatoriaDados;\r\n });\r\n });\r\n\r\n capitulo = this.relatoriaDadosEspelho.find((_, indexCapitulo) => indexCapitulo === index);\r\n this.relatoriaDados = this.relatoriaDadosEspelho;\r\n this.mudarAba(5);\r\n }\r\n\r\n if ((!indexSubChapter && indexSubChapter < 0) || editarCapitulo) {\r\n capitulo.active = status;\r\n }\r\n else {\r\n const subCapitulo = capitulo.subRelatoriaCapitulos.find((_, indexSubCapitulo) => indexSubCapitulo === indexSubChapter);\r\n subCapitulo.active = status;\r\n }\r\n }\r\n\r\n public mudarAba(ind: number) {\r\n this.aba = ind;\r\n }\r\n\r\n public habilitarTodasEdicoesCapituloRelatoria() {\r\n this.relatoriaDados.forEach((capitulo, index) => {\r\n this.habilitarEdicaoCapituloRelatoria(index, true)\r\n capitulo.subRelatoriaCapitulos.forEach((subCapitulo, indexSub) => {\r\n this.habilitarEdicaoCapituloRelatoria(index, true, indexSub)\r\n })\r\n })\r\n }\r\n\r\n\r\n public modalRelatoriaCapitulo(element?: IRelatoriaCapituloModel, subCapitulo?: boolean) {\r\n try {\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-relatoria-capitulo';\r\n dialogConfig.width = '1200px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n element,\r\n subCapitulo,\r\n id: this.id,\r\n tipoTrabalho: this.tipoTrabalho\r\n };\r\n const modal = this.matDialog.open(ModalRelatoriaCapituloComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n this.relatoriaService.reltoriaCurrent.subscribe(relatoriaDados => {\r\n this.relatoriaDados = relatoriaDados.relatoriasCapitulos\r\n this.dadosObtidos = relatoriaDados;\r\n })\r\n });\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public async imprimir() {\r\n this.router.navigate([`imprimir-relatoria/${this.id}/tipo-trabalho/${this.tipoTrabalho}`]);\r\n this.impressao = true\r\n }\r\n\r\n public modalHistoricoRelatoria(element: IRelatoriaCapituloModel) {\r\n try {\r\n\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-historico-relatoria';\r\n dialogConfig.width = '800px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n capitulo: element\r\n };\r\n const modal = this.matDialog.open(ModalHistoricoRelatoriaComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n }\r\n });\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public excluirRelatoria() {\r\n\r\n Swal.fire({\r\n title: 'Excluir Relatoria',\r\n text: 'Tem certeza que deseja excluir essa Relatoria?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(res => {\r\n\r\n if (res.value) {\r\n\r\n this.relatoriaService.excluirRelatoria(this.dadosObtidos.id).then((res) => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.obterDados();\r\n this.relatoriaService.reltoriaCurrent.subscribe(relatoriaDados => {\r\n this.relatoriaDados = relatoriaDados.relatoriasCapitulos\r\n this.dadosObtidos = relatoriaDados;\r\n })\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n\r\n }\r\n }).catch(err => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public excluirCapitulo(itemId: number, capituloFixo: boolean, isCapitulo: boolean) {\r\n if (capituloFixo) {\r\n this.exibirMensagemErro('Capítulo obrigatório. Não é permitida a sua exclusão.');\r\n return;\r\n }\r\n \r\n if(isCapitulo && this.dadosObtidos.relatoriasCapitulos.length == 1){\r\n this.exibirMensagemErro(\"Ação não permitida pois é necessário ao menos 1 capítulo.\");\r\n return;\r\n }\r\n\r\n\r\n Swal.fire({\r\n title: 'Excluir',\r\n text: 'Tem certeza que deseja excluir?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(res => {\r\n if (res.value) {\r\n this.relatoriaCapituloService.excluir(this.id, itemId, this.tipoTrabalho)\r\n .then(res => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch(err => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n })\r\n\r\n }\r\n\r\n public reativarCapitulo(itemId: number) {\r\n Swal.fire({\r\n title: 'Reativar',\r\n text: 'Tem certeza que deseja reativar?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(res => {\r\n if (res.value) {\r\n this.relatoriaCapituloService.reativar(this.id, itemId, this.tipoTrabalho)\r\n .then(res => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch(err => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n })\r\n\r\n }\r\n\r\n public avaliarExclusao(id: number, status: boolean) {\r\n if (this.model?.situacao?.codigo !== 1) return;\r\n\r\n var name: string = \"\";\r\n if (status) {\r\n this.situacao = { situacao: { codigo: 1 } } as IAvaliacaoRelatoriaModel;\r\n name = 'confirmar'\r\n } else {\r\n this.situacao = { situacao: { codigo: 2 } } as IAvaliacaoRelatoriaModel;\r\n name = 'rejeitar'\r\n }\r\n Swal.fire({\r\n title: 'Avaliar exclusão do capítulo!',\r\n text: 'Tem certeza que deseja ' + name + ' a exclusão desse capítulo?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(res => {\r\n if (res.value) {\r\n this.relatoriaCapituloService.avaliarExclusao(id, this.situacao, this.tipoTrabalho, this.id).then(res => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch(err => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n })\r\n }\r\n\r\n public async salvarOne(itemCapitulo?: IRelatoriaCapituloModel, i?: number, isubcapitulo?: number, salvarTodos?: boolean) {\r\n if (!salvarTodos) {\r\n\r\n Swal.fire({\r\n title: isubcapitulo == undefined ? 'Salvar o capítulo?' : 'Salvar o sub-capítulo?',\r\n text: isubcapitulo == undefined ? 'Deseja realmente alterar este capítulo?' : 'Deseja realmente alterar este sub-capítulo?',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(res => {\r\n if (res.value) {\r\n this.relatoriaCapituloService.salvar(itemCapitulo, this.tipoTrabalho, this.id)\r\n .then(res => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.obterRelatorio();\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n this.obterDados();\r\n }\r\n }).catch(err => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n })\r\n }\r\n else {\r\n const res = await this.relatoriaCapituloService.salvar(itemCapitulo, this.tipoTrabalho);\r\n try {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n\r\n if (!salvarTodos) {\r\n this.relatoriaService.obterPorTipoTrabalho(this.id, this.tipoTrabalho).then(() => {\r\n this.relatoriaService.reltoriaCurrent.subscribe(relatoriaDados => {\r\n this.relatoriaDados = relatoriaDados.relatoriasCapitulos;\r\n this.dadosObtidos = relatoriaDados;\r\n });\r\n });\r\n }\r\n\r\n } catch (error) {\r\n this.exibirMensagemErro(error.mensagem.descricao);\r\n }\r\n finally {\r\n this.habilitarEdicaoRelatoria.activeAll = false;\r\n this.habilitarEdicaoCapituloRelatoria(i, false, isubcapitulo, null, false);\r\n this.habilitarEdicaoCapituloRelatoria(i, false, null, null, false);\r\n }\r\n }\r\n }\r\n\r\n async onDrop(event: CdkDragDrop) {\r\n if (this.model?.situacao?.codigo !== 1) return;\r\n\r\n moveItemInArray(this.relatoriaDados, event.previousIndex, event.currentIndex);\r\n const capitulos = this.relatoriaDados.filter(_ => !_.relatoriaCapituloPaiId && _.status.codigo != 4);\r\n capitulos.forEach((element, idx) => {\r\n element.numero = idx + 1;\r\n const subCapitulos = this.relatoriaDados.filter(_ => _.relatoriaCapituloPaiId === element.id && _.status.codigo != 4);\r\n subCapitulos.forEach((subElement, subIdx) => {\r\n subElement.numero = subIdx + 1;\r\n });\r\n });\r\n await this.salvarTodos();\r\n }\r\n\r\n async onSubDrop(idCapitulo: number, event: CdkDragDrop) {\r\n if (this.model?.situacao?.codigo !== 1) return;\r\n\r\n const capitulo = this.relatoriaDados.find(_ => _.id === idCapitulo);\r\n moveItemInArray(this.relatoriaDados.find(_ => _.id === idCapitulo).subRelatoriaCapitulos, event.previousIndex, event.currentIndex);\r\n capitulo.subRelatoriaCapitulos.filter(_ => _.status.codigo != 4).forEach((element, idx) => {\r\n element.numero = idx + 1;\r\n });\r\n await this.salvarTodos();\r\n }\r\n\r\n public async salvarTodos() {\r\n const tasks = [];\r\n\r\n this.relatoriaDados.filter(_ => _.status.codigo !== 3 && _.status.codigo !== 4).forEach((item) => {\r\n tasks.push(this.salvarOne(item, null, null, true));\r\n item?.subRelatoriaCapitulos.filter(_ => _.status.codigo !== 3 && _.status.codigo !== 4).forEach(subItem => {\r\n tasks.push(this.salvarOne(subItem, null, null, true));\r\n });\r\n });\r\n\r\n Promise.all(tasks)\r\n .finally(() =>\r\n this.relatoriaService.obterPorTipoTrabalho(this.id, this.tipoTrabalho).then(() => {\r\n this.relatoriaService.reltoriaCurrent.subscribe(relatoriaDados => {\r\n this.relatoriaDados = relatoriaDados.relatoriasCapitulos;\r\n this.dadosObtidos = relatoriaDados;\r\n });\r\n })\r\n );\r\n }\r\n\r\n public mostrarBotaoEditar() {\r\n return !this.impressao\r\n && !this.somenteLeitura\r\n && (this.dadosObtidos == undefined || this.dadosObtidos?.tipoTrabalhoStatus?.codigo === 1 || this.dadosObtidos.tipoTrabalho.codigo === 4);\r\n }\r\n\r\n public mostrarBotaoExcluir() {\r\n return !this.impressao\r\n && !this.somenteLeitura\r\n && (this.dadosObtidos == undefined || this.dadosObtidos?.tipoTrabalhoStatus?.codigo === 1);\r\n }\r\n\r\n \r\n addTag(keyword: string, position: number) {\r\n //this.atualizarModel(this.form.value);\r\n this.model.conteudo += `{{${keyword}}}`;\r\n //this.form.patchValue(this.model);\r\n this.relatoriaDados[position].conteudo += `{{${keyword}}}`;\r\n }\r\n\r\n}\r\n","import { AfterViewInit, Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport Inputmask from 'inputmask';\r\nimport Swal from 'sweetalert2';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { ModalVisualizarHistoricoComponent } from './modal-visualizar-historico/modal-visualizar-historico.component';\r\nimport { IHistoricoRelatoriaCapituloModel } from 'src/app/models/historico-relatoria-capitulo.model';\r\nimport { RelatoriaCapituloService } from 'src/app/services/relatoria-capitulo.service';\r\n\r\n@Component({\r\n selector: 'app-modal-historico-relatoria',\r\n templateUrl: './modal-historico-relatoria.component.html',\r\n styleUrls: ['./modal-historico-relatoria.component.scss'],\r\n})\r\n\r\nexport class ModalHistoricoRelatoriaComponent\r\n implements OnInit, AfterViewInit {\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n public relatoriaCapituloService: RelatoriaCapituloService,\r\n\r\n @Inject(MAT_DIALOG_DATA) public data) {\r\n }\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n }\r\n\r\n public modalVisualizarHistorico(element: IHistoricoRelatoriaCapituloModel) {\r\n\r\n try {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-visualizar-historico';\r\n dialogConfig.width = '800px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = {\r\n historico: element,\r\n };\r\n\r\n const modal = this.matDialog.open(ModalVisualizarHistoricoComponent, dialogConfig);\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n }\r\n });\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n } \r\n }\r\n\r\n validarExibicao(element: IHistoricoRelatoriaCapituloModel): boolean{\r\n return element.status.descricao != 'Inclusão';\r\n }\r\n\r\n\r\n public fechar() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n

Histórico

\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Capítulo/SubcapítuloRealizadoTipoRealizado porConsultar
0\" scope=\"row\">{{ data.capitulo.numeroPai }}.{{ data.capitulo.numero }}{{ data.capitulo.numero }}\r\n {{ element.dataAlteracao | date: \"dd/MM/yyyy\" }} às\r\n {{ element.dataAlteracao | date: \"HH:mm\" }}\r\n {{ element.status.descricao }}{{ element.usuario }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { AfterViewInit, Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport Inputmask from 'inputmask';\r\nimport { IRelatoriaModel } from 'src/app/models/relatoria.model';\r\nimport { IRelatoriaCapituloModel } from 'src/app/models/relatoria-capitulo.model';\r\nimport { IHistoricoRelatoriaCapituloModel } from 'src/app/models/historico-relatoria-capitulo.model';\r\n\r\n@Component({\r\n selector: 'app-modal-visualizar-historico',\r\n templateUrl: './modal-visualizar-historico.component.html',\r\n styleUrls: ['./modal-visualizar-historico.component.scss'],\r\n})\r\n\r\nexport class ModalVisualizarHistoricoComponent\r\n implements OnInit, AfterViewInit {\r\n [x: string]: any;\r\n public historico: IHistoricoRelatoriaCapituloModel = {} as IHistoricoRelatoriaCapituloModel;\r\n public modelRelatoria: IRelatoriaModel = {} as IRelatoriaModel;\r\n public model: IRelatoriaCapituloModel = {} as IRelatoriaCapituloModel;\r\n differences: any[] = [];\r\n public removido: string;\r\n public adicionado: string;\r\n public semAlteracao: string;\r\n public textoDestacado: string = '';\r\n public textoRemovido: string = '';\r\n public dataFormatada: string = '';\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n\r\n @Inject(MAT_DIALOG_DATA) public data) {\r\n this.historico = data.historico;\r\n }\r\n\r\n ngOnInit(): void {\r\n const minLength = Math.min(this.historico.conteudoAnterior.length, this.historico.conteudoAtual.length);\r\n let diffStartIndex = 0;\r\n while (diffStartIndex < minLength && this.historico.conteudoAnterior[diffStartIndex] === this.historico.conteudoAtual[diffStartIndex]) {\r\n diffStartIndex++;\r\n }\r\n\r\n let diffEndIndex = 0;\r\n while (\r\n diffEndIndex < minLength - diffStartIndex &&\r\n this.historico.conteudoAnterior[this.historico.conteudoAnterior.length - diffEndIndex - 1] === this.historico.conteudoAtual[this.historico.conteudoAtual.length - diffEndIndex - 1]\r\n ) {\r\n diffEndIndex++;\r\n }\r\n this.removido = this.historico.conteudoAnterior.substring(diffStartIndex, this.historico.conteudoAnterior.length - diffEndIndex);\r\n this.adicionado = this.historico.conteudoAtual.substring(diffStartIndex, this.historico.conteudoAtual.length - diffEndIndex);\r\n this.semAlteracao = this.historico.conteudoAtual.substring(0, diffStartIndex) + this.adicionado + this.historico.conteudoAtual.substring(this.historico.conteudoAtual.length - diffEndIndex);\r\n this.dataFormatada = this.getFormattedDate(this.historico.dataAlteracao);\r\n \r\n this.differences = [\r\n { value: this.removido, removido: true },\r\n { value: this.adicionado, adicionado: true },\r\n { value: this.semAlteracao, semAlteracao: true }\r\n ];\r\n }\r\n\r\n destacarAlteracoes() {\r\n let diffOutput = '';\r\n let startIndex = 0;\r\n\r\n // Encontra o índice onde a diferença ocorre\r\n for (let i = 0; i < this.historico.conteudoAnterior.length; i++) {\r\n if (this.historico.conteudoAnterior[i] !== this.historico.conteudoAtual[i]) {\r\n diffOutput += `${this.historico.conteudoAnterior.substring(startIndex, i)}`;\r\n diffOutput += `${this.historico.conteudoAtual.substring(i, i + 1)}`;\r\n startIndex = i + 1;\r\n }\r\n }\r\n\r\n // Adiciona o restante do texto que não sofreu alterações\r\n diffOutput += `${this.historico.conteudoAnterior.substring(startIndex)}`;\r\n\r\n this.textoDestacado = diffOutput != '' ? diffOutput : this.historico.conteudoAtual;\r\n }\r\n\r\n identificarRemocoes() {\r\n let removido = this.diffString(this.historico.conteudoAnterior, this.historico.conteudoAtual);\r\n this.textoRemovido = this.realcarRemocoes(removido);\r\n }\r\n\r\n // Algoritmo de diferença de strings (Exemplo simples)\r\n diffString(textoOriginal: string, textoAtual: string): string {\r\n let diffOutput = '';\r\n for (let i = 0; i < textoOriginal.length; i++) {\r\n if (textoOriginal[i] !== textoAtual[i]) {\r\n diffOutput += textoOriginal[i];\r\n }\r\n }\r\n return diffOutput;\r\n }\r\n\r\n realcarRemocoes(textoRemovido: string): string {\r\n return this.historico.conteudoAnterior.replace(\r\n new RegExp(`(${textoRemovido})`, 'g'),\r\n '$1'\r\n );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n this.destacarAlteracoes();\r\n this.identificarRemocoes();\r\n }\r\n\r\n public getFormattedDate(data) {\r\n var date = new Date(data);\r\n var day = date.getDate();\r\n var month = date.getMonth() + 1;\r\n var year = date.getFullYear();\r\n var hour = date.getHours();\r\n var minutes = date.getMinutes();\r\n return day + '/' + month + '/' + year + ' às ' + hour + ':' + minutes;\r\n }\r\n\r\n public fechar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n\t
\r\n\r\n\t
\r\n\t\t

Capítulo/Subcapítulo

\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\r\n\t
\r\n\t\t\r\n\t
\r\n\r\n","
\r\n \r\n
\r\n

{{titulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n Campo obrigatório\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{keyword}}\r\n \r\n \r\n \r\n \r\n {{keyword}}\r\n \r\n \r\n \r\n \r\n {{keyword}}\r\n \r\n \r\n \r\n \r\n {{keyword}}\r\n \r\n \r\n \r\n \r\n {{keyword}}\r\n \r\n \r\n \r\n \r\n {{keyword}}\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n Cancelar\r\n \r\n
\r\n \r\n \r\n \r\n\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AngularEditorConfig } from '@kolkov/angular-editor';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CapituloRelatorioService } from 'src/app/services/capitulo-relatorio.service';\r\nimport { TabelaDominioService } from 'src/app/services/tabela-dominio.service';\r\nimport { ModalCancelarComponent } from 'src/app/shared/components/modal-cancelar/modal-cancelar-component';\r\nimport { MatChipInputEvent } from '@angular/material/chips';\r\nimport { IRelatoriaCapituloModel } from 'src/app/models/relatoria-capitulo.model';\r\nimport { RelatoriaCapituloService } from 'src/app/services/relatoria-capitulo.service';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-relatoria-capitulo',\r\n templateUrl: './modal-relatoria-capitulo.component.html',\r\n styleUrls: ['./modal-relatoria-capitulo.component.scss'],\r\n})\r\nexport class ModalRelatoriaCapituloComponent implements OnInit {\r\n public keywords = ['Período', 'Indicador', 'UGs', 'Coordenações', 'Capacidade de trabalho', 'Auditores da Coordenação', 'Distribuição Contempladas', 'Ranking de Distribuição'] as string[];\r\n public keywordsPaaPadrao = ['Período do PEAC', 'Indicadores do PAAC corrente', 'UGs do PAAC corrente', 'Coordenações do PAAC corrente', 'Capacidade de trabalho do PAAC corrente',\r\n 'Auditores da Coordenação do PAAC corrente', 'Distribuição Contempladas do PEAC', 'Ranking de Distribuição do PAAC corrente', 'Indicadores e Critérios do PAAC corrente',\r\n 'Painel de Distribuição do PAAC corrente', 'Auditorias inativas no Painel de Distribuição com respectiva justificativa', 'Auditorias por Tipo e Coordenação e UGs',\r\n 'Alocação da Equipe', 'Calendário do PAAC corrente', 'Capacidade total PAAC', 'Capacidade total PEAC'] as string[];\r\n public keywordsOpa = ['Tipo de auditoria', 'Origem', 'Unidade auditada', 'Objeto', 'Período', 'Coordenador', 'Auditores do OPA', 'Subtipo de Auditoria do OPA', 'Tipo de Ênfase',\r\n 'Data da Apresentação do Planejamento', 'Quantidade de dias Úteis', 'Data prevista Início', 'Data prevista Fim', 'Data Início de Realização', 'Data Fim de Realização', 'Número da Opa'] as string[];\r\n public keywordsOpaSub = ['Tipo de auditoria', 'Origem', 'Unidade auditada', 'Objeto', 'Período', 'Coordenador', 'Auditores do OPA', 'Subtipo de Auditoria do OPA'] as string[];\r\n public keywordsPlanejamento = ['Auditores do Planejamento', 'Subtipo de Auditoria do Planejamento', 'UGs do Planejamento'] as string[];\r\n public keywordsOsa = ['Auditores do OSA', 'Subtipo de Auditoria do OSA'] as string[];\r\n public titulo;\r\n public keywordsPaa = this.keywordsPaaPadrao;\r\n public keywordsPaaEspecial = this.keywordsPaaPadrao;\r\n public model: IRelatoriaCapituloModel = {} as IRelatoriaCapituloModel;\r\n public subCapituloPodeInserirNaBase = false;\r\n public isFormValid: boolean = false; // Variável para controlar a habilitação do botão de envio\r\n\r\n public form = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n conteudo: new FormControl('', Validators.required),\r\n tags: new FormControl(null)\r\n });\r\n\r\n constructor(\r\n public route: ActivatedRoute,\r\n public toastr: ToastrService,\r\n public router: Router,\r\n public localeService: BsLocaleService,\r\n private tabelaDominioService: TabelaDominioService,\r\n private capituloRelatorioService: CapituloRelatorioService,\r\n private relatoriaCapituloService: RelatoriaCapituloService,\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n if (data.subCapitulo) {\r\n this.titulo = 'Subcapítulo';\r\n this.subCapituloPodeInserirNaBase = data.element?.capituloRelatorioId > 0;\r\n }\r\n else {\r\n this.titulo = 'Capítulo';\r\n }\r\n\r\n }\r\n\r\n config: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n sanitize: false,\r\n height: '15rem',\r\n minHeight: '5rem',\r\n placeholder: '',\r\n translate: 'yes',\r\n defaultParagraphSeparator: 'p',\r\n defaultFontName: 'Arial',\r\n toolbarHiddenButtons: [\r\n // ['bold']\r\n ],\r\n customClasses: [\r\n {\r\n name: 'quote',\r\n class: 'quote',\r\n },\r\n {\r\n name: 'redText',\r\n class: 'redText',\r\n },\r\n {\r\n name: 'titleText',\r\n class: 'titleText',\r\n tag: 'h1',\r\n },\r\n ],\r\n };\r\n\r\n async ngOnInit() {\r\n this.form.get('nome').valueChanges.subscribe(() => this.updateFormValidity());\r\n this.form.get('conteudo').valueChanges.subscribe(() => this.updateFormValidity());\r\n\r\n this.updateFormValidity(); // Certifique-se de que a validade do formulário seja atualizada inicialmente\r\n }\r\n\r\n private updateFormValidity() {\r\n this.isFormValid = this.form.controls['nome'].valid && this.form.controls['conteudo'].valid;\r\n }\r\n\r\n public concluir() {\r\n\r\n if (!this.isFormValid) {\r\n this.toastr.warning('Por favor, preencha todos os campos obrigatórios!', 'Atenção');\r\n return;\r\n }\r\n \r\n if (!this.data) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: 'Capítulo/Sub-Capítulo de referência não encontrado.',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n\r\n if (this.titulo == 'Subcapítulo' && !this.subCapituloPodeInserirNaBase) {\r\n this.salvar(false);\r\n }\r\n if(this.titulo == 'Subcapítulo'){\r\n Swal.fire({\r\n title: 'Inclusão de SubCapítulo!',\r\n text: 'Deseja incluir o SubCapítulo no modelo padrão do relatório? \\nAo confirmar, sua sugestão será enviada ao usuário responsável para avaliação.',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(res => {\r\n this.salvar(res.value);\r\n })\r\n }\r\n else {\r\n Swal.fire({\r\n title: 'Inclusão de capítulo!',\r\n text: 'Deseja incluir o Capítulo no modelo padrão do relatório? \\nAo confirmar, sua sugestão será enviada ao usuário responsável para avaliação.',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Sim',\r\n cancelButtonText: 'Não',\r\n }).then(res => {\r\n this.salvar(res.value);\r\n })\r\n }\r\n }\r\n\r\n public salvar(incluirNaBase) {\r\n this.atualizarModel(this.form.value);\r\n const eSubCapitulo = this.data?.element?.relatoriaCapituloPaiId > 0;\r\n\r\n const newCapitulo = {\r\n conteudo: this.model.conteudo,\r\n nome: this.model.nome,\r\n numero: this.data.element.numero + 1,\r\n relatoriaId: this.data?.element.relatoriaId ?? null,\r\n } as IRelatoriaCapituloModel;\r\n\r\n if (this.data.subCapitulo) {\r\n newCapitulo.relatoriaCapituloPaiId = eSubCapitulo ? this.data.element.relatoriaCapituloPaiId : this.data.element.id;\r\n newCapitulo.relatoriaId = null;\r\n if (this.data.element.relatoriaCapituloPaiId) {\r\n newCapitulo.numero = (this.data.element?.numero ?? 0) + 1;\r\n } else {\r\n newCapitulo.numero = (this.data.element?.subRelatoriaCapitulos[this.data.element.subRelatoriaCapitulos.length - 1]?.numero ?? 0) + 1;\r\n }\r\n }\r\n\r\n if (incluirNaBase) {\r\n newCapitulo.novoCapituloModeloRelatorio = true;\r\n }\r\n\r\n this.relatoriaCapituloService.salvar(newCapitulo, this.data.tipoTrabalho, this.data.id)\r\n .then(res => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.dialogRef.close(this.model);\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }).catch(err => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }\r\n\r\n public atualizarModel(values: any) {\r\n Object.assign(this.model, values);\r\n }\r\n\r\n public cancelar() {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.data = { interno: true };\r\n this.matDialog.open(ModalCancelarComponent, dialogConfig).afterClosed();\r\n }\r\n\r\n addKeywordFromInput(event: MatChipInputEvent) {\r\n if (event.value) {\r\n if (this.keywords.includes(event.value)) {\r\n this.toastr.error('Tag já adicionada ao capítulo.', 'Atenção');\r\n } else {\r\n this.keywords.push(event.value);\r\n }\r\n }\r\n }\r\n\r\n addTag(keyword: string) {\r\n this.atualizarModel(this.form.value);\r\n this.model.conteudo += `{{${keyword}}}`;\r\n this.form.patchValue(this.model);\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\" id=\"valor\" class=\"form-control form-control-sm text-right\"\r\n [(ngModel)]=\"modelCustoRecursoPlanejamento.valorUnitario\" formControlName=\"valorUnitario\"\r\n (keyup)=\"modelCustoRecursoPlanejamento.valorUnitario = formatarInput($event.target.value)\" />\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\" id=\"quantidade\" class=\"form-control form-control-sm text-right\"\r\n [(ngModel)]=\"modelCustoRecursoPlanejamento.quantidade\" formControlName=\"quantidade\" />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Item {{ element.nome }}Valor Unitário {{ formatarInput(element.valorUnitario) }}Quantidade {{ element.quantidade }}Valor Total {{ formatarInput(element.valorUnitario * element.quantidade) }}\r\n
\r\n \r\n \r\n
\r\n
\r\n
Nenhum custo recurso
\r\n
\r\n
\r\n
\r\n","import { toFormatValue, toRemoveCharacters } from 'src/app/shared/util/toFormatValue';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { DateHelper } from 'src/app/core/helpers/date.helper';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ICustoRecursoPlanejamentoModel } from 'src/app/models/custo-recurso-planejamento.model';\r\nimport { CustoRecursoPlanejamentoService } from 'src/app/services/custo-recurso-planejamento.service';\r\nimport { CustoRecursoService } from 'src/app/services/custo-recurso.service';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseFormComponent } from '../base-form/base-form.component';\r\nimport { ModalCustoRecursoPlanejamentoComponent } from './modal-custo-recurso-planejamento/modal-custo-recurso-planejamento.component';\r\n\r\n@Component({\r\n selector: 'app-custos-recursos',\r\n templateUrl: './custos-recursos.component.html',\r\n styleUrls: ['./custos-recursos.component.scss']\r\n})\r\nexport class CustosRecursosComponent extends BaseFormComponent implements OnInit {\r\n public modelCustoRecursoPlanejamento: ICustoRecursoPlanejamentoModel = {} as ICustoRecursoPlanejamentoModel;\r\n public custoRecursoColunas = ['selecao', 'nome', 'valorUnitario', 'quantidade', 'valorTotal'];\r\n public custoRecursoPlanejamentoDataSource = new MatTableDataSource([]);\r\n public custoRecursoPlanejamentoSemDados = true;\r\n public searchAtivo = true;\r\n public submit: boolean;\r\n public tipoTrabalho: string;\r\n @Input() visualizar: boolean;\r\n @Input() hiddenEdicao: boolean;\r\n\r\n public formCustoRecurso = new FormGroup({\r\n nome: new FormControl('', Validators.required),\r\n valorUnitario: new FormControl('', Validators.required),\r\n quantidade: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private custoRecursoService: CustoRecursoService,\r\n private custoRecursoPlanejamentoService: CustoRecursoPlanejamentoService,\r\n public matDialog: MatDialog,\r\n private dateHelper: DateHelper,\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.router.url.includes(\"planejamento\")) {\r\n this.tipoTrabalho = 'planejamento';\r\n }\r\n if (this.router.url.includes(\"osa\")) {\r\n this.tipoTrabalho = 'osa';\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.obterCustoRecurso()\r\n }\r\n\r\n public async obterCustoRecurso() {\r\n try {\r\n this.custoRecursoPlanejamentoService.obterPorId(this.id, this.tipoTrabalho).then((res) => {\r\n if (res.sucesso) {\r\n this.custoRecursoPlanejamentoDataSource = new MatTableDataSource\r\n (\r\n res.dados\r\n );\r\n this.custoRecursoPlanejamentoDataSource._updateChangeSubscription();\r\n this.modelCustoRecursoPlanejamento = {} as ICustoRecursoPlanejamentoModel;\r\n this.custoRecursoPlanejamentoSemDados = res.dados.length != 0 ? false : true;\r\n } else {\r\n this.submit = false;\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/planejamento']);\r\n return;\r\n }\r\n });\r\n } catch (err) {\r\n this.submit = false;\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem?.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/planejamento']);\r\n }\r\n }\r\n\r\n public async exibirModalCustoRecurso() {\r\n try {\r\n const res = await this.custoRecursoService.obter('', true);\r\n if (res.sucesso) {\r\n const dadosFiltrados = res.dados.filter(constatacao => constatacao.ativo);\r\n const modal = this.exibirModal('Selecionar custo e recurso ', dadosFiltrados);\r\n modal.afterClosed().subscribe(data => {\r\n if (data) {\r\n this.modelCustoRecursoPlanejamento.id = data.id;\r\n this.modelCustoRecursoPlanejamento.nome = data.nome;\r\n this.modelCustoRecursoPlanejamento.valorUnitario = data.valorMedio;\r\n }\r\n }\r\n );\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public async incluirCustoRecurso() {\r\n\r\n try {\r\n let res: IBaseModel = null;\r\n this.formCustoRecurso.value.planejamentoId = this.id;\r\n const dados = {\r\n nome: this.modelCustoRecursoPlanejamento.nome,\r\n planejamentoId: this.id,\r\n osaId: this.id,\r\n valorUnitario: toRemoveCharacters(this.modelCustoRecursoPlanejamento.valorUnitario),\r\n quantidade: Number(this.modelCustoRecursoPlanejamento.quantidade)\r\n } as ICustoRecursoPlanejamentoModel\r\n res = await this.custoRecursoPlanejamentoService.inserir(dados, this.tipoTrabalho);\r\n\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro salvo com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.obterCustoRecurso();\r\n\r\n } else {\r\n const validacoes = this.montarMensagensValidacao(res);\r\n\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: validacoes,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n public async editarCustoRecurso(model: ICustoRecursoPlanejamentoModel) {\r\n try {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '650px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = model;\r\n const modal = this.matDialog.open(\r\n ModalCustoRecursoPlanejamentoComponent,\r\n dialogConfig\r\n );\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n data.planejamentoId = this.id;\r\n const dados = {\r\n id: data.id,\r\n nome: data.nome,\r\n planejamentoId: this.id,\r\n osaId: this.id,\r\n valorUnitario: Number(toRemoveCharacters(data.valorUnitario)),\r\n quantidade: data.quantidade\r\n } as ICustoRecursoPlanejamentoModel\r\n this.custoRecursoPlanejamentoService.atualizar(dados, this.tipoTrabalho)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro atualizado com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.obterCustoRecurso();\r\n }else{\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n }\r\n });\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n }\r\n\r\n\r\n public excluirCustoRecurso(ind: number) {\r\n Swal.fire({\r\n title: \"Excluir Registro\",\r\n text: \"Tem certeza que deseja excluir esse Registro?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then((res) => {\r\n if (res.value) {\r\n this.custoRecursoPlanejamentoService\r\n .excluir(ind, this.tipoTrabalho)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'success',\r\n text: 'Registro excluído com sucesso!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.obterCustoRecurso();\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n })\r\n }})\r\n\r\n }\r\n\r\n formatarInput(value) {\r\n return toFormatValue(value);\r\n }\r\n}\r\n","export class CustoRecurso{ \r\n public nome!: string; \r\n public valorUnitario!: number;\r\n public quantidade!: number;\r\n public id!: number;\r\n\r\n constructor(id, nome, valorUnitario, quantidade){\r\n this.id = id;\r\n this.nome = nome\r\n this.valorUnitario = Number(valorUnitario);\r\n this.quantidade = quantidade;\r\n }\r\n}","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { ICustoRecursoPlanejamentoModel } from 'src/app/models/custo-recurso-planejamento.model';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport Inputmask from 'inputmask';\r\nimport { CustoRecurso } from './custo-recurso';\r\nimport { toFormatValue, toRemoveCharacters} from 'src/app/shared/util/toFormatValue';\r\n\r\n@Component({\r\n selector: 'app-modal-custo-recurso-planejamento',\r\n templateUrl: './modal-custo-recurso-planejamento.component.html',\r\n styleUrls: ['./modal-custo-recurso-planejamento.component.scss']\r\n})\r\nexport class ModalCustoRecursoPlanejamentoComponent implements OnInit {\r\n public modelCustoRecursoPlanejamento!: any;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public toastr: ToastrService,\r\n @Inject(MAT_DIALOG_DATA) private data) {\r\n this.modelCustoRecursoPlanejamento = new CustoRecurso(this.data.id, this.data.nome, this.data.valorUnitario, Number(this.data.quantidade));\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n formatarInput(value) {\r\n return toFormatValue(value);\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.modelCustoRecursoPlanejamento);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Edição custo e recurso

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\" />\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n = 48 && event.charCode <= 57\"/>\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { toIntlNumberString } from 'src/app/core/helpers/number.helper';\r\nimport { IFaixaClassificacaoModel } from 'src/app/models/faixa-classificacao';\r\nimport { FaixaClassificacaoService } from 'src/app/services/faixa-classificacao.service';\r\nimport Swal from 'sweetalert2';\r\nimport { BaseFormComponent } from '../base-form/base-form.component';\r\n\r\n@Component({\r\n selector: 'app-faixa-classificacao-component',\r\n templateUrl: './faixa-classificacao-component.component.html',\r\n styleUrls: ['./faixa-classificacao-component.component.scss']\r\n})\r\nexport class FaixaClassificacaoComponentComponent extends BaseFormComponent implements OnInit, OnChanges {\r\n\r\n @Input() public desabilitado!: boolean;\r\n @Input() public model: IFaixaClassificacaoModel = {} as IFaixaClassificacaoModel;\r\n @Output() public faixadeClassificacaoOutput: EventEmitter = new EventEmitter();\r\n\r\n\r\n public form = new FormGroup({\r\n pisoBaixo: new FormControl(this.model.pisoBaixo, Validators.required),\r\n tetoBaixo: new FormControl(null, Validators.required),\r\n pisoMedio: new FormControl(null, Validators.required),\r\n tetoMedio: new FormControl(null, Validators.required),\r\n pisoAlto: new FormControl(null, Validators.required),\r\n tetoAlto: new FormControl(null, Validators.required),\r\n });\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private faixaService: FaixaClassificacaoService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n this.titulo = 'Editar Faixa de Classificação';\r\n }\r\n\r\n async ngOnChanges(changes: SimpleChanges): Promise {\r\n \r\n this.form.controls['pisoBaixo'].setValue(this.formatarNumero(this.model.pisoBaixo));\r\n this.form.controls['tetoBaixo'].setValue(this.formatarNumero(this.model.tetoBaixo));\r\n this.form.controls['pisoMedio'].setValue(this.formatarNumero(this.model.pisoMedio));\r\n this.form.controls['tetoMedio'].setValue(this.formatarNumero(this.model.tetoMedio));\r\n this.form.controls['pisoAlto'].setValue(this.formatarNumero(this.model.pisoAlto));\r\n this.form.controls['tetoAlto'].setValue(this.formatarNumero(this.model.tetoAlto));\r\n }\r\n\r\n enviarClassificacao() {\r\n this.faixadeClassificacaoOutput.emit(this.salvarModel());\r\n }\r\n\r\n async ngOnInit() {\r\n\r\n Inputmask().mask(document.querySelectorAll('input'));\r\n\r\n if (!this.model) {\r\n try {\r\n const res = await this.faixaService.obter();\r\n if (res.sucesso) {\r\n this.model = res.dados;\r\n\r\n this.form.controls['pisoBaixo'].setValue(this.formatarNumero(this.model.pisoBaixo));\r\n this.form.controls['tetoBaixo'].setValue(this.formatarNumero(this.model.tetoBaixo));\r\n this.form.controls['pisoMedio'].setValue(this.formatarNumero(this.model.pisoMedio));\r\n this.form.controls['tetoMedio'].setValue(this.formatarNumero(this.model.tetoMedio));\r\n this.form.controls['pisoAlto'].setValue(this.formatarNumero(this.model.pisoAlto));\r\n this.form.controls['tetoAlto'].setValue(this.formatarNumero(this.model.tetoAlto));\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'warning',\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n\r\n } catch (err) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n this.router.navigate(['/']);\r\n }\r\n }\r\n }\r\n\r\n private formatarNumero(n: number) {\r\n return n?.toFixed(4)?.toString()?.replace('.', ',');\r\n }\r\n\r\n public salvarModel() {\r\n this.model.pisoBaixo = parseFloat(toIntlNumberString(this.form.controls['pisoBaixo'].value));\r\n this.model.tetoBaixo = parseFloat(toIntlNumberString(this.form.controls['tetoBaixo'].value));\r\n this.model.pisoMedio = parseFloat(toIntlNumberString(this.form.controls['pisoMedio'].value));\r\n this.model.tetoMedio = parseFloat(toIntlNumberString(this.form.controls['tetoMedio'].value));\r\n this.model.pisoAlto = parseFloat(toIntlNumberString(this.form.controls['pisoAlto'].value));\r\n this.model.tetoAlto = parseFloat(toIntlNumberString(this.form.controls['tetoAlto'].value));\r\n return this.model;\r\n }\r\n\r\n public calcular(field) {\r\n if (!this.form.controls['pisoBaixo'].value) {\r\n this.form.controls['pisoBaixo'].setValue('0,0000');\r\n }\r\n if (!this.form.controls['tetoBaixo'].value) {\r\n this.form.controls['tetoBaixo'].setValue('0,0000');\r\n }\r\n if (!this.form.controls['pisoMedio'].value) {\r\n this.form.controls['pisoMedio'].setValue('0,0000');\r\n }\r\n if (!this.form.controls['tetoMedio'].value) {\r\n this.form.controls['tetoMedio'].setValue('0,0000');\r\n }\r\n if (!this.form.controls['pisoAlto'].value) {\r\n this.form.controls['pisoAlto'].setValue('0,0000');\r\n }\r\n if (!this.form.controls['tetoAlto'].value) {\r\n this.form.controls['tetoAlto'].setValue('0,0000');\r\n }\r\n\r\n this.model.pisoBaixo = parseFloat(toIntlNumberString(this.form.controls['pisoBaixo'].value) || '0,0000');\r\n this.model.tetoBaixo = parseFloat(toIntlNumberString(this.form.controls['tetoBaixo'].value) || '0,0000');\r\n this.model.pisoMedio = parseFloat(toIntlNumberString(this.form.controls['pisoMedio'].value) || '0,0000');\r\n this.model.tetoMedio = parseFloat(toIntlNumberString(this.form.controls['tetoMedio'].value) || '0,0000');\r\n this.model.pisoAlto = parseFloat(toIntlNumberString(this.form.controls['pisoAlto'].value) || '0,0000');\r\n this.model.tetoAlto = parseFloat(toIntlNumberString(this.form.controls['tetoAlto'].value) || '0,0000');\r\n\r\n this.validarFormulario();\r\n\r\n const nomeCampoAlterado = field.id;\r\n if (nomeCampoAlterado === 'tetoBaixo') {\r\n this.model.pisoMedio = this.model.tetoBaixo + 0.0001;\r\n this.form.controls['pisoMedio'].setValue(this.formatarNumero(this.model.pisoMedio));\r\n }\r\n else if (nomeCampoAlterado === 'pisoMedio') {\r\n this.model.tetoBaixo = this.model.pisoMedio - 0.0001;\r\n this.form.controls['tetoBaixo'].setValue(this.formatarNumero(this.model.tetoBaixo));\r\n }\r\n else if (nomeCampoAlterado === 'tetoMedio') {\r\n this.model.pisoAlto = this.model.tetoMedio + 0.0001;\r\n this.form.controls['pisoAlto'].setValue(this.formatarNumero(this.model.pisoAlto));\r\n }\r\n else if (nomeCampoAlterado === 'pisoAlto') {\r\n this.model.tetoMedio = this.model.pisoAlto - 0.0001;\r\n this.form.controls['tetoMedio'].setValue(this.formatarNumero(this.model.tetoMedio));\r\n }\r\n\r\n if (this.model.pisoBaixo < 0)\r\n this.model.pisoBaixo = 0;\r\n\r\n if (this.model.tetoAlto > 10)\r\n this.model.tetoAlto = 10;\r\n }\r\n\r\n public validarFormulario() {\r\n\r\n if (this.model.pisoMedio >= this.model.tetoMedio) {\r\n this.form.controls['pisoMedio'].setErrors({ invalid: true });\r\n } else {\r\n this.form.controls['pisoMedio'].setErrors(null);\r\n }\r\n\r\n if (this.model.tetoBaixo >= this.model.pisoMedio) {\r\n this.form.controls['tetoBaixo'].setErrors({ invalid: true });\r\n } else {\r\n this.form.controls['tetoBaixo'].setErrors(null);\r\n }\r\n\r\n if (this.model.pisoBaixo >= this.model.tetoBaixo) {\r\n this.form.controls['pisoBaixo'].setErrors({ invalid: true });\r\n } else {\r\n this.form.controls['pisoBaixo'].setErrors(null);\r\n }\r\n\r\n if (this.model.tetoMedio >= this.model.pisoAlto) {\r\n this.form.controls['tetoMedio'].setErrors({ invalid: true });\r\n } else {\r\n this.form.controls['tetoMedio'].setErrors(null);\r\n }\r\n\r\n if (this.model.pisoAlto >= this.model.tetoAlto) {\r\n this.form.controls['pisoAlto'].setErrors({ invalid: true });\r\n } else {\r\n this.form.controls['pisoAlto'].setErrors(null);\r\n }\r\n\r\n if (this.model.tetoAlto > 10) {\r\n this.form.controls['tetoAlto'].setErrors({ invalid: true });\r\n } else {\r\n this.form.controls['tetoAlto'].setErrors(null);\r\n }\r\n }\r\n\r\n public onBack() {\r\n this.router.navigate(['/']);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n a\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n a\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n a\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Inject, OnInit, Input } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IHistoricoModel } from 'src/app/models/historico.model';\r\nimport { AvaliacaoService } from 'src/app/services/avaliacao.service';\r\nimport { BaseFormComponent } from '../base-form/base-form.component';\r\nimport { IUnidadeGestoraMaturidadeGRHistoricoModel } from 'src/app/models/unidade-gestora-maturidadeGRHistorico.model'; \r\nimport { UnidadeGestoraMaturidadeGRHistoricoService } from 'src/app/services/unidade-gestora-maturidadeGRHistorico.service';\r\nimport { IFiltroUnidadeGestoraMaturidadeGRHistoricoModel } from 'src/app/models/filtro-unidade-gestora-maturidadegrhistorico.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Component({\r\n selector: 'app-historico-modal',\r\n templateUrl: './historico-modal.component.html',\r\n styleUrls: ['./historico-modal.component.scss']\r\n})\r\nexport class HistoricoModalComponent extends BaseFormComponent implements OnInit {\r\n public historicoDados: IUnidadeGestoraMaturidadeGRHistoricoModel[];\r\n public dataSource = new MatTableDataSource([]);\r\n public tituloModal: string = `Histórico de Alteração da Avaliação da Maturidade da Gestão de Riscos`;\r\n public semDados = true;\r\n public displayedColumns: string[] = ['pessoaNome','dataInclusao', 'maturidade'];\r\n public codigo: string;\r\n public sigla: string;\r\n public nome: string;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private avaliacaoService: AvaliacaoService,\r\n public matDialog: MatDialog,\r\n private unidadeGestoraMaturidadeGRHistoricoService: UnidadeGestoraMaturidadeGRHistoricoService,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n \r\n this.semDados = data.historicoDados.length == 0;\r\n this.dataSource = new MatTableDataSource(data.historicoDados);\r\n\r\n this.codigo = data.codigo;\r\n this.sigla = data.sigla;\r\n this.nome = data.nome;\r\n\r\n \r\n }\r\n\r\n ngOnInit() {\r\n \r\n \r\n }\r\n\r\n\r\n \r\n \r\n\r\n public cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","
\r\n\t
\r\n\t\t
\r\n\t\t\t

{{ tituloModal }}

\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
Alterado por\r\n\t\t\t\t\t\t\t\t\t\t\t{{ element.pessoaNome }}\r\n\t\t\t\t\t\t\t\t\t\tData da alteração\r\n\t\t\t\t\t\t\t\t\t\t\t{{ element.dataInclusao | date: 'dd MMM yyyy HH:mm'}}\r\n\t\t\t\t\t\t\t\t\t\tResultado da Avaliação\r\n\t\t\t\t\t\t\t\t\t\t\t{{ element.unidadeGestoraMaturidadeGR.nome }}\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\tSem dados a exibir\r\n\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t Fechar\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport { ILinhaDoTempoModel } from 'src/app/models/linha-tempo.model';\r\nimport { AvaliacaoService } from 'src/app/services/avaliacao.service';\r\nimport { BaseFormComponent } from '../base-form/base-form.component';\r\nimport { data } from 'jquery';\r\n\r\n@Component({\r\n selector: 'app-linha-do-tempo',\r\n templateUrl: './linha-do-tempo.component.html',\r\n styleUrls: ['./linha-do-tempo.component.scss']\r\n})\r\nexport class LinhaDoTempoComponent extends BaseFormComponent implements OnInit {\r\n @Input() aba: number;\r\n @Input() public model: ILinhaDoTempoModel = {} as ILinhaDoTempoModel;\r\n @Input() tipoTrabalhoRef: number;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private avaliacaoService: AvaliacaoService,\r\n public matDialog: MatDialog\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n\r\n if (this.visualizar) {\r\n this.titulo = 'Visualizar Linha do Tempo';\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.obterTipoDocumento();\r\n this.avaliacaoService.obter(this.model?.tipoDocumento?.codigo, this.id)\r\n .then(_ => {\r\n this.model = {} as ILinhaDoTempoModel;\r\n\r\n this.model.datas = _?.dados?.datas;\r\n let tamanhoArray = this.model.datas?.length;\r\n if (tamanhoArray > 0) {\r\n this.model.datas[tamanhoArray-1].acoes.push({\r\n acao: { codigo: 0, nome: 'Criado', descricao: 'Criado com sucesso.' } as IEnumModel\r\n });\r\n }\r\n else {\r\n this.model.datas = [\r\n {\r\n acoes: [{\r\n acao: { codigo: 0, nome: 'Criado', descricao: 'Criado com sucesso.' } as IEnumModel\r\n }]\r\n }\r\n ]\r\n }\r\n\r\n this.model.tipoDocumento = _.dados?.tipoDocumento;\r\n });\r\n }\r\n\r\n public imprimir(id: number) {\r\n console.log(this.model.datas)\r\n localStorage.setItem('timelineImprimir', this.router.url)\r\n let url= '';\r\n switch (this.model?.tipoDocumento.nome) {\r\n case 'PEA':\r\n url = `${window.location.origin}/imprimir-linha-do-tempo/${id}/tipo-trabalho/pea`;\r\n window.open(url, '_blank');\r\n break;\r\n case 'PAA':\r\n url = `${window.location.origin}/imprimir-linha-do-tempo/${id}/tipo-trabalho/paa`;\r\n window.open(url, '_blank');\r\n break;\r\n case 'PAACEspecial':\r\n url = `${window.location.origin}/imprimir-linha-do-tempo/${id}/tipo-trabalho/paa`;\r\n window.open(url, '_blank');\r\n break;\r\n case 'OPA':\r\n url = `${window.location.origin}/imprimir-linha-do-tempo/${id}/tipo-trabalho/opa`;\r\n window.open(url, '_blank');\r\n break;\r\n case 'Planejamento':\r\n url = `${window.location.origin}/imprimir-linha-do-tempo/${id}/tipo-trabalho/planejamento`;\r\n window.open(url, '_blank');\r\n break;\r\n case 'OSA':\r\n url = `${window.location.origin}/imprimir-linha-do-tempo/${id}/tipo-trabalho/osa`;\r\n window.open(url, '_blank');\r\n break;\r\n }\r\n }\r\n\r\n public imprimirRelatoria(id: number) {\r\n localStorage.setItem('timelineImprimir', this.router.url)\r\n let url = '';\r\n switch (this.model?.tipoDocumento.nome) {\r\n case 'PEA':\r\n url = `${window.location.origin}/visualizar-relatoria/${id}/tipo-trabalho/pea`;\r\n window.open(url, '_blank'); \r\n break;\r\n case 'PAA':\r\n url = `${window.location.origin}/visualizar-relatoria/${id}/tipo-trabalho/paa`;\r\n window.open(url, '_blank');\r\n break;\r\n case 'PAACEspecial':\r\n url = `${window.location.origin}/visualizar-relatoria/${id}/tipo-trabalho/paa`;\r\n window.open(url, '_blank');\r\n break;\r\n case 'OPA':\r\n url = `${window.location.origin}/visualizar-relatoria/${id}/tipo-trabalho/opa`;\r\n window.open(url, '_blank');\r\n break;\r\n case 'Planejamento':\r\n url = `${window.location.origin}/visualizar-relatoria/${id}/tipo-trabalho/planejamento`;\r\n window.open(url, '_blank');\r\n break;\r\n case 'OSA':\r\n url = `${window.location.origin}/visualizar-relatoria/${id}/tipo-trabalho/osa`;\r\n window.open(url, '_blank');\r\n break;\r\n }\r\n }\r\n\r\n public obterTipoDocumento() {\r\n\r\n if(!this.tipoTrabalhoRef || this.tipoTrabalhoRef == 0){\r\n const path = this.route.routeConfig.path?.toString();\r\n\r\n if (path?.includes('pea')) {\r\n this.model.tipoDocumento = {\r\n codigo: 1,\r\n nome: 'PEAC',\r\n descricao: 'PEAC'\r\n } as IEnumModel;\r\n }\r\n else if (path?.includes('paa')) {\r\n this.model.tipoDocumento = {\r\n codigo: 2,\r\n nome: 'PAAC',\r\n descricao: 'PAAC'\r\n } as IEnumModel;\r\n }\r\n else if (path?.includes('opa')) {\r\n this.model.tipoDocumento = {\r\n codigo: 3,\r\n nome: 'OPA',\r\n descricao: 'OPA'\r\n } as IEnumModel;\r\n }\r\n else if (path?.includes('osa')) {\r\n this.model.tipoDocumento = {\r\n codigo: 4,\r\n nome: 'OSA',\r\n descricao: 'OSA'\r\n } as IEnumModel;\r\n }\r\n else if (path?.includes('auditoria')) {\r\n this.model.tipoDocumento = {\r\n codigo: 6,\r\n nome: 'auditoria',\r\n descricao: 'auditoria'\r\n } as IEnumModel;\r\n }\r\n else if (path?.includes('planejamento')) {\r\n this.model.tipoDocumento = {\r\n codigo: 7,\r\n nome: 'Planejamento',\r\n descricao: 'Planejamento'\r\n } as IEnumModel;\r\n }\r\n }else{\r\n\r\n if(this.tipoTrabalhoRef == 2){\r\n this.model.tipoDocumento = {\r\n codigo: 2,\r\n nome: 'PAAC',\r\n descricao: 'PAAC'\r\n } as IEnumModel;\r\n }else if(this.tipoTrabalhoRef == 8){\r\n this.model.tipoDocumento = {\r\n codigo: 8,\r\n nome: 'PAAC - Especial',\r\n descricao: 'PAAC - Especial'\r\n } as IEnumModel;\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n mostrarBotaoFechar(): boolean{\r\n const path = this.route.routeConfig.path?.toString();\r\n return path?.includes('paa');\r\n }\r\n\r\n public cancelar() {\r\n const path = this.route.routeConfig.path?.toString();\r\n \r\n if(path?.includes('paa')){\r\n this.router.navigate(['/paa']);\r\n }else if(path?.includes('pea')){\r\n this.router.navigate(['/pea']);\r\n }else if(path?.includes('opa')){\r\n this.router.navigate(['/opa']);\r\n }else if(path?.includes('osa')){\r\n this.router.navigate(['/osa']);\r\n }else if(path?.includes('auditoria')){\r\n this.router.navigate(['/auditoria']);\r\n }else if(path?.includes('planejamento')){\r\n this.router.navigate(['/planejamento']);\r\n }\r\n \r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n

Linha do Tempo

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{ element.data | date: 'dd MMM yyyy' }}\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n Fechar\r\n \r\n
","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\n\r\n@Component({\r\n selector: 'app-lookup-modal',\r\n templateUrl: './lookup-modal.component.html',\r\n styleUrls: ['./lookup-modal.component.scss']\r\n})\r\nexport class LookupModalComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public exibirId = true;\r\n public titulo = '';\r\n public selecionado: any;\r\n public displayedColumns: string[];\r\n public columns: { columnDef: string, header: string }[];\r\n public customFilterPredicate;\r\n public pageSizeOptions: string[] = [\"5\"];\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n if(data.pageSizeOptions){\r\n this.pageSizeOptions = [`${data.pageSizeOptions}`];\r\n }\r\n\r\n if (data.customizeColumns) {\r\n this.columns = data.customizeColumns;\r\n }\r\n else if (data.exibirId) {\r\n this.columns = [\r\n {\r\n columnDef: 'selecao',\r\n header: ''\r\n },\r\n {\r\n columnDef: 'id',\r\n header: 'ID'\r\n },\r\n {\r\n columnDef: 'nome',\r\n header: 'Nome'\r\n }];\r\n } else {\r\n this.columns = [\r\n {\r\n columnDef: 'selecao',\r\n header: ''\r\n },\r\n {\r\n columnDef: 'nome',\r\n header: 'Nome'\r\n }];\r\n }\r\n\r\n this.displayedColumns = this.columns.map(x => x.columnDef);\r\n this.exibirId = data.exibirId;\r\n this.titulo = data.titulo;\r\n this.dataSource = new MatTableDataSource(data.dados);\r\n this.dataSource._updateChangeSubscription();\r\n\r\n if (data.customFilterPredicate) {\r\n this.customFilterPredicate = data.customFilterPredicate;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n if (this.customFilterPredicate) {\r\n this.dataSource.filterPredicate = this.customFilterPredicate;\r\n }\r\n else {\r\n this.dataSource.filterPredicate = (data: { nome: string }, filterValue: string) => {\r\n return (data.nome || '').trim().toLowerCase().indexOf(filterValue) !== -1;\r\n };\r\n }\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public filtrar(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public selecionarItem(item: any) {\r\n this.selecionado = !this.selecionado || this.selecionado.id !== item.id ? item : null;\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.selecionado);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

{{titulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
{{ column.header }} \r\n \r\n \r\n \r\n {{ element[column.columnDef] }}\r\n \r\n
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { defaultDataAcessor } from 'src/app/core/helpers/mat-sort-data-accessor';\r\n\r\n@Component({\r\n selector: 'app-lookup-multiselect-modal',\r\n templateUrl: './lookup-multiselect-modal.component.html',\r\n styleUrls: ['./lookup-multiselect-modal.component.scss']\r\n})\r\nexport class LookupMultiselectModalComponent implements OnInit {\r\n public dataSource = new MatTableDataSource([]);\r\n public semDados = true;\r\n public exibirId = true;\r\n public titulo = '';\r\n public botaoOk = '';\r\n public displayedColumns: string[];\r\n public todosSelecionados = false;\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n if (data.exibirId) {\r\n this.displayedColumns = ['selecao', 'id', 'nome'];\r\n } else {\r\n this.displayedColumns = ['selecao', 'nome'];\r\n }\r\n\r\n this.botaoOk = data.botaoOk;\r\n this.exibirId = data.exibirId;\r\n this.titulo = data.titulo;\r\n this.dataSource = new MatTableDataSource(data.dados);\r\n this.dataSource._updateChangeSubscription();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.filterPredicate = (data: { nome: string }, filterValue: string) => {\r\n return (data.nome || '').trim().toLowerCase().indexOf(filterValue) !== -1;\r\n };\r\n this.dataSource.sortingDataAccessor = defaultDataAcessor;\r\n this.dataSource._updateChangeSubscription();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public filtrar(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n this.semDados = this.dataSource.filteredData.length === 0;\r\n }\r\n\r\n public selecionarTodos() {\r\n this.dataSource.data.forEach(d => d.selecionado = !this.todosSelecionados);\r\n this.todosSelecionados = !this.todosSelecionados;\r\n }\r\n\r\n public verificarItensSelecionados(){\r\n return this.dataSource.data.filter(d => d.selecionado).length > 0;\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.dataSource.data.filter(d => d.selecionado));\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

{{titulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Id {{element.id}} Nome {{element.nome}}
\r\n
Sem dados a exibir
\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { SolicitacaoTecnicaService } from './../../../services/solicitacao-tecnica.service';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { IArquivoModel } from 'src/app/models/arquivo.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Component, Inject, OnInit, ViewChild, OnChanges, SimpleChanges } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\n\r\n@Component({\r\n selector: 'app-modal-arquivo',\r\n templateUrl: './modal-arquivo.component.html',\r\n styleUrls: ['./modal-arquivo.component.scss']\r\n})\r\nexport class ModalArquivoComponent implements OnInit, OnChanges{\r\n\r\n public dataSource = new MatTableDataSource();\r\n public semDados: boolean;\r\n public arquivo: File;\r\n public nomeArquivo: string = '';\r\n public conteudoArquivo: string;\r\n public model: IArquivoModel = {} as IArquivoModel;\r\n public numeroItem: number;\r\n public nSolicitacaoTecnica: number;\r\n\r\n public form = new FormGroup({\r\n arquivo: new FormControl('', Validators.required),\r\n });\r\n\r\n constructor(\r\n public matDialog: MatDialog,\r\n private dialogRef: MatDialogRef,\r\n private solicitacaoTencica: SolicitacaoTecnicaService,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n this.numeroItem = data?.numero;\r\n this.nSolicitacaoTecnica = data?.nSolicitacaoTecnica\r\n }\r\n\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n\t@ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n\t\tthis.dataSource.sort = this.sort;\r\n this.dataSource.paginator = this.paginator;\r\n }\r\n\r\n public salvar() {\r\n const dados = {\r\n Id: this.data?.id,\r\n Arquivos: this.dataSource.data\r\n }as any;\r\n\r\n this.solicitacaoTencica\r\n .salvarAnexo(dados)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"success\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n \r\n setTimeout(() => this.dialogRef.close(), 500);\r\n\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"error\",\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n });\r\n }\r\n\r\n public onFileChange(event) {\r\n \r\n if (event.target.files && event.target.files.length > 0) {\r\n const selectedFiles = event.srcElement.files; \r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n const file = selectedFiles[i];\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = (e: any) => {\r\n const base64 = \"base64,\";\r\n const base64full: any = reader.result;\r\n var item = {\r\n id: 0,\r\n nomeArquivo: file.name,\r\n name: file.name,\r\n Arquivo: base64full.substring(base64full.indexOf(base64) + base64.length)\r\n }; \r\n this.dataSource.data.push(item)\r\n this.dataSource.paginator = this.paginator;\r\n };\r\n } \r\n }\r\n }\r\n\r\n\r\n public excluirArquivo(i: number){\r\n if(this.dataSource.data[i].id > 0){\r\n Swal.fire({\r\n title: \"Excluir Registro\",\r\n text: \"Tem certeza que deseja excluir esse Registro?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then((res) => {\r\n if (res.value) {\r\n this.solicitacaoTencica.excluirAnexo(this.data?.solicitacaoId, this.data?.id, this.dataSource.data[i].id)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"success\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n if (this.dataSource.data[i]) this.dataSource.data.splice(i, 1)\r\n this.dataSource._updateChangeSubscription();\r\n } else {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: res.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n })\r\n .catch((err) => {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"error\",\r\n text: err.mensagem.descricao,\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n });\r\n }})\r\n }else{\r\n if (this.dataSource.data[i]) this.dataSource.data.splice(i, 1)\r\n this.dataSource._updateChangeSubscription();\r\n }\r\n\r\n }\r\n\r\n public getBase64(file) {\r\n return new Promise((resolve, reject) => {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n resolve(reader.result)\r\n };\r\n reader.onerror = function (error) {\r\n Swal.fire({\r\n toast: true,\r\n position: 'top-end',\r\n icon: 'error',\r\n text: \"Ocorreu um erro ao selecionar o arquivo\" + error.toString(),\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n })\r\n };\r\n })\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close()\r\n }\r\n\r\n public Download(dataurl, filename) {\r\n const link = document.createElement(\"a\");\r\n link.href = dataurl;\r\n link.download = filename;\r\n link.click();\r\n }\r\n}\r\n","
\r\n

\r\n \r\n Anexar Arquivo\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\t\t\t\t
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
Arquivos\r\n {{ element.name }}\r\n \r\n Ações\r\n \r\n
\r\n \r\n
\r\n
\r\n
0\" class=\"table-no-data\">\r\n Adicione um novo arquivo!\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-modal-cancelar',\r\n templateUrl: './modal-cancelar.component.html',\r\n})\r\nexport class ModalCancelarComponent implements OnInit {\r\n\r\n constructor(\r\n public matDialog: MatDialog,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.data = data;\r\n }\r\n\r\n public data = {} as any;\r\n ngOnInit(): void { }\r\n\r\n Sim() {\r\n if (this.data && this.data.interno) {\r\n this.matDialog.closeAll();\r\n }\r\n else {\r\n this.dialogRef.close(true);\r\n }\r\n }\r\n\r\n Nao() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n

Cancelar Atividade

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-modal-confirma-cancelar',\r\n templateUrl: './modal-confirma-cancelar.component.html',\r\n styleUrls: ['./modal-confirma-cancelar.component.scss']\r\n})\r\nexport class ModalConfirmaCancelarComponent implements OnInit {\r\n\r\n constructor(\r\n public matDialog: MatDialog,\r\n private dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) data) {\r\n this.data = data;\r\n }\r\n\r\n public data = {} as any;\r\n ngOnInit(): void { }\r\n\r\n Sim() {\r\n if (this.data && this.data.interno) {\r\n this.matDialog.closeAll();\r\n }\r\n else {\r\n this.dialogRef.close(true);\r\n }\r\n }\r\n\r\n Nao() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n

Cancelar Atividade

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BaseFormComponent } from 'src/app/shared/components/base-form/base-form.component';\r\n\r\n@Component({\r\n selector: 'app-modal-confirmacao-rejeitar',\r\n templateUrl: './modal-confirmacao-rejeitar.component.html',\r\n styleUrls: ['./modal-confirmacao-rejeitar.component.scss']\r\n})\r\nexport class ModalConfirmarRejeitarComponent extends BaseFormComponent implements OnInit {\r\n public form = new FormGroup({\r\n justificativa: new FormControl('', Validators.required),\r\n });\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n public matDialog: MatDialog,\r\n private dialogRef: MatDialogRef) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.form.get('justificativa').value);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

Tem certeza que deseja rejeitar esse registro?

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\n\r\n@Component({\r\n selector: 'app-modal-confirmar-inativacao',\r\n templateUrl: './modal-confirmar-inativacao.component.html',\r\n styleUrls: ['./modal-confirmar-inativacao.component.scss']\r\n})\r\nexport class ModalConfirmarInativacaoComponent implements OnInit {\r\n public titulo = 'Tem certeza que deseja inativar esse registro?';\r\n public form = new FormGroup({\r\n justificativa: new FormControl('', Validators.required),\r\n });\r\n\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(private dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) data) {\r\n if (data){\r\n this.titulo = data.titulo ? data.titulo : this.titulo;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public concluir() {\r\n this.dialogRef.close(this.form.get('justificativa').value);\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n

{{titulo}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n","import { ModalCancelarComponent } from './../modal-cancelar/modal-cancelar-component';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogConfig, MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-modal-justificativa',\r\n templateUrl: './modal-justificativa.component.html',\r\n styleUrls: ['./modal-justificativa.component.scss']\r\n})\r\nexport class ModalJustificativaComponent implements OnInit {\r\n public submitted: boolean\r\n public justificativa: string;\r\n public prorrogacao: boolean = false\r\n\r\n public form = new FormGroup({\r\n justificativa: new FormControl('', Validators.required)\r\n });\r\n\r\n constructor(\r\n private dialogRef: MatDialogRef,\r\n public matDialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data\r\n ) {\r\n this.prorrogacao = data?.prorrogarPrazo\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public submit(){\r\n this.submitted = true\r\n if(!this.prorrogacao){\r\n if(this.form.controls['justificativa'].invalid){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n title: 'Atenção',\r\n text: 'A justificativa é obrigatória',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n this.justificativa = this.form.get('justificativa').value\r\n this.dialogRef.close(this.justificativa);\r\n }else if(this.prorrogacao){\r\n if(this.form.invalid){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n title: 'Atenção',\r\n text: 'Formulário Inválido',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n const dados = {\r\n justificativa: this.form.get('justificativa').value\r\n }\r\n this.dialogRef.close(dados);\r\n }\r\n\r\n }\r\n\r\n public cancelar() {\r\n this.dialogRef.close(false);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
Campo obrigatório\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { LoadingBarService } from '@ngx-loading-bar/core';\r\nimport html2pdf from 'html2pdf.js';\r\nimport jsPDF from 'jspdf';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-pdf-export',\r\n templateUrl: './pdf-export.component.html',\r\n styleUrls: ['./pdf-export.component.scss']\r\n})\r\nexport class PdfExportComponent implements OnInit {\r\n @Input() fileName!: string;\r\n @Input() orientation: 'p' | 'l' = 'p'; // 'p' para retrato, 'l' para paisagem\r\n @Input() format: string = \"a4\";\r\n @Input() headerHeight: number = 30;\r\n @Input() footerHeight: number = 30;\r\n @Input() resizeTableSelectors?: string[];\r\n @Input() keepTogetherSelectors?: string[];\r\n @Input() showWatermark: false;\r\n\r\n @Output() cancelar = new EventEmitter();\r\n\r\n constructor(\r\n public authService: AuthService,\r\n private loadingBar: LoadingBarService,\r\n private spinner: NgxSpinnerService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n async generatePDF() {\r\n try {\r\n // Inicia os indicadores de carregamento\r\n this.loadingBar.start();\r\n this.spinner.show();\r\n\r\n const contentElement = document.querySelector('.content-pdf-export') as HTMLElement;\r\n if (contentElement) {\r\n const opt = {\r\n margin: [this.headerHeight, 0, this.footerHeight, 5],\r\n filename: this.fileName,\r\n image: { type: 'jpeg', quality: 0.98 },\r\n html2canvas: { scale: 2, useCORS: true },\r\n jsPDF: { unit: 'mm', format: this.format, orientation: this.orientation },\r\n pagebreak: {\r\n mode: ['css'], // Modo para evitar quebras\r\n avoid: this.keepTogetherSelectors?.join(', ') // Seletores que devem evitar quebra\r\n }\r\n };\r\n\r\n const pdf = new jsPDF('p', 'mm', 'a4');\r\n const pageWidth = pdf.internal.pageSize.getWidth();\r\n const pageHeight = pdf.internal.pageSize.getHeight();\r\n const pageWidthInPixels = (pageWidth * 96) / 25.4;\r\n\r\n const contentClone = contentElement.cloneNode(true) as HTMLElement;\r\n contentClone.style.maxWidth = `${pageWidthInPixels - 10}px`;\r\n\r\n const tempContainer = document.createElement('div');\r\n tempContainer.style.visibility = 'hidden';\r\n tempContainer.appendChild(contentClone);\r\n document.body.appendChild(tempContainer);\r\n\r\n this.resizeTables(contentClone, pageWidthInPixels);\r\n this.resizeImages(contentClone, pageWidthInPixels);\r\n document.body.removeChild(tempContainer);\r\n\r\n const fullContent = document.createElement('div');\r\n fullContent.appendChild(contentClone);\r\n\r\n await new Promise(resolve => setTimeout(resolve, 0));\r\n\r\n await html2pdf()\r\n .from(fullContent)\r\n .set(opt)\r\n .toPdf()\r\n .get('pdf')\r\n .then((pdf: any) => {\r\n const totalPages = pdf.internal.getNumberOfPages();\r\n\r\n if (totalPages > 0) {\r\n const lastPageIndex = totalPages - 1;\r\n const lastPageContent = pdf.internal.pages[lastPageIndex];\r\n console.log(lastPageContent);\r\n\r\n if (lastPageContent.length === 0) {\r\n pdf.deletePage(totalPages);\r\n } else {\r\n for (let i = 1; i <= totalPages; i++) {\r\n pdf.setPage(i);\r\n this.addWatermark(pdf, './marca-d-agua.png');\r\n // Adiciona a marca d'água na página\r\n this.addHeader(pdf);\r\n this.addFooter(pdf, i, totalPages, this.footerHeight, pageHeight, pageWidth);\r\n }\r\n }\r\n }\r\n\r\n try {\r\n const pdfBlob = pdf.output('blob');\r\n const pdfURL = URL.createObjectURL(pdfBlob);\r\n const popupWindow = window.open(pdfURL, '_blank', 'width=800,height=600,scrollbars=yes');\r\n\r\n if (!popupWindow) {\r\n throw new Error('Não foi possível abrir a janela pop-up.');\r\n }\r\n } catch (error) {\r\n console.error('Erro ao gerar o PDF:', error);\r\n }\r\n });\r\n } else {\r\n console.error('Elemento não encontrado!');\r\n }\r\n\r\n console.log('PDF gerado com sucesso!');\r\n } catch (error) {\r\n console.error('Erro ao gerar PDF:', error);\r\n } finally {\r\n // Finaliza os indicadores de carregamento\r\n this.loadingBar.complete();\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n resizeTables(contentClone: HTMLElement, pageWidthInPixels: number) {\r\n\r\n if (this.resizeTableSelectors && this.resizeTableSelectors.length > 0) {\r\n\r\n this.resizeTableSelectors.forEach((selector) => {\r\n // Ajustar tabelas que ultrapassam a largura\r\n const tables = contentClone.querySelectorAll(selector);\r\n tables.forEach((table) => {\r\n const tableElement = table as HTMLElement;\r\n\r\n // Obter largura da tabela em pixels\r\n const tableWidthInPixels = tableElement.offsetWidth;\r\n\r\n // Calcular fator de escala necessário\r\n if (tableWidthInPixels > pageWidthInPixels) {\r\n const scaleFactor = Math.min(pageWidthInPixels / tableWidthInPixels, 0.64);\r\n // Ajustar o tamanho da tabela proporcionalmente\r\n tableElement.style.transform = `scale(${scaleFactor})`;\r\n tableElement.style.transformOrigin = 'top left';\r\n\r\n let parent = table.parentElement; // Começa com o elemento pai imediato\r\n\r\n // Procura até encontrar a div com a classe \"my-3\"\r\n while (parent && !parent.classList.contains('my-3')) {\r\n parent = parent.parentElement;\r\n }\r\n\r\n // Se encontrou a div com \"my-3\", aplica uma altura máxima\r\n if (parent && parent.classList.contains('my-3')) {\r\n // parent.classList.remove('my-3');\r\n // parent.style.marginBottom = '10px';\r\n // Calcular a nova altura após a escala\r\n const scaledHeight = Math.max(tableElement.offsetHeight * scaleFactor + 33, 350);\r\n parent.style.height = `${scaledHeight}px`;\r\n parent.style.overflow = 'hidden';\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n resizeImages(contentClone: HTMLElement, pageWidthInPixels: number) {\r\n // Selecionar todas as imagens no conteúdo clonado\r\n const images = contentClone.querySelectorAll('img');\r\n\r\n images.forEach((img) => {\r\n const imgElement = img as HTMLImageElement;\r\n\r\n // Obter largura da imagem em pixels\r\n const imageWidthInPixels = imgElement.naturalWidth;\r\n\r\n // Calcular fator de escala necessário\r\n if (imageWidthInPixels > pageWidthInPixels) {\r\n const scaleFactor = Math.min(pageWidthInPixels / imageWidthInPixels, 0.90);\r\n\r\n // Aplicar redimensionamento com escala\r\n imgElement.style.transform = `scale(${scaleFactor})`;\r\n imgElement.style.transformOrigin = 'top left';\r\n\r\n // Ajustar largura e altura proporcionalmente\r\n const scaledWidth = imgElement.offsetWidth * scaleFactor;\r\n const scaledHeight = imgElement.offsetHeight * scaleFactor;\r\n\r\n imgElement.style.width = `${scaledWidth}px`;\r\n imgElement.style.height = `${scaledHeight}px`;\r\n }\r\n });\r\n }\r\n\r\n addHeader(pdf: jsPDF): void {\r\n const margin = 5;\r\n const imgData = \"assets/img/logo_brasao_ES.png\";\r\n const imgWidth = 20; // largura da imagem\r\n const imgHeight = 20; // altura da imagem\r\n const imgX = margin + 20; // Margem da esquerda\r\n const imgY = margin; // Parte superior da página\r\n\r\n // Adicionar imagem\r\n pdf.addImage(imgData, \"PNG\", imgX, imgY, imgWidth, imgHeight);\r\n\r\n // Adicionar título e subtítulo\r\n const titleX = imgX + imgWidth + 5; // Espaço à direita da imagem\r\n const titleY = imgY + 10; // Centraliza o texto no eixo Y\r\n\r\n pdf.setFont(\"helvetica\", \"bold\");\r\n pdf.setFontSize(14);\r\n pdf.setTextColor(\"#23507e\");\r\n pdf.text(\"Governo do Estado do Espírito Santo\".toUpperCase(), titleX, titleY);\r\n\r\n const subtitleY = titleY + 7; // Espaço entre título e subtítulo\r\n pdf.setFont(\"helvetica\", \"normal\");\r\n pdf.setFontSize(12);\r\n pdf.text(\r\n \"Secretaria de Estado de Controle e Transparência\".toUpperCase(),\r\n titleX,\r\n subtitleY\r\n );\r\n }\r\n\r\n addFooter(\r\n pdf: jsPDF,\r\n pageNumber: number,\r\n totalPages: number,\r\n footerHeight: number,\r\n pageHeight: number,\r\n pageWidth: number\r\n ): void {\r\n const marginBetweenContentAndFooter = 5; // Margem entre conteúdo e linha do rodapé\r\n const footerStartY = pageHeight - footerHeight + marginBetweenContentAndFooter;\r\n\r\n // Desenhar a linha no rodapé com margem\r\n const lineY = footerStartY; // Posição ajustada com base na margem\r\n pdf.setDrawColor('#23507e'); // Cor da linha (cinza claro)\r\n pdf.setLineWidth(0.1); // Espessura da linha\r\n pdf.line(10, lineY, pageWidth - 10, lineY); // Linha horizontal (10 mm de margem)\r\n\r\n const textY1 = lineY + 5; // Primeira linha de texto\r\n pdf.setFontSize(8);\r\n pdf.setFont(\"helvetica\", \"normal\"); // Fonte normal\r\n pdf.text(\r\n \"Av. João Batista Parra, nº. 600, Ed. Aureliano Hoffman, 10º andar, Enseada do Suá, Vitória /ES - Cep: 29050-375\",\r\n 10, // Alinhado à esquerda\r\n textY1\r\n );\r\n\r\n const textY2 = textY1 + 5; // Segunda linha de texto\r\n pdf.text(\r\n \"Tel: (27) 3636-5352\",\r\n 10, // Alinhado à esquerda\r\n textY2\r\n );\r\n\r\n const textY3 = textY2 + 5; // terceira linha de texto\r\n pdf.setFont(\"helvetica\", \"bold\"); // Fonte em negrito\r\n pdf.text(\r\n \"www.secont.es.gov.br\",\r\n 10, // Alinhado à esquerda\r\n textY3\r\n );\r\n\r\n // Obter a data/hora atual e formatá-la\r\n const currentDate = new Date();\r\n const formattedDate = currentDate.toLocaleString(\"pt-BR\", {\r\n day: \"2-digit\",\r\n month: \"2-digit\",\r\n year: \"numeric\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n\r\n // \"Emitido por\" com estilos segmentados\r\n const textY4 = textY2 + 5; // Linha para \"Emitido por\"\r\n const emitidoPorText = `Emitido por `;\r\n const userName = this.authService.usuario?.nome;\r\n const commaAndEm = `, em `;\r\n const dataHoraText = `${formattedDate}`;\r\n\r\n // Calcular o posicionamento alinhado à direita\r\n const fullTextWidth = pdf.getTextWidth(\r\n `${emitidoPorText}${userName}${commaAndEm}${dataHoraText}`\r\n );\r\n const textX4 = pageWidth - 10 - fullTextWidth;\r\n\r\n // Adicionar os segmentos do texto\r\n pdf.setFont(\"helvetica\", \"normal\"); // \"Emitido por\"\r\n pdf.text(emitidoPorText, textX4, textY4);\r\n\r\n const userNameWidth = pdf.getTextWidth(emitidoPorText);\r\n pdf.setFont(\"helvetica\", \"bold\"); // Nome do usuário\r\n pdf.text(userName, textX4 + userNameWidth, textY4);\r\n\r\n const commaAndEmWidth = pdf.getTextWidth(userName);\r\n pdf.setFont(\"helvetica\", \"normal\"); // \", em\"\r\n pdf.text(commaAndEm, textX4 + userNameWidth + commaAndEmWidth, textY4);\r\n\r\n const dataHoraWidth = pdf.getTextWidth(commaAndEm);\r\n pdf.setFont(\"helvetica\", \"bold\"); // Data e hora\r\n pdf.text(dataHoraText, textX4 + userNameWidth + commaAndEmWidth + dataHoraWidth, textY4);\r\n\r\n // Adicionar a numeração da página logo abaixo das informações\r\n const pageNumberY = textY4 + 5; // Posicionar o número da página\r\n pdf.setFont(\"helvetica\", \"normal\"); // Fonte normal\r\n pdf.text(\r\n `Página ${pageNumber}/${totalPages}`,\r\n pageWidth / 2, // Alinhado ao centro\r\n pageNumberY,\r\n { align: \"center\" }\r\n );\r\n }\r\n\r\n async addWatermark(pdf: jsPDF, watermarkImage: string) {\r\n if (this.showWatermark) {\r\n const opacity = 0.1;\r\n pdf.saveGraphicsState();\r\n pdf.setGState(pdf.GState({ opacity: 0.2 }));\r\n pdf.addImage(watermarkImage, 'PNG', 10, 10, 190, 277);\r\n pdf.restoreGraphicsState();\r\n }\r\n }\r\n\r\n cancelarClick() {\r\n this.cancelar.emit();\r\n }\r\n}","
\r\n \"SECONT-SIAC\"\r\n
\r\n

Governo do Estado do Espírito Santo

\r\n
Secretaria de Estado de Controle e Transparência
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-print-layout',\r\n templateUrl: './print-layout.component.html',\r\n styleUrls: ['./print-layout.component.scss']\r\n})\r\nexport class PrintLayoutComponent {\r\n @Input() habilitado = true;\r\n @Output() cancelar = new EventEmitter();\r\n\r\n dataAtual: string;\r\n \r\n constructor(\r\n public authService: AuthService,\r\n ) {}\r\n\r\n print() {\r\n const currentDate = new Date();\r\n this.dataAtual = currentDate.toLocaleString(\"pt-BR\", {\r\n day: \"2-digit\",\r\n month: \"2-digit\",\r\n year: \"numeric\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n\r\n\r\n // this.usuarioEmissor = this.authService.usuario?.nome;\r\n setTimeout(() => {\r\n // Forçar a impressão após a contagem de páginas ser calculada\r\n window.print();\r\n }, 100);\r\n }\r\n \r\n cancelarClick() {\r\n this.cancelar.emit();\r\n }\r\n}","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \"Brasão\r\n \r\n
\r\n

Governo do Estado do Espírito Santo

\r\n
Secretaria de Estado de Controle e Transparência
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
Av. João Batista Parra, nº. 600, Ed. Aureliano Hoffman, 10º andar, Enseada do Suá, Vitória\r\n /ES - Cep: 29050-375
Tel: (27) 3636-5352
www.secont.es.gov.brEmitido por {{this.authService.usuario?.nome}}, em {{dataAtual}}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n \r\n","\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Código UG\r\n \r\n \r\n {{ element?.codigoUg }}\r\n \r\n \r\n\r\n \r\n \r\n Sigla UG\r\n \r\n \r\n {{ element?.sigla }}\r\n \r\n \r\n\r\n \r\n \r\n Nome UG\r\n \r\n \r\n {{ element?.nome }}\r\n \r\n \r\n\r\n \r\n \r\n Valor Risco Inerente\r\n \r\n \r\n {{ element?.valorRisco }}\r\n \r\n \r\n\r\n \r\n \r\n Fator redutor\r\n \r\n \r\n {{ element?.fatorRedutor }}\r\n \r\n \r\n \r\n \r\n Valor risco residual\r\n \r\n \r\n {{ element?.valorRiscoResidual }}\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n Sem Registros de Ranking\r\n
\r\n
\r\n\r\n

Empresas Públicas

\r\n\r\n
\r\n \r\n \r\n \r\n Código UG\r\n \r\n \r\n {{ element?.codigoUg }}\r\n \r\n \r\n\r\n \r\n \r\n Sigla UG\r\n \r\n \r\n {{ element?.sigla }}\r\n \r\n \r\n\r\n \r\n \r\n Nome UG\r\n \r\n \r\n {{ element?.nome }}\r\n \r\n \r\n \r\n \r\n \r\n Valor Risco Inerente\r\n \r\n \r\n {{ element?.valorRisco }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Fator redutor\r\n \r\n \r\n {{ element?.fatorRedutor }}\r\n \r\n \r\n \r\n \r\n Valor risco residual\r\n \r\n \r\n {{ element?.valorRiscoResidual }}\r\n \r\n \r\n\r\n \r\n \r\n \r\n
\r\n Sem Registros de Ranking\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Legenda do risco: Risco Alto Risco Médio Risco Baixo
\r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild, AfterViewInit, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { IPaaRankingPrioridadeModel } from 'src/app/models/paa-ranking-prioridade.model';\r\nimport { IPeaRankingPrioridadeModel } from 'src/app/models/pea-ranking-prioridade.model';\r\nimport { ModalDetalharValorRiscoComponent } from 'src/app/pages/pea-form/modal-detalhar-valor-risco/modal-detalhar-valor-risco.component';\r\nimport { RankingDistribuicaoService } from 'src/app/services/ranking-prioridade.service';\r\n\r\n@Component({\r\n selector: 'app-ranking-prioridade',\r\n templateUrl: `./ranking-prioridade.component.html`,\r\n styleUrls: ['./ranking-prioridade.component.scss'],\r\n})\r\nexport class RankingPrioridadeComponent implements OnInit, AfterViewInit, OnChanges {\r\n public columnsRanking = ['codigoUg', 'sigla', 'nome', 'valorRisco', 'actions','fatorRedutor', 'valorRiscoResidual'];\r\n @Input() public rankingPrioridadeDataSource: MatTableDataSource;\r\n @Input() public rankingPrioridadeEmpresasPublicasDataSource: MatTableDataSource;\r\n @Input() public semDadosRanking: boolean;\r\n @Input() public semDadosRankingEmpresaPublica: boolean;\r\n\r\n @ViewChild(\"tabela1\", { static: true }) tabela1: MatSort;\r\n\r\n @ViewChild(\"tabela2\", { static: true }) tabela2: MatSort;\r\n constructor(\r\n public route: ActivatedRoute,\r\n public toastr: ToastrService,\r\n public router: Router,\r\n public localeService: BsLocaleService,\r\n public matDialog: MatDialog,\r\n public rankingService: RankingDistribuicaoService\r\n ) {\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n this.rankingPrioridadeDataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n this.rankingPrioridadeDataSource.sort = this.tabela1\r\n\r\n this.rankingPrioridadeEmpresasPublicasDataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n this.rankingPrioridadeEmpresasPublicasDataSource.sort = this.tabela2\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.rankingPrioridadeDataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n this.rankingPrioridadeDataSource.sort = this.tabela1\r\n\r\n this.rankingPrioridadeEmpresasPublicasDataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n this.rankingPrioridadeEmpresasPublicasDataSource.sort = this.tabela2\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.rankingPrioridadeDataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n this.rankingPrioridadeDataSource.sort = this.tabela1\r\n\r\n this.rankingPrioridadeEmpresasPublicasDataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n this.rankingPrioridadeEmpresasPublicasDataSource.sort = this.tabela2\r\n }\r\n\r\n public async exibirModalDetalharValorRisco(element: IPeaRankingPrioridadeModel) {\r\n const dialogConfig = new MatDialogConfig();\r\n dialogConfig.id = 'modal-component';\r\n dialogConfig.width = '850px';\r\n dialogConfig.hasBackdrop = true;\r\n dialogConfig.disableClose = true;\r\n dialogConfig.data = element;\r\n this.matDialog.open(\r\n ModalDetalharValorRiscoComponent,\r\n dialogConfig\r\n );\r\n }\r\n\r\n public sortingDataAccessor = (item: any, property: string) => {\r\n switch (property) {\r\n case 'codigoUg':\r\n return item?.codigoUg;\r\n case 'sigla':\r\n return item?.sigla;\r\n case 'nome':\r\n return item?.nome;\r\n case 'indicador':\r\n return item?.indicador.nome;\r\n case 'valorRisco':\r\n return item?.valorRisco;\r\n case 'fatorRedutor':\r\n return item?.fatorRedutor;\r\n case 'valorRiscoResidual':\r\n return item?.valorRiscoResidual;\r\n default:\r\n return item[property];\r\n }\r\n };\r\n\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n Relatoria - {{tipoTrabalhoDescricao}} - {{dadosObtidos?.nomeDocumento}}\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n {{ item.pessoa?.nome }}
\r\n Elaborador\r\n

\r\n\r\n

\r\n {{ item.pessoa?.nome }}
\r\n {{ item.pessoa?.funcao?.descricao }}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IRelatoriaCapituloModel } from 'src/app/models/relatoria-capitulo.model';\r\nimport { IRelatoriaModel } from 'src/app/models/relatoria.model';\r\nimport { RelatoriaService } from 'src/app/services/relatoria.service';\r\nimport { Location } from '@angular/common';\r\nimport { BaseFormComponent } from '../../base-form/base-form.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AprovacaoService } from 'src/app/services/aprovacao.service';\r\nimport { AvaliacaoService } from 'src/app/services/avaliacao.service';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\n\r\n\r\n@Component({\r\n selector: 'app-imprimir-linha-do-tempo',\r\n templateUrl: './imprimir-linha-do-tempo.component.html',\r\n styleUrls: ['./imprimir-linha-do-tempo.component.scss']\r\n})\r\n\r\nexport class imprimirLinhaDoTempoComponent extends BaseFormComponent implements OnInit {\r\n relatoriaDados: IRelatoriaCapituloModel[];\r\n public dadosObtidos: IRelatoriaModel;\r\n public tipoTrabalhoDescricao: any;\r\n public removeMinuta: boolean = true;\r\n visualizarRelatoriaHidden = false;\r\n tipoTrabalho;\r\n datas: any;\r\n activatedRoute: any;\r\n @Output() public abaRelatoria: EventEmitter = new EventEmitter();\r\n @Output() public voltarAbaRelatoria: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private relatoriaService: RelatoriaService,\r\n private aprovacaoService: AprovacaoService,\r\n private avaliacaoService: AvaliacaoService,\r\n public matDialog: MatDialog,\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.obter();\r\n }\r\n\r\n public async obter() {\r\n let res: IBaseModel;\r\n\r\n if (this.id) {\r\n\r\n\r\n const avaliacao = await this.aprovacaoService.imprimirRelatoria(this.id);\r\n res = {\r\n sucesso: avaliacao.sucesso,\r\n dados: JSON.parse(avaliacao.dados),\r\n mensagem: avaliacao.mensagem,\r\n resultadoValidacao: avaliacao.resultadoValidacao\r\n } as IBaseModel;\r\n const tipoTrabalho = this.route.snapshot.paramMap.get('tipoTrabalho');\r\n switch (tipoTrabalho) {\r\n case 'pea':\r\n this.tipoTrabalho = 1;\r\n break;\r\n case 'paa':\r\n this.tipoTrabalho = 2;\r\n break;\r\n case 'opa':\r\n this.tipoTrabalho = 3;\r\n break;\r\n case 'osa':\r\n this.tipoTrabalho = 4;\r\n break;\r\n case 'planejamento':\r\n this.tipoTrabalho = 7;\r\n break;\r\n }\r\n debugger;\r\n if (res.sucesso) {\r\n this.relatoriaDados = res.dados.relatoriasCapitulos;\r\n this.dadosObtidos = res.dados;\r\n if (this.dadosObtidos?.tipoTrabalhoStatus.codigo == 4)\r\n this.removeMinuta = false;\r\n if (Number(this.dadosObtidos?.tipoTrabalhoStatus) === 4) {\r\n this.removeMinuta = false;\r\n }\r\n var tipoTrabalhoId = this.dadosObtidos.tipoTrabalhoId\r\n \r\n //Trecho comentado para sempre mostrar os responsáveis,\r\n // em alguns o tipoTrabalho momentos estava retorna um objeto ao invés do número\r\n // this.tipoTrabalho = res.dados.tipoTrabalho;\r\n \r\n const resultado = await this.avaliacaoService.obter(this.tipoTrabalho, tipoTrabalhoId);\r\n this.datas = resultado.dados.datas;\r\n switch (this.tipoTrabalho) {\r\n case 1:\r\n this.tipoTrabalhoDescricao = 'PEAC';\r\n break;\r\n case 2:\r\n this.tipoTrabalhoDescricao = 'PAAC';\r\n break;\r\n case 3:\r\n this.tipoTrabalhoDescricao = 'OPA';\r\n break;\r\n case 4:\r\n this.tipoTrabalhoDescricao = 'OSA';\r\n break;\r\n case 7:\r\n this.tipoTrabalhoDescricao = 'Planejamento';\r\n break;\r\n case 8:\r\n this.tipoTrabalhoDescricao = 'PAAC - Especial';\r\n break;\r\n }\r\n\r\n }\r\n else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n return null;\r\n }\r\n }\r\n this.visualizarRelatoriaHidden = true;\r\n }\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n\r\n backClicked() {\r\n window.close()\r\n }\r\n\r\n VoltarRelatoria() {\r\n this.abaRelatoria.emit(5);\r\n this.voltarAbaRelatoria.emit(true);\r\n this.router.navigate(['/pea/', this.id]);\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IRelatoriaCapituloModel } from 'src/app/models/relatoria-capitulo.model';\r\nimport { IRelatoriaModel } from 'src/app/models/relatoria.model';\r\nimport { RelatoriaService } from 'src/app/services/relatoria.service';\r\nimport { Location } from '@angular/common';\r\nimport { BaseFormComponent } from '../../base-form/base-form.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AprovacaoService } from 'src/app/services/aprovacao.service';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\n\r\n@Component({\r\n selector: 'app-imprimir-relatoria',\r\n templateUrl: './imprimir-relatoria.component.html',\r\n styleUrls: ['./imprimir-relatoria.component.scss']\r\n})\r\n\r\nexport class ImprimirRelatoriaComponent extends BaseFormComponent implements OnInit {\r\n relatoriaDados: IRelatoriaCapituloModel[];\r\n public dadosObtidos: IRelatoriaModel;\r\n espelho = false;\r\n tipoTrabalho;\r\n activatedRoute: any;\r\n @Output() public abaRelatoria: EventEmitter = new EventEmitter();\r\n @Output() public voltarAbaRelatoria: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private relatoriaService: RelatoriaService,\r\n private aprovacaoService: AprovacaoService,\r\n public matDialog: MatDialog,\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n const path = this.route.routeConfig.path?.toString();\r\n if (path.includes('espelho-relatorio')) {\r\n this.espelho = true;\r\n }\r\n\r\n const tipoTrabalho = this.route.snapshot.paramMap.get('tipoTrabalho');\r\n switch (tipoTrabalho) {\r\n case '1':\r\n this.tipoTrabalho = 1;\r\n break;\r\n case '2':\r\n this.tipoTrabalho = 2;\r\n break;\r\n case '3':\r\n this.tipoTrabalho = 3;\r\n break;\r\n case '4':\r\n this.tipoTrabalho = 4;\r\n break;\r\n case '7':\r\n this.tipoTrabalho = 7;\r\n break;\r\n case '8':\r\n this.tipoTrabalho = 8;\r\n break;\r\n } \r\n\r\n this.obter();\r\n }\r\n\r\n public async obter() {\r\n let res: IBaseModel;\r\n\r\n if (this.id) {\r\n\r\n if (this.espelho) {\r\n const avaliacao = await this.aprovacaoService.imprimirRelatoria(this.id);\r\n res = {\r\n sucesso: avaliacao.sucesso,\r\n dados: JSON.parse(avaliacao.dados),\r\n mensagem: avaliacao.mensagem,\r\n resultadoValidacao: avaliacao.resultadoValidacao\r\n } as IBaseModel;\r\n }\r\n else {\r\n res = await this.relatoriaService.obterPorTipoTrabalho(this.id, this.tipoTrabalho);\r\n }\r\n\r\n if (res.sucesso) { \r\n this.relatoriaDados = res.dados.relatoriasCapitulos;\r\n this.dadosObtidos = res.dados;\r\n }\r\n else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n return null;\r\n }\r\n }\r\n }\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n\r\n backClicked() {\r\n window.history.back()\r\n }\r\n\r\n VoltarRelatoria() {\r\n this.abaRelatoria.emit(5);\r\n this.voltarAbaRelatoria.emit(true);\r\n this.router.navigate(['/pea/', this.id]); \r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n \r\n \r\n Página Inicial\r\n
  2. \r\n
  3. \r\n Relatoria\r\n
  4. \r\n
  5. \r\n Imprimir\r\n
  6. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Imprimir Relatoria\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input, Output, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { IRelatoriaCapituloModel } from 'src/app/models/relatoria-capitulo.model';\r\nimport { IRelatoriaModel } from 'src/app/models/relatoria.model';\r\nimport { RelatoriaService } from 'src/app/services/relatoria.service';\r\nimport { IEnumModel } from 'src/app/models/enum.model';\r\nimport Swal from 'sweetalert2';\r\nimport { ModeloRelatorioService } from 'src/app/services/modelo-relatorio.service';\r\nimport { BaseFormComponent } from '../base-form/base-form.component';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { IModeloRelatorioModel } from 'src/app/models/modelo-relatorio.model';\r\nimport { ICapituloRelatorioModel } from 'src/app/models/capitulo-relatorio.model';\r\nimport { RelatoriaCapituloService } from 'src/app/services/relatoria-capitulo.service';\r\nimport { PaaService } from 'src/app/services/paa.service';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\n\r\nexport type IModeloRelatoria = {\r\n modeloRelatorio: IModeloRelatorioModel[] | IModeloRelatorioModel | any;\r\n modeloRelatorioId: number | any;\r\n habilitarGerarRelatoria: boolean;\r\n jaEnviadoAprovacao: boolean;\r\n status: IEnumModel;\r\n situacao: IEnumModel;\r\n\r\n}\r\n@Component({\r\n selector: 'app-relatoria',\r\n templateUrl: './relatoria.component.html',\r\n styleUrls: ['./relatoria.component.scss']\r\n})\r\nexport class RelatoriaComponent extends BaseFormComponent implements OnInit, OnChanges{\r\n @Input() aba: number;\r\n @Input() relatoriaDados: (IRelatoriaCapituloModel[] | IModeloRelatorioModel[] | ICapituloRelatorioModel[]);\r\n @Input() visualizar: boolean;\r\n @Input() submit: boolean;\r\n @Input() dadosObtidos: IRelatoriaModel;\r\n @Input() public model: IModeloRelatoria = {} as IModeloRelatoria;\r\n @Input() tipoTrabalhoId: number;\r\n @Input() obterDados: () => void;\r\n @Input() public impressao: boolean;\r\n @Input() tipoTrabalhoRef: number;\r\n @Input() visualizarRelatoriaHidden: boolean;\r\n public reprovado: boolean;\r\n public homologado: boolean;\r\n public emAprovacao: boolean;\r\n idTipoTrabalhoPaac:number = 2;\r\n idTipoTrabalhoPaacEspecial:number = 8;\r\n\r\n tipoTrabalho: number;\r\n public salvarDadosPendente = false;\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private relatoriaService: RelatoriaService,\r\n private modeloRelatorioService: ModeloRelatorioService,\r\n private relatoriaCapituloService: RelatoriaCapituloService,\r\n private paaService: PaaService,\r\n private authService: AuthService,\r\n public matDialog: MatDialog,\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n if(!this.tipoTrabalhoRef || this.tipoTrabalhoRef == 0){\r\n const path = this.route.routeConfig.path?.toString();\r\n if (path?.includes('pea')) {\r\n this.tipoTrabalho = 1;\r\n }\r\n else if (path?.includes('paa')) {\r\n this.tipoTrabalho = 2;\r\n }\r\n else if (path?.includes('opa')) {\r\n this.tipoTrabalho = 3;\r\n }\r\n else if (path?.includes('osa')) {\r\n this.tipoTrabalho = 4;\r\n }\r\n else if (path?.includes('planejamento')) {\r\n this.tipoTrabalho = 7;\r\n }\r\n }else{\r\n this.tipoTrabalho = this.tipoTrabalhoRef;\r\n }\r\n \r\n\r\n this.habilitarGerar();\r\n this.obterRelatorio(); \r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes.model?.currentValue !== undefined) {\r\n this.model = changes.model?.currentValue;\r\n this.reprovado = this.model?.jaEnviadoAprovacao;\r\n if(this.model?.situacao?.codigo === 4 || this.model?.status?.codigo === 4){\r\n this.homologado = true;\r\n }\r\n\r\n }\r\n }\r\n ngDoCheck() {\r\n if ( this.model?.situacao?.codigo === 2 || this.model?.status?.codigo === 2) {\r\n this.emAprovacao = true;\r\n }\r\n }\r\n\r\n public habilitarGerar(){\r\n //TODO:SOMENTE PAA POR ENQUANTO\r\n if(this.id && (this.tipoTrabalho == this.idTipoTrabalhoPaac || this.tipoTrabalho == this.idTipoTrabalhoPaacEspecial)){\r\n this.relatoriaService.habilitarGerar(this.id, this.tipoTrabalho)\r\n .then((res) => {\r\n if(res.sucesso)\r\n this.model.habilitarGerarRelatoria = res.dados;\r\n })\r\n }\r\n }\r\n\r\n public obterRelatorio() {\r\n //if (this.relatoriaDados && this.dadosObtidos) { return; }\r\n\r\n if (this.id) {\r\n this.relatoriaService.obterPorTipoTrabalho(this.id, this.tipoTrabalho)\r\n .then((res) => {\r\n if (res.sucesso) {\r\n // this.relatoriaDados = res.dados.relatoriasCapitulos;\r\n // this.dadosObtidos = res.dados;\r\n this.relatoriaService.reltoriaCurrent.subscribe(relatoriaDados => {\r\n this.relatoriaDados = relatoriaDados?.relatoriasCapitulos;\r\n this.dadosObtidos = relatoriaDados;\r\n })\r\n }\r\n }).catch(err => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n }\r\n\r\n public async gerar() {\r\n\r\n this.relatoriaService.gerar({\r\n modeloRelatorioId: (this.model.modeloRelatorio as IModeloRelatorioModel).id,\r\n tipoTrabalhoId: this.id,\r\n tipoTrabalho: { codigo: this.tipoTrabalho } as IEnumModel\r\n } as IRelatoriaModel)\r\n .then(res => {\r\n if (res.sucesso) {\r\n this.exibirMensagemSucesso(res.mensagem.descricao);\r\n this.obterRelatorio();\r\n this.obterDados();\r\n }\r\n if (!res.sucesso) {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n }).catch(err => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n\r\n public async exibirModalModeloRelatorio() {\r\n try {\r\n const res = await this.modeloRelatorioService.obterPorTipoTrabalho(this.tipoTrabalho.toString(), true, true);\r\n if (res.sucesso) {\r\n res.dados.sort();\r\n const modal = this.exibirModal('Selecionar Modelo de Relatório', res.dados);\r\n modal.afterClosed().subscribe((data) => {\r\n if (data) {\r\n this.salvarDadosPendente = true;\r\n this.model.modeloRelatorio = data;\r\n this.model.modeloRelatorioId = data.id;\r\n }\r\n });\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n } catch (err) {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n }\r\n }\r\n\r\n public cancelar() {\r\n if(this.tipoTrabalho == 1)\r\n\t\t this.router.navigate(['/pea']);\r\n else if(this.tipoTrabalho == this.idTipoTrabalhoPaac || this.tipoTrabalho == this.idTipoTrabalhoPaacEspecial)\r\n this.router.navigate(['/paa']);\r\n else if(this.tipoTrabalho == 3)\r\n this.router.navigate(['/opa']);\r\n else if(this.tipoTrabalho == 4)\r\n this.router.navigate(['/osa']);\r\n else if(this.tipoTrabalho == 7)\r\n this.router.navigate(['/planejamento']);\r\n\t }\r\n\r\n desabilitarBotaoEnviarAprovacao(): boolean{\r\n return this.relatoriaDados == null \r\n || this.relatoriaDados == undefined \r\n || this.dadosObtidos.tipoTrabalhoStatus.codigo != 1;\r\n }\r\n\r\n public async enviarAprovacao() {\r\n \r\n if(this.tipoTrabalho == this.idTipoTrabalhoPaac || this.tipoTrabalho == this.idTipoTrabalhoPaacEspecial){\r\n\r\n const perfis = await this.authService.obterPerfisSimplificado();\r\n const inputOptions = new Map;\r\n\r\n perfis.dados.forEach(element => {\r\n inputOptions.set(element.guid, element.nome)\r\n });\r\n\r\n Swal.fire({\r\n title: 'Enviar para aprovação',\r\n text: 'Selecione seu Perfil de envio para aprovação',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: 'Enviar',\r\n cancelButtonText: 'Cancelar',\r\n input: 'select',\r\n inputOptions,\r\n }).then(res => {\r\n if(res.isConfirmed){ \r\n this.paaService.enviarAprovacao(this.id, res.value.toString())\r\n .then((res) => {\r\n if (res.sucesso) {\r\n if (res.mensagem.codigo === 42 || res.mensagem.codigo === 99) {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n return\r\n }\r\n this.exibirMensagemSucesso('PAAC enviado para aprovação.');\r\n this.router.navigate([`/pendencias`]);\r\n } else {\r\n this.exibirMensagemErro(res.mensagem.descricao);\r\n }\r\n })\r\n .catch((err) => {\r\n this.exibirMensagemErro(err.mensagem.descricao);\r\n })\r\n }\r\n })\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Ainda não existe um relatorio gerado

\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
","
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  1. \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Visualizar Relatoria {{dadosObtidos?.tipoTrabalho.nome}} - {{dadosObtidos?.nomeDocumento}}\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { IRelatoriaCapituloModel } from 'src/app/models/relatoria-capitulo.model';\r\nimport { IRelatoriaModel } from 'src/app/models/relatoria.model';\r\nimport { RelatoriaService } from 'src/app/services/relatoria.service';\r\nimport { Location } from '@angular/common';\r\nimport { BaseFormComponent } from '../../base-form/base-form.component';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BsLocaleService } from 'ngx-bootstrap/datepicker';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AprovacaoService } from 'src/app/services/aprovacao.service';\r\nimport { IBaseModel } from 'src/app/models/base.model';\r\nimport { ValueConverter } from '@angular/compiler/src/render3/view/template';\r\n\r\n\r\n@Component({\r\n selector: 'app-visualizar-relatoria',\r\n templateUrl: './visualizar-relatoria.component.html',\r\n styleUrls: ['./visualizar-relatoria.component.scss']\r\n})\r\n\r\nexport class VisualizarRelatoriaComponent extends BaseFormComponent implements OnInit {\r\n relatoriaDados: IRelatoriaCapituloModel[];\r\n public dadosObtidos: IRelatoriaModel;\r\n public removeMinuta: boolean = true;\r\n visualizarRelatoriaHidden = false;\r\n tipoTrabalho;\r\n activatedRoute: any;\r\n @Output() public abaRelatoria: EventEmitter = new EventEmitter();\r\n @Output() public voltarAbaRelatoria: EventEmitter = new EventEmitter();\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n toastr: ToastrService,\r\n router: Router,\r\n localeService: BsLocaleService,\r\n private relatoriaService: RelatoriaService,\r\n private aprovacaoService: AprovacaoService,\r\n public matDialog: MatDialog,\r\n ) {\r\n super(route, toastr, router, localeService, matDialog);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.obter();\r\n }\r\n\r\n public async obter() {\r\n let res: IBaseModel;\r\n \r\n if (this.id) {\r\n\r\n \r\n const avaliacao = await this.aprovacaoService.imprimirRelatoria(this.id);\r\n res = {\r\n sucesso: avaliacao.sucesso,\r\n dados: JSON.parse(avaliacao.dados),\r\n mensagem: avaliacao.mensagem,\r\n resultadoValidacao: avaliacao.resultadoValidacao\r\n } as IBaseModel;\r\n \r\n if (res.sucesso) { \r\n this.relatoriaDados = res.dados.relatoriasCapitulos;\r\n this.dadosObtidos = res.dados;\r\n \r\n if (this.dadosObtidos?.tipoTrabalhoStatus.codigo == 4)\r\n this.removeMinuta = false;\r\n if (Number(this.dadosObtidos?.tipoTrabalhoStatus) === 4) {\r\n this.removeMinuta = false;\r\n }\r\n }\r\n else {\r\n this.toastr.error(res.mensagem.descricao, 'Atenção');\r\n return null;\r\n }\r\n }\r\n this.visualizarRelatoriaHidden = true;\r\n }\r\n\r\n print(): void {\r\n window.print();\r\n }\r\n\r\n backClicked() {\r\n window.close()\r\n }\r\n\r\n VoltarRelatoria() {\r\n this.abaRelatoria.emit(5);\r\n this.voltarAbaRelatoria.emit(true);\r\n this.router.navigate(['/pea/', this.id]); \r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'sanitizedHtml'\r\n})\r\nexport class SanitizedHtmlPipe implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) { }\r\n transform(value: any): any {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n}","
\r\n

Incluir UG

\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n {{ item?.sigla }}-{{ item?.nome }}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ item?.nome }}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{ item?.subTipoAuditoria?.nome}}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n Unidade(s) Gestora(s)\r\n \r\n {{ element?.unidadeGestora?.sigla }} -\r\n {{ element?.unidadeGestora?.nome }}\r\n \r\n Responsável\r\n \r\n {{ element?.responsavel?.nome }}\r\n \r\n Subtipo\r\n \r\n {{ element?.subtipoAuditoria.subTipoAuditoria?.nome}}\r\n \r\n Ação\r\n \r\n
\r\n \r\n
\r\n
\r\n
0\">\r\n Nenhum registro encontrado\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { UnidadeGestoraService } from './../../../../services/unidade-gestora.service';\r\nimport { Component, Inject, OnInit, ViewChild } from \"@angular/core\";\r\nimport { FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport {\r\n MatDialog,\r\n\tMatDialogRef,\r\n\tMAT_DIALOG_DATA,\r\n} from \"@angular/material/dialog\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatSort } from \"@angular/material/sort\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { IResponsavelModel } from \"src/app/models/responsaveis.model\";\r\nimport { IUnidadeGestoraModel } from \"src/app/models/unidade-gestora.model\";\r\nimport { ISubtipoAuditoriaModel } from './../../../../models/subtipo-auditoria.model';\r\nimport { PlanejamentoUgSubtipo } from '../unidade-gestora.component';\r\n\r\n@Component({\r\n\tselector: \"app-modal-incluir-ug-component\",\r\n\ttemplateUrl: \"./modal-incluir-ug-component.component.html\",\r\n\tstyleUrls: [\"./modal-incluir-ug-component.component.scss\"],\r\n})\r\nexport class ModalIncluirUgComponentComponent implements OnInit {\r\n\tpublic dataSourceUG =\r\n\t\tnew MatTableDataSource([]);\r\n\tpublic unidadesGestoras: IUnidadeGestoraModel[];\r\n\tpublic responsaveis: IResponsavelModel[];\r\n\tpublic ugSelecionada!: IUnidadeGestoraModel;\r\n\tpublic responsavelSelecionado: IResponsavelModel;\r\n public subtipoList: ISubtipoAuditoriaModel[] = [] as ISubtipoAuditoriaModel[];\r\n public subtipoSelecionado!: ISubtipoAuditoriaModel;\r\n public ugType: string = '';\r\n public subTiposVinculados: PlanejamentoUgSubtipo[] = [] as PlanejamentoUgSubtipo[];\r\n\r\n public displayedColumns: string[] = ['ug', 'responsavel', 'actions'];\r\n\r\n\tpublic form = new FormGroup({\r\n\t\tug: new FormControl(\"\", Validators.required),\r\n\t\tresponsavel: new FormControl(\"\", Validators.required),\r\n\t});\r\n\r\n\tconstructor(\r\n\t\tpublic matDialog: MatDialog,\r\n\t\tprivate dialogRef: MatDialogRef,\r\n\t\t@Inject(MAT_DIALOG_DATA) public data,\r\n private unidadeGestoraService: UnidadeGestoraService\r\n\t) {\r\n this.displayedColumns = data.displayedColumns;\r\n this.subtipoList = data?.data?.subtipoSelecionado;\r\n this.unidadesGestoras = data?.data?.unidadesGestoras;\r\n this.subTiposVinculados = data?.data?.planejamentoUgSubtipo;\r\n this.ugType = data.ugType;\r\n }\r\n\r\n\t@ViewChild(\"TableOnePaginator\", { static: true }) tableOnePaginator: MatPaginator;\r\n\t@ViewChild(\"tabela1\", { static: true }) tabela1: MatSort;\r\n\r\n\tngOnInit(): void {\r\n this.obterUnidadesGestoras();\r\n\t\tthis.dataSourceUG.sort = this.tabela1;\r\n\t\tthis.dataSourceUG.sortingDataAccessor = this.sortingDataAccessor;\r\n }\r\n\r\n\tpublic salvar() {\r\n\t\tthis.dialogRef.close(this.dataSourceUG.data);\r\n\t}\r\n\r\n public async obterUnidadesGestoras() {\r\n try {\r\n if(this.unidadesGestoras?.length === 0) {\r\n const result = await this.unidadeGestoraService.obterAtivos();\r\n if (result.sucesso) {\r\n this.unidadesGestoras = result.dados;\r\n }\r\n }\r\n } catch (error) {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"error\",\r\n text: ' Erro, ao obter unidades gestoras!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n }\r\n\r\n }\r\n\r\n\tpublic adicionarUg() {\r\n if(this.ugType === 'subtipo'){\r\n if (this.ugSelecionada?.id === undefined || (this.subtipoSelecionado as any)?.subTipoAuditoria?.id === undefined){\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: ' Preencha todos os campos!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n\r\n const findUgSelecionada = this.subTiposVinculados.find(x => x.subtipoAuditoria.id === (this.subtipoSelecionado as any)?.subTipoAuditoria?.id && x.unidadeGestora.id === this.ugSelecionada.id)?.planejamentoId;\r\n const findUgDataSourceSelecionada = this.dataSourceUG.data.find(x => x.subtipoAuditoria.subTipoAuditoriaId === (this.subtipoSelecionado as any).subTipoAuditoria?.id && x.unidadeGestora.id === this.ugSelecionada.id);\r\n\r\n if (findUgSelecionada || findUgDataSourceSelecionada?.unidadeGestora?.id ) {\r\n Swal.fire({\r\n toast: true,\r\n position: \"top-end\",\r\n icon: \"warning\",\r\n text: ' Esse items ja estão na listagem!',\r\n showConfirmButton: false,\r\n timer: 5000,\r\n timerProgressBar: true,\r\n });\r\n return;\r\n }\r\n }\r\n\r\n\t\tthis.dataSourceUG.data.push({\r\n\t\t\tunidadeGestora: this.ugSelecionada,\r\n\t\t\tresponsavel: {\r\n\t\t\t\tnome: this.responsavelSelecionado?.nome,\r\n\t\t\t\tresponsavelId: this.responsavelSelecionado?.idResponsavel,\r\n\t\t\t},\r\n subtipoAuditoria: this.subtipoSelecionado\r\n\t\t} as any);\r\n\r\n\t\tthis.dataSourceUG.data = this.dataSourceUG.data;\r\n\t\tthis.dataSourceUG.paginator = this.tableOnePaginator;\r\n\r\n\t\tthis.ugSelecionada = undefined;\r\n\t\tthis.responsavelSelecionado = undefined;\r\n\t\tthis.subtipoSelecionado = undefined;\r\n\t}\r\n\r\n\tpublic sortingDataAccessor = (item, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"ug\":\r\n\t\t\t\treturn item.unidadeGestora?.sigla;\r\n\t\t\tcase \"responsavel\":\r\n\t\t\t\treturn item.unidadeGestora?.sigla;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n\tpublic excluirUg(i: number) {\r\n\t\tthis.dataSourceUG.data.splice(i, 1);\r\n\t\tthis.dataSourceUG._updateChangeSubscription();\r\n\t}\r\n\r\n public incluiColuna(nomeColuna: string): boolean {\r\n return this.displayedColumns.includes(nomeColuna);\r\n }\r\n\r\n\tpublic cancelar() {\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n}\r\n","import { Component, Input, OnInit, EventEmitter, Output, ViewChild, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nimport { ISubtipoAuditoriaModel } from 'src/app/models/subtipo-auditoria.model';\r\nimport { IUnidadeGestoraModel } from 'src/app/models/unidade-gestora.model';\r\nimport { ISolicitacaoTecnicaUnidadeGestoraModel } from './../../../models/solicitacao-tecnica.model';\r\nimport { ModalIncluirUgComponentComponent } from './modal-incluir-ug-component/modal-incluir-ug-component.component';\r\nimport { IResponsavelModel } from 'src/app/models/responsaveis.model';\r\nimport { IPlanejamentoSubtipoAuditoriaModel } from 'src/app/models/planejamento-subtipo-auditoria.model';\r\nimport Swal from 'sweetalert2';\r\n\r\ntype mainType = IUnidadeGestoraModel | ISolicitacaoTecnicaUnidadeGestoraModel | PlanejamentoUgSubtipo;\r\nexport interface IPlanejamentoUnidadeGestoraModel{\r\n unidadeGestora?: IUnidadeGestoraModel;\r\n responsavel?: IResponsavelModel;\r\n}\r\nexport interface PlanejamentoUgSubtipo {\r\n planejamentoId: number,\r\n unidadeGestora: IUnidadeGestoraModel,\r\n subtipoAuditoria: ISubtipoAuditoriaModel\r\n}\r\n\r\n@Component({\r\n selector: 'app-unidade-gestora',\r\n templateUrl: './unidade-gestora.component.html',\r\n styleUrls: ['./unidade-gestora.component.scss']\r\n})\r\nexport class UnidadeGestoraComponent implements OnInit, OnChanges {\r\n\r\n public dataSource = new MatTableDataSource([]);\r\n\r\n @Input() public visualizar: boolean = false;\r\n @Input() public hiddenEdicao: boolean = false;\r\n @Input() public displayedColumns: string[] = ['ug', 'responsavel', 'actions'];\r\n @Input() public subtipoSelecionado: IPlanejamentoSubtipoAuditoriaModel[] = [] as IPlanejamentoSubtipoAuditoriaModel[];\r\n @Input() public unidadesGestoras: IUnidadeGestoraModel[] = [] as IUnidadeGestoraModel[];\r\n @Input() public planejamentoUgSubtipo: PlanejamentoUgSubtipo[] = [] as PlanejamentoUgSubtipo[];\r\n @Input() public ugType: string = '';\r\n @Output() public dados: EventEmitter = new EventEmitter();\r\n @Output() public excluir: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild(\"TableOnePaginator\", { static: true }) tableOnePaginator: MatPaginator;\r\n\t@ViewChild(\"tabela1\", { static: true }) tabela1: MatSort;\r\n\r\n constructor(public matDialog: MatDialog) { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes.planejamentoUgSubtipo.currentValue !== undefined) {\r\n this.dataSource.data = changes.planejamentoUgSubtipo.currentValue\r\n this.dataSource.sort = this.tabela1;\r\n this.dataSource.sortingDataAccessor = this.sortingDataAccessor;\r\n this.dataSource.paginator = this.tableOnePaginator;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n public naoTemJustificativa(planejamento: IPlanejamentoSubtipoAuditoriaModel[]): IPlanejamentoSubtipoAuditoriaModel[] {\r\n return planejamento.filter(a => !a.justificativa)\r\n }\r\n\r\n public modalIncluirUg() {\r\n const dialogConfig = new MatDialogConfig();\r\n\t\tdialogConfig.id = \"modal-component-ug\";\r\n\t\tdialogConfig.width = \"70vw\";\r\n\t\tdialogConfig.maxHeight = \"auto\";\r\n\t\tdialogConfig.hasBackdrop = true;\r\n\t\tdialogConfig.disableClose = true;\r\n\t\tdialogConfig.data = {\r\n displayedColumns: this.displayedColumns,\r\n ugType: this.ugType,\r\n data: {\r\n subtipoSelecionado: this.naoTemJustificativa(this.subtipoSelecionado),\r\n unidadesGestoras: this.unidadesGestoras,\r\n planejamentoUgSubtipo: this.planejamentoUgSubtipo\r\n }\r\n };\r\n\r\n\t\tconst modal = this.matDialog.open(\r\n ModalIncluirUgComponentComponent,\r\n\t\t\tdialogConfig\r\n );\r\n modal.afterClosed().subscribe((data: any) => {\r\n if (data) {\r\n data.forEach(element => {\r\n this.dataSource.data = [...this.dataSource.data, element] ;\r\n });\r\n this.dados.emit(this.dataSource.data);\r\n }\r\n });\r\n\t}\r\n public excluirUg(ugId: number, subtipoId: number) {\r\n Swal.fire({\r\n title: \"Excluir Registro\",\r\n text: \"Tem certeza que deseja excluir esse Registro?\",\r\n icon: \"warning\",\r\n showCancelButton: true,\r\n confirmButtonText: \"Sim\",\r\n cancelButtonText: \"Não\",\r\n }).then((res) => {\r\n if (res.value) {\r\n this.excluir.emit({ugId, subtipoId});\r\n }})\r\n\r\n\t}\r\n\r\n public sortingDataAccessor = (item, property) => {\r\n\t\tswitch (property) {\r\n\t\t\tcase \"subtipo\":\r\n\t\t\t\treturn item?.subtipoAuditoria?.subTipoAuditoria?.nome ?? item?.subtipoAuditoria?.nome;\r\n\t\t\tcase \"responsavel\":\r\n\t\t\t\treturn item?.responsavel?.nome;\r\n\t\t\tcase \"ug\":\r\n\t\t\t\treturn item?.unidadeGestora?.sigla;\r\n\t\t\tdefault:\r\n\t\t\t\treturn item[property];\r\n\t\t}\r\n\t};\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n Unidade(s) Gestora(s)\r\n \r\n {{element?.unidadeGestora?.sigla}} - {{ element?.unidadeGestora?.nome }}\r\n \r\n Responsável\r\n \r\n {{ element?.responsavel?.nome }}\r\n \r\n Subtipo\r\n \r\n {{ element?.subtipoAuditoria?.subTipoAuditoria?.nome }}\r\n {{ element?.subtipoAuditoria?.nome }}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
0\">\r\n Nenhuma Ug vinculada\r\n
\r\n 0)\" [pageSizeOptions]=\"[5]\" showFirstLastButtons>\r\n \r\n
\r\n
\r\n
\r\n","import { Directive, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appKeyboardlock]'\r\n})\r\nexport class KeyboardlockDirective {\r\n\r\n constructor() { }\r\n\r\n @HostListener('paste', ['$event']) blockPaste(e: KeyboardEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n @HostListener('copy', ['$event']) blockCopy(e: KeyboardEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n @HostListener('cut', ['$event']) blockCut(e: KeyboardEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { version } from './../../../../../package.json';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n})\r\nexport class FooterComponent {\r\n public appVersion = version;\r\n constructor() { }\r\n\r\n}\r\n","
\r\n
\r\n Version {{ appVersion }}\r\n
\r\n Todos os direitos reservados SECONT-ES\r\n
","import { Component, EventEmitter, OnInit, Output } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss'],\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n @Output() toggleMenuSidebar: EventEmitter = new EventEmitter();\r\n public searchForm: FormGroup;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.searchForm = new FormGroup({\r\n search: new FormControl(null),\r\n });\r\n }\r\n}\r\n","\r\n","import { Component, ElementRef, HostListener, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\n\r\n@Component({\r\n selector: 'app-user-dropdown-menu',\r\n templateUrl: './user-dropdown-menu.component.html',\r\n styleUrls: ['./user-dropdown-menu.component.scss'],\r\n})\r\nexport class UserDropdownMenuComponent implements OnInit {\r\n @ViewChild('dropdownMenu', { static: false }) dropdownMenu;\r\n @HostListener('document:click', ['$event'])\r\n clickout(event) {\r\n if (!this.elementRef.nativeElement.contains(event.target)) {\r\n this.hideDropdownMenu();\r\n }\r\n }\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n public authService: AuthService\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public toggleDropdownMenu() {\r\n if (this.dropdownMenu.nativeElement.classList.contains('show')) {\r\n this.hideDropdownMenu();\r\n } else {\r\n this.showDropdownMenu();\r\n }\r\n }\r\n\r\n public showDropdownMenu() {\r\n this.renderer.addClass(this.dropdownMenu.nativeElement, 'show');\r\n }\r\n\r\n public hideDropdownMenu() {\r\n this.renderer.removeClass(this.dropdownMenu.nativeElement, 'show');\r\n }\r\n\r\n public logout() {\r\n this.authService.logout();\r\n }\r\n}\r\n","
  • \r\n \r\n \"User\r\n \r\n
      \r\n \r\n
    • \r\n \"User\r\n\r\n

      \r\n {{authService.usuario?.nome}}\r\n {{authService.usuario?.email}}\r\n

      \r\n
    • \r\n \r\n
    • \r\n Sair\r\n
    • \r\n
    \r\n
  • \r\n","import { Component, OnInit, Renderer2, ViewChild } from '@angular/core';\r\nimport $ from 'jquery';\r\n\r\n@Component({\r\n selector: 'app-main',\r\n templateUrl: './main.component.html',\r\n styleUrls: ['./main.component.scss'],\r\n})\r\nexport class MainComponent implements OnInit {\r\n public sidebarMenuOpened = true;\r\n public showSideBar = true;\r\n\r\n @ViewChild('contentWrapper', { static: false }) contentWrapper;\r\n\r\n constructor(private renderer: Renderer2) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public mainSidebarHeight(height) {\r\n this.renderer.setStyle(\r\n this.contentWrapper.nativeElement,\r\n 'min-height',\r\n height - 114 + 'px'\r\n );\r\n }\r\n\r\n public toggleMenuSidebar() {\r\n if (this.sidebarMenuOpened) {\r\n $('body').removeClass('sidebar-collapse');\r\n $('body').addClass('sidebar-collapse');\r\n this.sidebarMenuOpened = false;\r\n } else {\r\n $('body').addClass('sidebar-collapse');\r\n $('body').removeClass('sidebar-collapse');\r\n this.sidebarMenuOpened = true;\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n","
  • \r\n \r\n \r\n \r\n

    {{item.nome}}

    \r\n
    \r\n \r\n \r\n
    0\" class=\"nav-link\" role=\"link\">\r\n \r\n \r\n

    {{item.nome}}

    \r\n
    \r\n \r\n
    \r\n \r\n \r\n\r\n
      0\" class=\"nav nav-treeview\" style=\"display: none\" app-menuitem [menuName]=\"menuName + '/' + item.nome\" [menuItems]=\"item.itemsFilhos\">\r\n\t\t\t\t\t\t\t\t\t\r\n
    \r\n
  • \r\n\r\n\r\n","import { Component, Input, OnInit, AfterViewInit } from '@angular/core';\r\nimport { IMenuItemModel } from 'src/app/models/menu.model';\r\n\r\n@Component({\r\n selector: '[app-menuitem]',\r\n templateUrl: './menuitem.component.html',\r\n styleUrls: ['./menuitem.component.scss'],\r\n})\r\nexport class MenuItemComponent implements OnInit, AfterViewInit{\r\n @Input() menuItems: IMenuItemModel[];\r\n @Input() menuName: string = \"\";\r\n\r\n constructor() { }\r\n\r\n async ngOnInit() { \r\n if (this.menuName === 'Cadastros/Geral') {\r\n this.menuItems.sort((a, b) => (a.nome > b.nome) ? 1 : ((b.nome > a.nome) ? -1 : 0))\r\n }\r\n }\r\n async ngAfterViewInit() {\r\n }\r\n}\r\n","","import { AfterViewInit, Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport * as AdminLte from 'admin-lte';\r\nimport $ from 'jquery';\r\nimport { EnumAcaoRecurso } from 'src/app/models/enum/acao-recurso.enum';\r\nimport { EnumRecursoPerfil } from 'src/app/models/enum/recurso-perfil.enum';\r\nimport { IMenuModel } from 'src/app/models/menu.model';\r\nimport { AuthService } from 'src/app/services/auth.service';\r\nimport { MenuService } from 'src/app/services/menu.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss'],\r\n})\r\nexport class SidebarComponent implements OnInit, AfterViewInit {\r\n @ViewChild('main-sidebar', { static: false }) mainSidebar;\r\n @Output() mainSidebarHeight: EventEmitter = new EventEmitter();\r\n\r\n public model: IMenuModel = {} as IMenuModel;\r\n\r\n constructor(public authService: AuthService,\r\n public menuService: MenuService) { }\r\n \r\n async ngOnInit(): Promise{\r\n await this.authService.obterPerfilUsuario();\r\n this.obterMenu();\r\n }\r\n\r\n ngAfterViewInit() {\r\n $('[data-widget=\"treeview\"]').each(() => {\r\n AdminLte.Treeview._jQueryInterface.call($(this), 'init');\r\n });\r\n }\r\n\r\n public obterMenu(){\r\n this.menuService.obter()\r\n .then((res) => {\r\n if(res.sucesso){ \r\n this.model = res.dados; \r\n }\r\n })\r\n }\r\n\r\n public get enumRecursoPerfil(): typeof EnumRecursoPerfil {\r\n return EnumRecursoPerfil;\r\n }\r\n\r\n public get enumAcaoRecurso(): typeof EnumAcaoRecurso {\r\n return EnumAcaoRecurso;\r\n}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'groupBy'\r\n})\r\nexport class GroupByPipe implements PipeTransform {\r\n transform(dados: any[]): any {\r\n if (!dados || !Array.isArray(dados)) {\r\n return [];\r\n }\r\n\r\n const dados2 = [];\r\n\r\n dados.forEach(element => {\r\n if (element && element.paaIndiceCriterio && element.paaIndiceCriterio.indicador && element.paaIndiceCriterio.indicador.nome) {\r\n if (!dados2[element.paaIndiceCriterio.indicador.nome]) {\r\n dados2[element.paaIndiceCriterio.indicador.nome] = [];\r\n }\r\n\r\n dados2[element.paaIndiceCriterio.indicador.nome].push(element);\r\n }\r\n });\r\n \r\n return dados2;\r\n }\r\n}","import { AngularEditorConfig } from '@kolkov/angular-editor';\r\n\r\nexport const angularEditorConfig = (placeholder?: string, height?: string, width?: string, enableToolbar?: boolean) => {\r\n\treturn {\r\n\t\toutline:true,\r\n\t\teditable: true,\r\n\t\tspellcheck: true,\r\n\t\theight: height,\r\n\t\tminHeight: \"0\",\r\n\t\tmaxHeight: \"auto\",\r\n\t\twidth: width,\r\n\t\tminWidth: \"0\",\r\n\t\ttranslate: \"yes\",\r\n\t\tenableToolbar: enableToolbar,\r\n\t\tshowToolbar: enableToolbar,\r\n\t\tplaceholder: placeholder,\r\n\t\tdefaultParagraphSeparator: \"\",\r\n\t\tdefaultFontName: \"\",\r\n\t\tdefaultFontSize: \"\",\r\n\t\tfonts: [\r\n\t\t\t{ class: \"arial\", name: \"Arial\" },\r\n\t\t\t{ class: \"times-new-roman\", name: \"Times New Roman\" },\r\n\t\t\t{ class: \"calibri\", name: \"Calibri\" },\r\n\t\t\t{ class: \"comic-sans-ms\", name: \"Comic Sans MS\" },\r\n\t\t],\r\n\t\tcustomClasses: [\r\n\t\t\t{\r\n\t\t\t\tname: \"quote\",\r\n\t\t\t\tclass: \"quote\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: \"redText\",\r\n\t\t\t\tclass: \"redText\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: \"titleText\",\r\n\t\t\t\tclass: \"titleText\",\r\n\t\t\t\ttag: \"h1\",\r\n\t\t\t},\r\n\t\t],\t\t\r\n\t\tuploadWithCredentials: true,\r\n\t\tsanitize: false,\r\n\t\ttoolbarPosition: \"top\",\r\n\t\ttoolbarHiddenButtons: [null, null],\r\n\t} as AngularEditorConfig;\r\n};\r\n","export const convertDate: (date: Date) => string = (date: Date, reverse?: boolean) => {\r\n if(reverse) {\r\n return date.toISOString().substr(0, 10).split('-').reverse().join('-');\r\n }\r\n return date.toISOString().substr(0, 10);\r\n}\r\n","function toFormatValue(item: any) {\r\n if (!item) return value;\r\n var value = item.toString();\r\n\r\n var result = value.search(/[A-Za-záàâãéèêíïóôõöúçñÁÀÂÃÉÈÍÏÓÔÕÖÚÇÑ]/);\r\n\r\n if(result !== -1) {\r\n return value[(value.length - 1)]\r\n }\r\n\r\n const currentValue = parseInt(value.replace(/[^\\d]/g, \"\")).toString();\r\n const cvLength = currentValue.length;\r\n\r\n if (cvLength === 1) return `0,0${currentValue.slice(0)}`;\r\n\r\n if (cvLength === 2) return `0,${currentValue.slice(0)}`;\r\n\r\n if (cvLength === 3) return `${currentValue.slice(0, 1)},${currentValue.slice(1)}`;\r\n\r\n if (cvLength === 4) return `${currentValue.slice(0, 2)},${currentValue.slice(2)}`;\r\n\r\n if (cvLength === 5) return `${currentValue.slice(0, 3)},${currentValue.slice(3)}`;\r\n\r\n if (cvLength === 6) return `${currentValue.slice(0, 1)}.${currentValue.slice(1, 4)},${currentValue.slice(4)}`;\r\n\r\n if (cvLength === 7) return `${currentValue.slice(0, 2)}.${currentValue.slice(2, 5)},${currentValue.slice(5)}`;\r\n\r\n if (cvLength === 8) return `${currentValue.slice(0, 3)}.${currentValue.slice(3, 6)},${currentValue.slice(6)}`;\r\n\r\n if (cvLength === 9) return `${currentValue.slice(0, 1)}.${currentValue.slice(1, 4)}.${currentValue.slice(4, 7)},${currentValue.slice(7)}`;\r\n\r\n if (cvLength === 10) return `${currentValue.slice(0, 2)}.${currentValue.slice(2, 5)}.${currentValue.slice(5, 8)},${currentValue.slice(8)}`;\r\n\r\n if (cvLength === 11) return `${currentValue.slice(0, 3)}.${currentValue.slice(3, 6)}.${currentValue.slice(5, 9)},${currentValue.slice(9)}`;\r\n\r\n if (cvLength === 12) return `${currentValue.slice(0, 3)}.${currentValue.slice(4, 7)}.${currentValue.slice(8, 11)},${currentValue.slice(10)}`;\r\n\r\n if (cvLength === 13) return `${currentValue.slice(0, 3)}.${currentValue.slice(4, 7)}.${currentValue.slice(8, 11)},${currentValue.slice(11)}`;\r\n\r\n return value;\r\n}\r\n\r\nfunction toFormatDecimal(valor: number, casasDecimais: number) {\r\n if (valor !== null && !isNaN(valor)) {\r\n return valor.toFixed(casasDecimais) + ' %';\r\n }\r\n}\r\n\r\nfunction toRemoveCharacters(str) {\r\n var a = str.toString().replaceAll(/[, ]+/g, \"\").trim();\r\n var b = a.toString().replaceAll(/[. ]+/g, \"\").trim();\r\n return b\r\n}\r\n\r\nexport { toFormatValue, toRemoveCharacters, toFormatDecimal };","export const environment = {\r\n production: false,\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic()\r\n .bootstrapModule(AppModule)\r\n .catch((err) => console.error(err));"]}