{"version":3,"sources":["routes/Route.js","store/modules/dashboard/actions.js","store/modules/meses/actions.js","store/modules/contrato/actions.js","pages/PageDashboard/colors.js","store/modules/obrasIntervencoesPorMes/actions.js","components/Loading/loading.js","components/SidebarData/sidebarData.js","components/SubMenu/subMenu.js","services/history.js","assets/logo.png","store/modules/notificacao/actions.js","components/Header/header.js","store/modules/manutencoesPorMes/actions.js","pages/PageDashboard/dashboard.js","assets/broken-cellphone.png","pages/PageErro/erro.js","store/modules/usuario/actions.js","components/ModalEsqueceuSenha/modalEsqueceuSenha.js","assets/login/img_login.png","pages/PageLogin/Login/login.js","store/modules/grupoAcesso/actions.js","components/PatchedPagination/patchedPagination.js","pages/PageGrupoAcesso/Listar/listar.js","pages/PageUsuario/Listar/listar.js","store/modules/grupoFuncaoAcesso/actions.js","pages/PageGrupoAcesso/Permissao/permissao.js","store/modules/perfil/actions.js","store/modules/municipio/actions.js","pages/PageUsuario/Perfil/perfil.js","pages/PageLogin/AtivacaoConta/ativacaoConta.js","store/modules/cliente/actions.js","store/modules/tipoDocumento/actions.js","store/modules/fornecedor/actions.js","store/modules/usuarioFornecedor/actions.js","store/modules/global/actions.js","pages/PageUsuario/Usuario/usuario.js","store/modules/origemContrato/actions.js","store/modules/contratoUsuario/actions.js","pages/PageContrato/Listar/listar.js","store/modules/tipoContratoVersao/actions.js","store/modules/contratoVersao/actions.js","store/modules/solicitacaoFornecimento/actions.js","components/ModalSolicitacaoAjusteImportacao/modalSolicitacaoAjusteImportacao.js","components/ModalContratoVersao/modalContratoVersao.js","pages/PageContrato/Contrato/contrato.js","pages/PageContrato/UsuarioPermissao/usuarioPermissao.js","store/modules/grupoCusto/actions.js","pages/PageContrato/GrupoCusto/grupoCusto.js","store/modules/itemCusto/actions.js","pages/PageContrato/ItemCusto/itemCusto.js","store/modules/subitemCusto/actions.js","store/modules/unidadeMedida/actions.js","store/modules/composicaoCusto/actions.js","store/modules/fonteReceita/actions.js","pages/PageContrato/SubitemCusto/subitemCusto.js","pages/PageContrato/Visualizar/visualizar.js","pages/PageContrato/Importar/importar.js","store/modules/tipoPessoa/actions.js","store/modules/contratoFornecedor/actions.js","pages/PageContrato/Fornecedor/fornecedor.js","store/modules/tipoDocumentoArquivo/actions.js","store/modules/contratoDocumentoArquivo/actions.js","pages/PageContrato/DocumentoArquivo/documentoArquivo.js","pages/PageContrato/HistoricoVersao/historicoVersao.js","pages/PageContrato/Abas/abas.js","pages/PageFonteReceita/Listar/listar.js","store/modules/fonteReceitaVersao/actions.js","store/modules/tipoRecurso/actions.js","pages/PageFonteReceita/Versao/versao.js","pages/PageFonteReceita/FonteReceita/fonteReceita.js","pages/PageFonteReceita/Abas/abas.js","pages/PageAuxiliar/UnidadeMedida/unidadeMedida.js","pages/PageAuxiliar/ComposicaoCusto/composicaoCusto.js","pages/PageAuxiliar/TipoRecurso/tipoRecurso.js","store/modules/eventoAdicional/actions.js","store/modules/solicitacaoFornecimentoVersao/actions.js","store/modules/regiao/actions.js","store/modules/tipoSolicitacao/actions.js","store/modules/solicitacaoFornecimentoVersaoStatus/actions.js","store/modules/prioridade/actions.js","store/modules/statusSolicitacaoFornecimento/actions.js","store/modules/bairro/actions.js","store/modules/interessado/actions.js","assets/novoCabecalhoCor.jpg","assets/novoRodapeCor.jpg","components/PdfSolicitacaoFornecimento/pdfSolicitacaoFornecimento.js","store/modules/relatorio/actions.js","store/modules/orgao/actions.js","components/pdfOrcamentoEvento/pdfOrcamentoEvento.js","components/ModalCadastroInteressado/modalCadastroInteressado.js","components/ModalInteressado/modalInteressado.js","store/modules/caracteristicaResposta/actions.js","components/ModalInserirDestinatario/modalInserirDestinatario.js","components/ModalDestinatario/modalDestinatario.js","components/ModalCadastroOrgao/modalCadastroOrgao.js","components/ModalOrgao/modalOrgao.js","pages/PageSolicitacaoFornecimento/SolicitacaoFornecimento/solicitacaoFornecimento.js","pages/PageSolicitacaoFornecimento/Mapa/mapa.js","store/modules/solicitacaoFornecimentoVersaoSubitemCusto/actions.js","store/modules/autorizacaoFornecimentoSubitemCusto/actions.js","store/modules/autorizacaoFornecimentoSubitemCustoMedicao/actions.js","store/modules/medicaoAutorizacaoFornecimento/actions.js","components/ModalSubitemAutorizacao/modalSubitemAutorizacao.js","pages/PageSolicitacaoFornecimento/Subitem/subitem.js","store/modules/solicitacaoFornecimentoDocumentoArquivo/actions.js","pages/PageSolicitacaoFornecimento/DocumentoArquivo/documentoArquivo.js","store/modules/tipoSolicitacaoTipoDocumentoArquivo/actions.js","store/modules/autorizacaoFornecimento/actions.js","store/modules/empenhoStatus/actions.js","store/modules/medicaoAutorizacaoFornecimentoStatus/actions.js","components/ModalVerificacaoSaldoSubitem/modalVerificacaoSaldoSubitem.js","pages/PageSolicitacaoFornecimento/Status/status.js","store/modules/solicitacaoFornecimentoRegistroFotografico/actions.js","pages/PageSolicitacaoFornecimento/RegistroFotografico/registroFotografico.js","store/modules/solicitacaoFornecimentoHistorico/actions.js","pages/PageSolicitacaoFornecimento/HistoricoVersao/historicoVersao.js","components/ModalInserirEventoAdicional/modalInserirEventoAdicional.js","pages/PageSolicitacaoFornecimento/EventoAdicional/eventoAdicional.js","store/modules/eventoResposta/actions.js","pages/PageSolicitacaoFornecimento/EventoResposta/eventoResposta.js","pages/PageSolicitacaoFornecimento/Abas/abas.js","pages/PageAuxiliar/Regiao/regiao.js","store/modules/formulario/actions.js","pages/PageAuxiliar/TipoSolicitacao/tipoSolicitacao.js","services/rotas.js","pages/PageSolicitacaoFornecimento/Listar/listar.js","pages/PageAuxiliar/TipoDocumentoArquivo/tipoDocumentoArquivo.js","store/modules/statusAutorizacaoFornecimento/actions.js","pages/PageAutorizacaoFornecimento/Listar/listar.js","store/modules/autorizacaoFornecimentoStatus/actions.js","components/PdfAutorizacaoFornecimento/pdfAutorizacaoFornecimento.js","pages/PageAutorizacaoFornecimento/AutorizacaoFornecimento/autorizacaoFornecimento.js","store/modules/regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/actions.js","components/ModalRegFotoUltrapassarSubitem/modalRegFotoUltrapassarSubitem.js","components/Pdf/pdf.js","pages/PageAutorizacaoFornecimento/SubItem/subitem.js","pages/PageAutorizacaoFornecimento/Status/status.js","store/modules/statusMedicaoAutorizacaoFornecimento/actions.js","pages/PageAutorizacaoFornecimento/Medicoes/medicoes.js","pages/PageAutorizacaoFornecimento/HistoricoStatus/historicoStatus.js","store/modules/historicoAutorizacaoFornecimentoEmpenho/actions.js","pages/PageAutorizacaoFornecimento/HistoricoEmpenho/historicoEmpenho.js","pages/PageAutorizacaoFornecimento/Dashboard/dashboard.js","pages/PageAutorizacaoFornecimento/Abas/abas.js","pages/PageMedicaoAutorizacaoFornecimento/MedicaoAutorizacaoFornecimento/medicaoAutorizacaoFornecimento.js","components/ModalSubitemMedicao/modalSubitemMedicao.js","pages/PageMedicaoAutorizacaoFornecimento/Subitem/subitem.js","pages/PageMedicaoAutorizacaoFornecimento/Status/status.js","store/modules/medicaoAutorizacaoFornecimentoRegistroFotografico/actions.js","pages/PageMedicaoAutorizacaoFornecimento/RegistroFotografico/registroFotografico.js","store/modules/medicaoAutorizacaoFornecimentoDocumento/actions.js","pages/PageMedicaoAutorizacaoFornecimento/DocumentoArquivo/documentoArquivo.js","store/modules/medicaoAutorizacaoFornecimentoOcorrencia/actions.js","store/modules/medicaoOcorrencia/actions.js","store/modules/medicaoAutorizacaoFornecimentoOcorrenciaRegFoto/actions.js","components/ModalOcorrenciaMedicao/modalOcorrenciaMedicao.js","pages/PageMedicaoAutorizacaoFornecimento/Ocorrencia/ocorrencia.js","pages/PageMedicaoAutorizacaoFornecimento/HistoricoStatus/historicoStatus.js","pages/PageMedicaoAutorizacaoFornecimento/Abas/abas.js","store/modules/autorizacaoFornecimentoSubitemCustoMedicaoDocArq/actions.js","pages/PageMedicaoAutorizacaoFornecimentoSubItem/DocumentoArquivo/documentoArquivo.js","store/modules/autorizacaoFornecimentoSubitemCustoMedicaoRegFoto/actions.js","pages/PageMedicaoAutorizacaoFornecimentoSubItem/RegistroFotografico/registroFotografico.js","store/modules/autorizacaoFornecimentoSubitemCustoMedOcor/actions.js","store/modules/autorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/actions.js","components/ModalOcorrenciaMedicaoSubitem/modalOcorrenciaMedicaoSubitem.js","pages/PageMedicaoAutorizacaoFornecimentoSubItem/Ocorrencia/ocorrencia.js","pages/PageMedicaoAutorizacaoFornecimentoSubItem/SubItem/subitem.js","pages/PageMedicaoAutorizacaoFornecimentoSubItem/Abas/abas.js","pages/PageFornecedor/Listar/listar.js","pages/PageFornecedor/Fornecedor/fornecedor.js","store/modules/fornecedorConta/actions.js","store/modules/banco/actions.js","store/modules/tipoPix/actions.js","pages/PageFornecedor/Conta/conta.js","store/modules/fornecedorContato/actions.js","pages/PageFornecedor/Contato/contato.js","pages/PageFornecedor/Abas/abas.js","pages/PageAuxiliar/Prioridade/prioridade.js","store/modules/empenho/actions.js","store/modules/statusEmpenho/actions.js","pages/PageEmpenho/Listar/listar.js","components/pdfEmpenho/pdfEmpenho.js","components/pdfEmpenhoBoletimMedicao/pdfEmpenhoBoletimMedicao.js","store/modules/assinante/actions.js","pages/PageEmpenho/Empenho/empenho.js","pages/PageEmpenho/Status/status.js","store/modules/empenhoAutorizacaoFornecimentoSubitemCustoMed/actions.js","components/ModalSubitemEmpenho/ModalSubitemEmpenho.js","components/ModalTransferenciaAfEmpenho/modalTransferenciaAfEmpenho.js","components/ModalTransferenciaAfEmpenhoParcialDefinitiva/modalTransferenciaAfEmpenhoParcialDefinitiva.js","pages/PageEmpenho/Definitivo/definitivo.js","pages/PageEmpenho/Parcial/parcial.js","store/modules/empenhoDocumentoArquivo/actions.js","pages/PageEmpenho/DocumentoArquivo/documentoArquivo.js","pages/PageEmpenho/HistoricoStatus/historicoStatus.js","store/modules/multa/actions.js","pages/PageEmpenho/Multa/multa.js","pages/PageEmpenho/Diferenca/diferenca.js","pages/PageEmpenho/Abas/abas.js","pages/PageMedicaoAutorizacaoFornecimento/Listar/listar.js","store/modules/faturamento/actions.js","store/modules/faturamentoDocumentoArquivo/actions.js","components/ModalFaturamentoDocumento/modalFaturamentoDocumento.js","pages/PageFaturamento/Faturamento/faturamento.js","assets/relatorio_solicitacoes.png","assets/relatorio_autorizacoes.png","assets/relatorio_subitens.png","components/ModalFiltroRelatorio/modalFiltroRelatorio.js","assets/relatorio_medicoes.png","pages/PageRelatorio/RelatoriosGerais/relatorio.js","store/modules/categoriaItem/actions.js","store/modules/categoriaItemSubitemCustoPrimario/actions.js","components/ModalInserirSubitemCategoriaItem/modalInserirSubitemCategoriaItem.js","components/ModalCategoriaItemSubitemCustoPrimario/modalCategoriaItemSubitemCustoPrimario.js","pages/PageAuxiliar/CategoriaItem/categoriaItem.js","pages/PageNotFound/notFound.js","pages/PageBemVindo/bemVindo.js","pages/PageAuxiliar/Interessado/interessado.js","pages/PageAuxiliar/Orgao/orgao.js","pages/PageAuxiliar/Assinante/assinante.js","store/modules/solicitacaoFornecimentoHistoricoRegFoto/actions.js","store/modules/solicitacaoFornecimentoHistoricoDocArq/actions.js","pages/PageSolicitacaoFornecimento/HistoricoSolicitacao/historicoSolicitacao.js","pages/PageRelatorio/RelatorioStatusSolicitacao/listar.js","pages/PageRelatorio/RelatorioStatusAutorizacao/relatorioStatusAutorizacao.js","pages/PageRelatorio/RelatorioStatusMedicao/relatorioStatusMedicao.js","pages/PageRelatorio/RelatorioStatusEmpenho/relatorioStatusEmpenho.js","pages/PageRelatorio/RelatorioSolicitacao/relatorioSolicitacao.js","pages/PageObrasIntervencoesPorMes/Listar/listar.js","pages/PageAuxiliar/Meses/meses.js","pages/PageRelatorio/RelatorioManutencoesPorMes/relatorioManutencoesPorMes.js","routes/index.js","store/modules/usuario/reducer.js","store/modules/grupoAcesso/reducer.js","store/modules/perfil/reducer.js","store/modules/municipio/reducer.js","store/modules/grupoFuncaoAcesso/reducer.js","store/modules/cliente/reducer.js","store/modules/tipoDocumento/reducer.js","store/modules/subitemCusto/reducer.js","store/modules/itemCusto/reducer.js","store/modules/grupoCusto/reducer.js","store/modules/contrato/reducer.js","store/modules/origemContrato/reducer.js","store/modules/unidadeMedida/reducer.js","store/modules/contratoUsuario/reducer.js","store/modules/fonteReceita/reducer.js","store/modules/composicaoCusto/reducer.js","store/modules/tipoRecurso/reducer.js","store/modules/fonteReceitaVersao/reducer.js","store/modules/global/reducer.js","store/modules/solicitacaoFornecimento/reducer.js","store/modules/regiao/reducer.js","store/modules/tipoSolicitacao/reducer.js","store/modules/solicitacaoFornecimentoDocumentoArquivo/reducer.js","store/modules/contratoVersao/reducer.js","store/modules/solicitacaoFornecimentoVersaoSubitemCusto/reducer.js","store/modules/solicitacaoFornecimentoVersaoStatus/reducer.js","store/modules/tipoDocumentoArquivo/reducer.js","store/modules/solicitacaoFornecimentoVersao/reducer.js","store/modules/tipoContratoVersao/reducer.js","store/modules/relatorio/reducer.js","store/modules/tipoSolicitacaoTipoDocumentoArquivo/reducer.js","store/modules/solicitacaoFornecimentoRegistroFotografico/reducer.js","store/modules/autorizacaoFornecimento/reducer.js","store/modules/autorizacaoFornecimentoSubitemCusto/reducer.js","store/modules/medicaoAutorizacaoFornecimento/reducer.js","store/modules/statusSolicitacaoFornecimento/reducer.js","store/modules/statusAutorizacaoFornecimento/reducer.js","store/modules/autorizacaoFornecimentoStatus/reducer.js","store/modules/statusMedicaoAutorizacaoFornecimento/reducer.js","store/modules/medicaoAutorizacaoFornecimentoStatus/reducer.js","store/modules/medicaoAutorizacaoFornecimentoDocumento/reducer.js","store/modules/medicaoAutorizacaoFornecimentoRegistroFotografico/reducer.js","store/modules/autorizacaoFornecimentoSubitemCustoMedicao/reducer.js","store/modules/autorizacaoFornecimentoSubitemCustoMedicaoDocArq/reducer.js","store/modules/medicaoAutorizacaoFornecimentoOcorrencia/reducer.js","store/modules/fornecedor/reducer.js","store/modules/tipoPessoa/reducer.js","store/modules/contratoVersaoSubitemCustoPrimario/reducer.js","store/modules/contratoVersaoSubitemCustoConsumido/reducer.js","store/modules/medicaoOcorrencia/reducer.js","store/modules/autorizacaoFornecimentoSubitemCustoMedOcor/reducer.js","store/modules/tipoPix/reducer.js","store/modules/cnae/reducer.js","store/modules/banco/reducer.js","store/modules/fornecedorContato/reducer.js","store/modules/fornecedorConta/reducer.js","store/modules/autorizacaoFornecimentoSubitemCustoMedicaoRegFoto/reducer.js","store/modules/autorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/reducer.js","store/modules/medicaoAutorizacaoFornecimentoOcorrenciaRegFoto/reducer.js","store/modules/usuarioFornecedor/reducer.js","store/modules/contratoFornecedor/reducer.js","store/modules/contratoDocumentoArquivo/reducer.js","store/modules/prioridade/reducer.js","store/modules/empenho/reducer.js","store/modules/statusEmpenho/reducer.js","store/modules/empenhoStatus/reducer.js","store/modules/faturamento/reducer.js","store/modules/empenhoAutorizacaoFornecimentoSubitemCustoMed/reducer.js","store/modules/empenhoDocumentoArquivo/reducer.js","store/modules/faturamentoDocumentoArquivo/reducer.js","store/modules/categoriaItem/reducer.js","store/modules/categoriaItemSubitemCustoPrimario/reducer.js","store/modules/bairro/reducer.js","store/modules/dashboard/reducer.js","store/modules/interessado/reducer.js","store/modules/tipoCaracteristica/reducer.js","store/modules/caracteristica/reducer.js","store/modules/formulario/reducer.js","store/modules/caracteristicaResposta/reducer.js","store/modules/formularioCaracteristica/reducer.js","store/modules/solicitacaoFornecimentoCaracteristicaResposta/reducer.js","store/modules/limiteValor/reducer.js","store/modules/orgao/reducer.js","store/modules/multa/reducer.js","store/modules/eventoAdicional/reducer.js","store/modules/eventoResposta/reducer.js","store/modules/historicoAutorizacaoFornecimentoEmpenho/reducer.js","store/modules/solicitacaoFornecimentoHistorico/reducer.js","store/modules/solicitacaoFornecimentoHistoricoRegFoto/reducer.js","store/modules/solicitacaoFornecimentoHistoricoDocArq/reducer.js","store/modules/notificacao/reducer.js","store/modules/assinante/reducer.js","store/modules/regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/reducer.js","store/modules/meses/reducer.js","store/modules/obrasIntervencoesPorMes/reducer.js","store/modules/manutencoesPorMes/reducer.js","store/modules/rootReducer.js","services/api.js","store/modules/usuario/saga.js","store/modules/grupoAcesso/saga.js","store/modules/perfil/saga.js","store/modules/municipio/saga.js","store/modules/grupoFuncaoAcesso/saga.js","store/modules/cliente/saga.js","store/modules/tipoDocumento/saga.js","store/modules/subitemCusto/saga.js","store/modules/itemCusto/saga.js","store/modules/grupoCusto/saga.js","store/modules/contrato/saga.js","store/modules/origemContrato/saga.js","store/modules/unidadeMedida/saga.js","store/modules/contratoUsuario/saga.js","store/modules/fonteReceita/saga.js","store/modules/global/saga.js","store/modules/composicaoCusto/saga.js","store/modules/tipoRecurso/saga.js","store/modules/fonteReceitaVersao/saga.js","store/modules/solicitacaoFornecimento/saga.js","store/modules/regiao/saga.js","store/modules/tipoSolicitacao/saga.js","store/modules/solicitacaoFornecimentoDocumentoArquivo/saga.js","store/modules/contratoVersao/saga.js","store/modules/solicitacaoFornecimentoVersaoSubitemCusto/saga.js","store/modules/solicitacaoFornecimentoVersaoStatus/saga.js","store/modules/tipoDocumentoArquivo/saga.js","store/modules/solicitacaoFornecimentoVersao/saga.js","store/modules/tipoContratoVersao/saga.js","store/modules/relatorio/saga.js","store/modules/tipoSolicitacaoTipoDocumentoArquivo/saga.js","store/modules/solicitacaoFornecimentoRegistroFotografico/saga.js","store/modules/autorizacaoFornecimento/saga.js","store/modules/autorizacaoFornecimentoSubitemCusto/saga.js","store/modules/medicaoAutorizacaoFornecimento/saga.js","store/modules/statusSolicitacaoFornecimento/saga.js","store/modules/medicaoAutorizacaoFornecimentoDocumento/saga.js","store/modules/statusAutorizacaoFornecimento/saga.js","store/modules/autorizacaoFornecimentoStatus/saga.js","store/modules/statusMedicaoAutorizacaoFornecimento/saga.js","store/modules/medicaoAutorizacaoFornecimentoStatus/saga.js","store/modules/medicaoAutorizacaoFornecimentoRegistroFotografico/saga.js","store/modules/autorizacaoFornecimentoSubitemCustoMedicao/saga.js","store/modules/autorizacaoFornecimentoSubitemCustoMedicaoDocArq/saga.js","store/modules/medicaoAutorizacaoFornecimentoOcorrencia/saga.js","store/modules/fornecedor/saga.js","store/modules/tipoPessoa/saga.js","store/modules/contratoVersaoSubitemCustoPrimario/actions.js","store/modules/contratoVersaoSubitemCustoPrimario/saga.js","store/modules/contratoVersaoSubitemCustoConsumido/actions.js","store/modules/contratoVersaoSubitemCustoConsumido/saga.js","store/modules/medicaoOcorrencia/saga.js","store/modules/autorizacaoFornecimentoSubitemCustoMedOcor/saga.js","store/modules/tipoPix/saga.js","store/modules/cnae/actions.js","store/modules/cnae/saga.js","store/modules/banco/saga.js","store/modules/fornecedorContato/saga.js","store/modules/fornecedorConta/saga.js","store/modules/autorizacaoFornecimentoSubitemCustoMedicaoRegFoto/saga.js","store/modules/autorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/saga.js","store/modules/medicaoAutorizacaoFornecimentoOcorrenciaRegFoto/saga.js","store/modules/usuarioFornecedor/saga.js","store/modules/contratoFornecedor/saga.js","store/modules/contratoDocumentoArquivo/saga.js","store/modules/prioridade/saga.js","store/modules/empenho/saga.js","store/modules/statusEmpenho/saga.js","store/modules/empenhoStatus/saga.js","store/modules/faturamento/saga.js","store/modules/empenhoAutorizacaoFornecimentoSubitemCustoMed/saga.js","store/modules/empenhoDocumentoArquivo/saga.js","store/modules/faturamentoDocumentoArquivo/saga.js","store/modules/categoriaItem/saga.js","store/modules/categoriaItemSubitemCustoPrimario/saga.js","store/modules/bairro/saga.js","store/modules/dashboard/saga.js","store/modules/interessado/saga.js","store/modules/tipoCaracteristica/actions.js","store/modules/tipoCaracteristica/saga.js","store/modules/caracteristica/actions.js","store/modules/caracteristica/saga.js","store/modules/formulario/saga.js","store/modules/caracteristicaResposta/saga.js","store/modules/formularioCaracteristica/actions.js","store/modules/formularioCaracteristica/saga.js","store/modules/solicitacaoFornecimentoCaracteristicaResposta/actions.js","store/modules/solicitacaoFornecimentoCaracteristicaResposta/saga.js","store/modules/limiteValor/actions.js","store/modules/limiteValor/saga.js","store/modules/orgao/saga.js","store/modules/multa/saga.js","store/modules/eventoAdicional/saga.js","store/modules/eventoResposta/saga.js","store/modules/historicoAutorizacaoFornecimentoEmpenho/saga.js","store/modules/solicitacaoFornecimentoHistorico/saga.js","store/modules/solicitacaoFornecimentoHistoricoRegFoto/saga.js","store/modules/solicitacaoFornecimentoHistoricoDocArq/saga.js","store/modules/notificacao/saga.js","store/modules/assinante/saga.js","store/modules/regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/saga.js","store/modules/meses/saga.js","store/modules/obrasIntervencoesPorMes/saga.js","store/modules/manutencoesPorMes/saga.js","store/modules/rootSaga.js","store/index.js","App.js","index.js"],"names":["RouteWrapper","_ref","Component","component","isPrivate","rest","_objectWithoutProperties","_excluded","cookies","Cookies","signed","localStorage","getItem","get","_jsx","Redirect","to","token","JSON","parse","role","filter","d","length","Route","_objectSpread","render","props","ListarDashboardSolicitacaoStatusRequest","dataInicio","dataFinal","visualizarTudoSolicitacao","type","ListarDashboardMedicaoStatusRequest","visualizarTudoMedicao","ListarDashboardAutorizacaoStatusRequest","inicio","final","visualizarTudoAutorizacao","ListarDashboardObrasIntervencoesPorMesRequest","ano","visualizarTudo","ListarDashboardManutencoesPorMesRequest","ListarMesesResponse","listaMeses","Carregando","status","ListarContratoResponse","listaContrato","BuscarContratoPorIdRequest","id","BuscarContratoPorIdResponse","contratoCompleto","ImportarContratoExcelRequest","data","idContrato","chartColors","ListarObrasIntervencoesPorMesResponse","listaObrasIntervencoesPorMes","Loading","_Fragment","children","Spinner","animation","className","SidebarData","title","path","icon","IoBarChart","permissao","IoPersonSharp","IoPeopleSharp","MdAttachMoney","MdOutlineLocalShipping","SiMicrosoftexcel","iconClosed","RiIcons","iconOpened","subNav","RiFileExcel2Line","cName","RiFileChartFill","IoResize","RiBarChartGroupedLine","RiListCheck2","RiRefund2Line","RiCalendarTodoFill","RiTodoLine","MdSegment","RiMenuAddLine","GrResources","IoMapOutline","IoNewspaperOutline","IoFileTrayOutline","IoTimeOutline","MdCategory","RiUser3Line","IoPeopleOutline","IoPersonCircleOutline","IoDocumentText","IoChatboxEllipsesOutline","MdAssignment","FaMoneyCheckAlt","SidebarLabel","styled","span","_templateObject","_taggedTemplateLiteral","SubMenu","item","_useState","useState","_useState2","_slicedToArray","subnav","setSubnav","_jsxs","r","concat","Link","onClick","undefined","map","index","history","createBrowserHistory","ListarNotificacaoResponse","listaNotificacao","Header","dispatch","useDispatch","usuario","useSelector","state","notificacao","ref","useRef","refNotificacao","show","setShow","_useState3","_useState4","target","setTarget","_useState5","_useState6","showNotificacao","setShowNotificacao","_useState7","_useState8","targetNotificacao","setTargetNotificacao","useEffect","moment","locale","idUsuario","Navbar","expand","Container","fluid","Brand","href","style","color","Toggle","Nav","justifyContent","flexDirection","display","event","IoNotificationsCircle","size","Badge","backgroundColor","Overlay","placement","container","containerPadding","Popover","Body","Row","Form","Group","as","Col","md","mensagem","dataNotificacao","Date","AlterarNotificacaoRequest","MudarStatusNotificacao","format","IoPersonCircleSharp","Button","variant","removeItem","push","Offcanvas","closeButton","Title","src","logo","alt","ListarManutencoesPorMesResponse","listaManutencoesPorMes","Dashboard","useHistory","listaDashboardSolicitacaoStatusResponse","dashboard","listaDashboardSolicitacaoStatus","listaDashboardAutorizacaoPorRegional","listaDashboardAutorizacaoFinalizadaPorMes","listaDashboardAutorizacaoValorPorMes","listaDashboardValorContratoPorCategoria","listaDashboardCategoriaGastaPorAutorizacaoFornecimento","listaDashboardAutorizacaoStatus","listaDashboardObrasIntervencoesPorMes","listaDashboardManutencoesPorMes","contrato","listaDashboardMedicaoStatus","obrasIntervencoesPorMes","manutencoesPorMes","carregando","meses","dataInicioAutorizacao","setDataInicioAutorizacao","dataFinalAutorizacao","setDataFinalAutorizacao","setVisualizarTudoAutorizacao","_useState9","_useState10","dataInicioSolicitacao","setDataInicioSolicitacao","_useState11","_useState12","dataFinalSolicitacao","setDataFinalSolicitacao","_useState13","_useState14","setVisualizarTudoSolicitacao","_useState15","_useState16","dataInicioMedicao","setDataInicioMedicao","_useState17","_useState18","dataFinalMedicao","setDataFinalMedicao","_useState19","_useState20","setVisualizarTudoMedicao","_useState21","_useState22","descricaoRegiao","setDescricaoRegiao","_useState23","_useState24","setQuantidadeRegiao","_useState25","_useState26","descricaoStatus","setDescricaoStatus","_useState27","_useState28","quantidadeStatus","setQuantidadeStatus","_useState29","_useState30","setDescricaoCategoria","_useState31","_useState32","setValorCategoria","_useState33","_useState34","descricaoMesFinalizado","setDescricaoMesFinalizado","_useState35","_useState36","categoriaAutorizacao","setCategoriaAutorizacao","_useState37","_useState38","valorAutorizacao","setValorAutorizacao","_useState39","_useState40","valorMesFinalizado","setValorMesFinalizado","_useState41","_useState42","valorRegiaoFinalizado","setValorRegiaoFinalizado","_useState43","_useState44","descricaoStatusAutorizacao","setDescricaoStatusAutorizacao","_useState45","_useState46","quantidadeStatusAutorizacao","setQuantidadeStatusAutorizacao","_useState47","_useState48","descricaoStatusMedicao","setDescricaoStatusMedicao","_useState49","_useState50","quantidadeStatusMedicao","setQuantidadeStatusMedicao","_useState51","_useState52","setValorTotalMes","_useState53","_useState54","setValorTotalRegiao","_useState55","_useState56","descricaoObrasIntervencoesPorMes","setDescricaoObrasIntervencoesPorMes","_useState57","_useState58","quantidadeObrasIntervencoesPorMes","setQuantidadeObrasIntervencoesPorMes","_useState59","_useState60","descricaoManutencoesPorMes","setDescricaoManutencoesPorMes","_useState61","_useState62","valorManutencoesPorMes","setValorManutencoesPorMes","_useState63","_useState64","manutencoesPorMesLegenda","setManutencoesPorMesLegenda","_useState65","_useState66","setAno","_useState67","_useState68","anoManutencoes","setAnoManutencoes","_useState69","_useState70","visualizarTudoObras","setVisualizarTudoObras","_useState71","_useState72","visualizarTudoManutencoes","setVisualizarTudoManutencoes","selectAno","selectAnoManutencoes","_toConsumableArray","reduce","opcoes","key","value","label","toast","error","startOf","endOf","objetoJsonPreferencias","listaDescricaoStatus","listaquantidadeStatus","c","quantidade","listaDescricaoStatusAutorizacao","listaquantidadeStatusAutorizacao","listaDescricaoStatusMedicao","listaquantidadeStatusMedicao","listaDescricaoRegiao","listaQuantidadeRegiao","listaValorRegiaoFinalizado","inputValor","quantidadeRegiao","valorTotalRegiao","parseInt","listaDescricaoMesFinalizado","listaQuantidadeMesFinalizado","listaValorMesFinalizado","descricaoMes","valorTotalMes","listaDescricaoMesValor","listaValorMes","valor","listaCategoria","listaDescricaoCategoria","listaValorCategoria","descricaoCategoria","listaValores","y","listaDescricaoObrasIntervencoesPorMes","listaquantidadeObrasIntervencoesPorMes","idMes","listaDescricaoManutencoesPorMes","listaValorManutencoesPorMes","listaCompletaManutencoesPorMes","idRegiao","lg","Card","descricao","marginTop","Dropdown","drop","align","autoClose","focusFirstItemOnShow","RiFilter3Line","Menu","padding","borderRadius","minWidth","Label","Control","minHeight","onChange","e","Check","checked","Item","margin","disabled","Pie","labels","datasets","hoverBackgroundColor","borderWidth","hoverOffset","options","minBodyHeight","tooltips","enabled","plugins","datalabels","formatter","ctx","sum","chart","toFixed","fontSize","legend","position","height","width","input","tooltip","callbacks","context","parsed","_hiddenIndices","formattedValue","afterLabel","sumTotal","toLocaleString","Select","placeholder","isClearable","isSearchable","FiltrarDataDashboardObras","BaixarRelatorioDashboardObrasIntervencoesPorMesRequest","FiltrarDataDashboardManutencoes","labelCompleta","comparativoMes","listaDescricao","x","p","regiao","somaMes","w","q","b","v","BaixarRelatorioDashboardManutencoesPorMesRequest","Erro","textAlign","brokenCellphone","ListarUsuarioResponse","listaUsuario","BuscarUsuarioPorIdRequest","BuscarUsuarioPorIdResponse","InserirNovaSenhaResponse","senha","ModalEsqueceuSenha","onHide","email","setEmail","Modal","centered","controlId","Footer","InserirNovaSenhaRequest","Login","Email","Senha","setSenha","modalShow","setModalShow","img","onSubmit","preventDefault","LoginUsuarioRequest","InputGroup","Text","document","getElementById","getAttribute","setAttribute","IoEyeSharp","ListarGrupoAcessoResponse","listaGrupoAcesso","PatchedPagination","ActionsComponent","onChangePage","onChangeRowsPerPage","tablePaginationProps","TablePagination","onPageChange","onRowsPerPageChange","subprops","actionsComponentProps","_excluded2","_ActionsComponent","Listar","grupoAcesso","selectedRow","ValidacoesInserir","grupo","thNomeGrupo","trim","xs","MdGroups","MaterialTable","components","Pagination","columns","field","editable","defaultSort","cellStyle","sorting","editPlaceholder","validate","rowData","thIdGrupo","nomeGrupo","onRowAdd","newRow","Promise","resolve","reject","setTimeout","InserirGrupoAcessoRequest","InserirGrupo","onRowUpdate","oldRow","AlterarGrupoAcessoRequest","AlterarGrupo","onRowDelete","oldData","ExcluirGrupoAcessoRequest","paging","pageSize","emptyRowsWhenPaging","pageSizeOptions","headerStyle","fontWeight","lineBreak","filterRowStyle","addRowPosition","actionsColumnIndex","filtering","rowStyle","tableData","actions","icons","Add","FaPlus","localization","header","body","emptyDataSourceMessage","editRow","deleteText","saveTooltip","cancelTooltip","deleteTooltip","editTooltip","addTooltip","toolbar","searchTooltip","searchPlaceholder","exportTitle","exportCSVName","exportPDFName","pagination","labelRowsSelect","labelDisplayedRows","firstTooltip","previousTooltip","nextTooltip","lastTooltip","grouping","groupedBy","MdOutlinePerson","nome","ativo","usuarioFornecedor","validado","FaSearchPlus","ListarGrupoFuncaoAcessoResponse","listaGrupoFuncaoAcesso","AlterarGrupoFuncaoAcessoRequest","Permissao","useParams","grupoFuncaoAcesso","setAlterar","changeCheckedGrupo","listaPermissoes","idGrupo","idFuncao","visualizar","criar","alterar","excluir","relatorio","exportar","verValores","padraoAba","menu","Criar","Alterar","Excluir","VerValores","Relatorio","Visualizar","Exportar","ListarGrupoFuncaoAcessoRequest","BsFillGearFill","Table","striped","bordered","hover","Thead","Tr","Th","Tbody","Td","funcaoAcesso","funcao","AtualizarPerfilResponse","ListarMunicipioResponse","listaMunicipio","Perfil","municipio","setNome","ddd","setDdd","telefone","setTelefone","cep","setCep","logradouro","setLogradouro","numero","setNumero","complemento","setComplemento","bairro","setBairro","idMunicipio","setMunicipio","confirmarSenha","setConfirmaSenha","cargo","setCargo","historicoFiltro","setHistoricoFiltro","validated","setValidated","AlterarPerfil","test","String","validaSenha","apiRefreshToken","MdPermIdentity","noValidate","currentTarget","checkValidity","telefoneRegex2","ValidaTelefone","maxLength","isInvalid","isValid","required","Feedback","InputMask","mask","m","AtivacaoConta","codigo","setCodigo","setConfirmarSenha","AtivarConta","AtivarUsuarioRequest","VerificarAtivacaoRequest","ListarClienteResponse","listaCliente","ListarTipoDocumentoResponse","listaTipoDocumento","ListarFornecedorResponse","listaFornecedor","BuscarFornecedorPorIdResponse","fornecedorCompleto","ListarUsuarioFornecedorResponse","listaUsuarioFornecedor","CriarTxt","text","ErrorResponse","BaixarDocumentoRequest","Usuario","usuarioAtual","cliente","tipoDocumento","fornecedor","username","setUsername","setCliente","setGrupoAcesso","setTipoDocumento","documento","setDocumento","setAtivo","setFornecedor","idFornecedor","setIdFornecedor","idUsuarioFornecedor","setIdUsuarioFornecedor","preferencia","setPreferencia","setIdContrato","validarConta","setValidarConta","modalSenha","setModalSenha","validatedDocumento","setValidatedDocumento","inserir","setInserir","ObjetoJsonPreferencias","jsonPreferencias","userName","idCliente","idTipoDocumento","IdContrato","isValidCPF","cpf","replace","resto","soma","i","substring","ValidaContrato","ValidaFornecedor","jsonString","stringify","toString","add","Id","IdUsuario","IdFornecedor","VersaoMaiorUltimoAcesso","versaoMaiorUltimoAcesso","VersaoMenorUltimoAcesso","versaoMenorUltimoAcesso","VersaoPatchUltimoAcesso","versaoPatchUltimoAcesso","ApiRefreshToken","Salt1","salt1","Salt2","salt2","DataInclusao","dataInclusao","DataAlteracao","Ativo","Validado","DataAtivacao","IdUsuarioAtual","Cargo","HistoricoFiltro","AlterarUsuarioRequest","InserirUsuarioRequest","CadastrarUsuario","nomeFornecedor","dialogClassName","InserirNovaSenhaPageUsuarioRequest","hidden","ListarOrigemContratoResponse","listaOrigemContrato","ListarContratoUsuarioResponse","listaContratoUsuario","AlterarContratoUsuarioRequest","ExcluirContratoUsuarioRequest","contratoUsuario","origemContrato","privado","contratoUsu","observacao","numeroOrigemContrato","idOrigemContrato","dataContrato","dataInclusaoSistema","Boolean","ListarTipoContratoVersaoResponse","listaTipoContratoVersao","ListarContratoVersaoResponse","listaContratoVersao","BuscarContratoVersaoPorIdRequest","BuscarContratoVersaoPorIdResponse","contratoVersaoCompleto","InserirItensContratoVersaoRequest","ListarSolicitacaoFornecimentoResponse","listaSolicitacaoFornecimento","BuscarSolicitacaoFornecimentoPorIdRequest","BuscarSolicitacaoFornecimentoPorIdResponse","solicitacaoFornecimentoCompleto","AlterarSolicitacaoFornecimentoRequest","ListarCompletoSolicitacaoFornecimentoRequest","GerarOficioRequest","ModalSolicitacaoAjusteImportacao","dados","tipo","solicitacaoFornecimento","idsCancelados","setIdsCancelados","idsReajustados","setIdsReajustados","IdSolicitacaoFornecimento","Servico","s","statusAtual","searchable","editComponent","lista","reajustar","cancelar","descricaoSolicitacao","numeroProcesso","endereco","numeroOficio","nRowsSelected","IdTipoContratoVersao","DataVersao","DataInicioContrato","DataFimContrato","ValorIndiceReajuste","ValorIndiceMulta","GruposCusto","AdicionarSubItemCusto","AlterarSub","ValorIndiceQuantidadeItemExcedente","ModalContratoVersao","idContratoCompleto","dataInicioContratoForm","dataFimContratoForm","valorIndiceReajusteForm","valorIndiceMultaForm","valorIndiceQuantidadeItemExcedenteForm","liberaExcedenteGlobal","toISOString","substr","dataInicioContrato","setDataInicioContrato","dataFimContrato","setDataFimContrato","valorIndiceReajuste","setValorIndiceReajuste","valorIndiceMulta","setValorIndiceMulta","valorIndiceQuantidadeItemExcedente","setValorIndiceQuantidadeItemExcedente","idTipoContratoVersao","setIdTipoContratoVersao","validatedDataFim","setValidatedDataFim","setDados","setTipo","items","setItems","setModal","messageError","setMessageError","showError","setShowError","showSolicitacaoImportacao","setShowSolicitacaoImportacao","handleCloseError","handleShowError","handleSolicitacaoImportacaoShow","ValidaDataInicioFim","verificarDatainicio","split","VerificarDataInicioContrato","verificarDatafim","VerificarDataFimContrato","vezesLetraAparece","frase","letra","_step","resultado","_iterator","_createForOfIteratorHelper","n","done","err","f","Tabs","defaultActiveKey","Tab","eventKey","parseFloat","gruposCusto","onKeyDown","includes","DropzoneArea","initialFiles","files","file","fileReader","FileReader","readAsArrayBuffer","onload","bufferArray","result","wb","XLSX","wsname","SheetNames","ws","Sheets","sheet_to_json","onerror","then","filesLimit","acceptedFiles","showPreviewsInDropzone","useChipsForPreview","getFileLimitExceedMessage","getFileAddedMessage","fileName","getFileRemovedMessage","disableRejectionFeedback","dropzoneText","previewGridProps","spacing","direction","maxFileSize","continued","wrongText","count","contratoVersaoApiModel","forEach","__EMPTY_5","__EMPTY_1","Number","isInteger","__EMPTY_7","__EMPTY_8","__EMPTY_2","__EMPTY_3","__EMPTY_4","__EMPTY_6","__EMPTY_9","__EMPTY_10","Contrato","tipoContratoVersao","setIdCliente","setDescricao","numeroInterno","setNumeroInterno","idOrigem","setIdOrigem","numeroOrigem","setNumeroOrigem","setPrivado","setObservacao","setLiberaExcedenteGlobal","liberaExcedenteSubitem","setLiberaExcedenteSubitem","liberaExcedenteAutorizacao","setLiberaExcedenteAutorizacao","date","numeroInternoContrato","InserirContratoRequest","AlterarContratoRequest","InserirContrato","UsuarioPermissao","listaAtualContratoUsuario","setListaAtualContratoUsuario","setExcluir","AlterarContratoUsuario","idContratoUsuario","aprovaSolicitacao","finalizaSolicitacao","criaItemSolicitacao","cancelaSolicitacao","analisaOrcamentoSolicitacao","finalizaAutorizacao","editaPrazoAutorizacao","cancelaAutorizacao","reabrirAutorizacao","finalizaMedicao","cancelaMedicao","iniciarMedicao","editaQuantidadeSubitemMedicao","editaQuantidadeSubitemAutorizacao","cancelaEmpenho","finalizaEmpenho","analisaSubitemEmpenho","faturamentoEmpenho","editaExcedenteSubitemAutorizacao","AprovaSolicitacao","FinalizaSolicitacao","CriaItemSolicitacao","CancelaSolicitacao","AnalisaOrcamentoSolicitacao","FinalizaAutorizacao","EditaPrazoAutorizacao","CancelaAutorizacao","ReabrirAutorizacao","FinalizaMedicao","CancelaMedicao","IniciarMedicao","EditaQuantidadeSubitemMedicao","EditaQuantidadeSubitemAutorizacao","CancelaEmpenho","FinalizaEmpenho","AnalisaSubitemEmpenho","FaturamentoEmpenho","EditaExcedenteSubitemAutorizacao","AlterarContratoUsuarioTodos","tabela","idUsuariosContrato","listaCompleta","carregaLista","Multiselect","avoidHighlightFirstOption","selectedValues","disablePreSelectedValues","displayValue","onSelect","InserirContratoUsuarioRequest","onRemove","find","emptyRecordMsg","Accordion","ListarGrupoCustoResponse","listaGrupoCusto","ListarGrupoCustoCompletoResponse","listaCompletaGrupoCusto","GrupoCusto","descricaoCodigoInterno","setDescricaoCodigoInterno","InserirGrupoCustoRequest","CadastrarGrupoCusto","ListarItemCustoResponse","listaItemCusto","ListarItemCustoCompletoResponse","listaCompletaItemCusto","ItemCusto","grupoCusto","idGrupoCusto","setIdGrupoCusto","model","IdContratoVersao","ListarGrupoCustoCompletoRequest","InserirItemCustoRequest","CadastrarItemCusto","ListarSubitemCustoResponse","listaSubitemCusto","ListarSubitemCustoCompletoResponse","listaCompletaSubitemCusto","ListarUnidadeMedidaResponse","listaUnidadeMedida","ListarComposicaoCustoResponse","listaComposicaoCusto","ListarFonteReceitaResponse","listaFonteReceita","BuscarFonteReceitaPorIdRequest","BuscarFonteReceitaPorIdResponse","fonteReceitaCompleta","InserirFonteReceitaRequest","AlterarFonteReceitaRequest","SubitemCusto","unidadeMedida","composicaoCusto","fonteReceita","listaItem","itemCusto","setUnidadeMedida","setComposicaoCusto","setFonteReceita","setItemCusto","valorUnitario","setValorUnitario","valorPrevisaoMensal","setValorPrevisaoMensal","setQuantidade","currencyConfig","formats","number","BRL","currency","minimumFractionDigits","maximumFractionDigits","ListarItemCustoCompletoRequest","idContratoVersao","InserirSubitemCustoRequest","CadastrarSubitem","IntlCurrencyInput","config","maskedValue","replaceAll","fonte","nomeFonteReceita","listaHierarquiaCompleta","setListaHierarquiaCompleta","versaoSubItem","setVersaoSubItem","oldVersaoSubItem","setOldVersaoSubItem","showSolicitacao","setShowSolicitacao","unidMedida","setUnidMedida","codigoInterno","setCodigoInterno","quantidadeSubitem","setQuantidadeSubitem","valorUnitarioSubitem","setValorUnitarioSubitem","quantidadeSubitemExc","setQuantidadeSubitemExc","quantidadeSubitemConsumido","setQuantidadeSubitemConsumido","saldoDeQuantidade","setSaldoDeQuantidade","saldoDeQuantidadeExc","setSaldoDeQuantidadeExc","quantidadeAF","setQuantidadeAF","valorTotalConsumido","setValorTotalConsumido","unidadeDeMedida","setUnidadeDeMedida","camposEditaveis","setCamposEditaveis","handleClose","handleSolicitacaoShow","constroiHierarquia","hierarquiaCompleta","marcadorSub","valorConsumido","marcadorItem","saldoProjetado","saldo","quantidadeConsumida","quantidadeExcedente","saldoExcedente","itens","parentId","subItens","subItem","idItemCusto","idUnidadeMedida","idFonteReceita","idComposicaoCusto","EditarSubItem","contratoVersaoSubItem","unidadeMedidaSelect","AlterarItemCustoRequest","select","soli","AlterarSubitemCustoRequest","selectUnidMedida","idUnidMedida","AbrirModalNovaVersao","newSubitem","oldSubitem","marginLeft","alignItems","DropdownButton","Input","coluna","linha","lookup","acc","cur","defaultValue","parentChildData","row","rows","a","newData","innerText","_defineProperty","Importar","showConfirma","setShowConfirma","handleCloseConfirma","ImportarArquivo","ListarTipoPessoaResponse","listaTipoPessoa","ListarContratoFornecedorResponse","listaContratoFornecedor","ListarCompletoContratoFornecedorRequest","BuscarContratoFornecedorPorIdResponse","contratoFornecedorCompleta","ExcluirContratoFornecedorRequest","Fornecedor","contratoFornecedor","listaAtualContratoFornecedor","setListaAtualContratoFornecedor","idFornecedorContrato","contratoF","fornecedore","carregaListaContratoFornecedor","disable","InserirContratoFornecedorRequest","ListarTipoDocumentoArquivoResponse","listaTipoDocumentoArquivo","ListarContratoDocumentoArquivoResponse","listaContratoDocumentoArquivo","DocumentoArquivo","contratoDocumentoArquivo","tipoDocumentoArquivo","listaFile","setListaFile","setTipoDocumentoArquivo","ListarContratoDocumentoArquivoRequest","doc","nomeArquivo","dataInclusaoApi","descricaoExtensaoArquivo","documentoArquivoGuid","idTipoDocumentoArquivo","cellEditable","onCellEditApproved","newValue","oldValue","columnDef","documentoArquivo","novoValorCampoEditado","colunaEditada","AlterarContratoDocumentoArquivoRequest","AlterarDocumentoArquivo","idDocumentoArquivo","ExcluirContratoDocumentoArquivoRequest","BaixarContratoDocumentoArquivoRequest","formData","FormData","append","InserirContratoDocumentoArquivoRequest","InserirDocumentoArquivo","HistoricoVersao","contratoVersao","dataVersao","Abas","Documento","numeroCodigoReceita","InserirFonteReceita","AlterarFonteReceita","ExcluirFonteReceitaRequest","ListarFonteReceitaVersaoResponse","listaFonteVersao","BuscarFonteReceitaVersaoPorIdResponse","fonteReceitaVersaoCompleta","ListarPorUltimaVersaoAnoResponse","listaFonteReceitaVersaoUltimo","ListarTipoRecursoResponse","listaTipoRecurso","Versao","tipoRecurso","listaFonteReceitaVersaoUltimoAno","fonteReceitaVersao","idFonte","isNaN","recurso","filterComponent","onFilterChanged","currencySetting","currencyCode","valorFonteReceita","fonteVersao","idRecurso","selectText","selectSelecionado","InserirFonteReceitaVersaoRequest","InserirFonteVersao","idVersao","ExcluirFonteReceitaVersaoRequest","AlterarFonteReceitaVersaoRequest","AlterarFonteVersao","FonteReceita","setNomeFonteReceita","setNumeroCodigoReceita","UnidadeMedida","TodasOperacoes","setTodasOperacoes","abreviacao","InserirUnidadeMedidaRequest","InserirUnidadeMedida","AlterarUnidadeMedidaRequest","AlterarUnidadeMedida","ComposicaoCusto","InserirComposicaoCustoRequest","InserirComposicaoCusto","AlterarComposicaoCustoRequest","AlterarComposicaoCusto","ExcluirComposicaoCustoRequest","TipoRecurso","InserirTipoRecursoRequest","InserirTipoRecurso","AlterarTipoRecursoRequest","AlterarTipoRecurso","idTipoRecurso","ListarEventoAdicionalRequest","idSolicitacaoFornecimento","ListarEventoAdicionalResponse","listaEventoAdicional","BuscarEventoAdicionalPorIdResponse","eventoAdicionalCompleto","InserirEventoAdicionalRequest","AlterarEventoAdicionalRequest","ListarSolicitacaoFornecimentoVersaoResponse","listaSolicitacaoFornecimentoVersao","InserirSolicitacaoFornecimentoVersaoRequest","ListarCompletoSolicitacaoFornecimentoVersaoResponse","listaCompletaSolicitacaoFornecimentoVersao","ListarRegiaoResponse","listaRegiao","ListarTipoSolicitacaoResponse","listaTipoSolicitacao","BuscarTipoSolicitacaoRequest","BuscarTipoSolicitacaoResponse","tipoSolicitacaoCompleto","ListarSolicitacaoFornecimentoVersaoStatusRequest","ListarSolicitacaoFornecimentoVersaoStatusResponse","listaSolicitacaoFornecimentoVersaoStatus","InserirSolicitacaoFornecimentoVersaoStatusRequest","verificacao","AlterarSolicitacaoFornecimentoVersaoStatusRequest","validacao","ValidarSolicitacaoFornecimentoVersaoStatusResponse","listaValidacaoSolicitacaoStatus","ListarPrioridadeResponse","listaPrioridade","ListarStatusSolicitacaoFornecimentoResponse","listaStatusSolicitacaoFornecimento","ListarStatusSolicitacaoFornecimentoCompletoRequest","ListarStatusSolicitacaoFornecimentoCompletoResponse","listaStatusSolicitacaoFornecimentoCompleto","ListarBairroResponse","listaBairro","BuscarInteressadoPorNomeRequest","interessado","BuscarInteressadoPorNomeResponse","listaInteressadoPorNome","ListarInteressadoResponse","listaInteressado","InserirInteressadoRequest","styles","StyleSheet","create","_StyleSheet$create","page","titulo","borderBottom","espaco","paddingTop","paddingBottom","table","section","paddingLeft","paddingRight","flexGrow","rowCabecalho","bold","fontFamily","bordaCompleta","border","comeco","meio","comecoMaior","bordercolor","bottom","top","textIndent","PdfSolicitacaoFornecimento","Document","Page","View","Image","cabecalho","fim","destinatario","linhaMetadeInicio","linhaCompleta","assunto","local","telefoneFixo","dddFixo","linhaSemiCompleta","autorizador","alinharBottom","rodape","ListarRelatorioAutorizacaoFornecimentoSubItemCustoRequest","idAutorizacaoFornecimento","ListarRelatorioMedicaoSubItemResponse","listaRelatorioMedicaoSubItem","ListarDadosExportarPDFAutorizacaoFornecimentoRequest","ListarDadosExportarPDFSolicitacaoFornecimentoRequest","ListarDadosExportarPDFSolicitacaoFornecimentoEventoRequest","ListarDadosExportarPDFEmpenhoRequest","ListarRelatorioStatusSolicitacaoRequest","ListarOrgaoResponse","listaOrgao","InserirOrgaoRequest","BuscarOrgaoPorNomeResponse","listaOrgaoPorNome","espacoGrande","marginBottom","marginRight","block","width8","width10","width20","width33","width100","cinza","top40","top60","top20","comeco35","alinharBottomSemPadding","rodapeDiversosCI","bottom150","bottom75","marginRight100","marginLeft20","paddingRight50","PdfOrcamentoEvento","nomeEvento","dataSolicitacao","centralizarTexto","break","listaPerguntasRespostas","pergunta","resposta","wrap","servico","fraseSolicitante","numeroKit","pr","numeracao","mostrarPergunta","boldCompleto","boldPergunta","ModalCadastroInteressado","idBairro","setIdBairro","setEndereco","dddTelefone","setDddTelefone","dddTelefoneFixo","setDddTelefoneFixo","setTelefoneFixo","deputadoVereador","setDeputadoVereador","ValidaTelefoneFixo","InserirInteressado","ModalInteressado","interessadoSelecinado","setSelectedRow","setInteressado","showInteressado","setShowInteressado","column","sm","numeroTelefone","selection","onRowClick","evt","ListarCaracteristicaRespostaResponse","listaCaracteristicaResposta","BuscarCaracteristicaRespostaPorNomeResponse","listaCaracteristicaRespostaPorNome","ModalInserirDestinatario","idTipoSolicitacao","console","log","InserirCaracteristicaRespostaRequest","InserirCaracteristicaResposta","ModalDestinatario","destinatarioSelecinado","caracteristicaResposta","setDestinatario","showDestinatario","setShowDestinatario","ModalCadastroOrgao","nomeSecretario","setNomeSecretario","cnpj","setCnpj","nomeLogradouro","setNomeLogradouro","numeroLocal","setNumeroLocal","numeroDddFixo","setNumeroDddFixo","numeroTelefoneFixo","setNumeroTelefoneFixo","numeroDdd","setNumeroDdd","setNumeroTelefone","ModalOrgao","orgaoSelecinado","orgao","setOrgao","showOrgao","setShowOrgao","BuscarOrgaoPorNomeRequest","SolicitacaoFornecimento","_useParams","prioridade","tipoSolicitacao","solicitacaoFornecimentoVersaoStatus","statusSolicitacaoFornecimento","listaDadosExportarPDFSolicitacaoFornecimento","listaDadosExportarPDFSolicitacaoFornecimentoEvento","usuarioCompleto","listarSolicitacaoFornecimentoCamposVerificacaoRapida","eventoAdicional","setIdContratoVersao","setIdTipoSolicitacao","setNumeroProcesso","setNumeroOficio","localRepetido","setLocalRepetido","numeroProcessoRepetido","setNumeroProcessoRepetido","assuntoRepetido","setAssuntoRepetido","setIdRegiao","setIdSolicitacaoVersao","setIdSolicitacaoFornecimento","observacaoVersao","setObservacaoVersao","observacaoReprovacao","setObservacaoReprovacao","numeroOrcamento","setNumeroOrcamento","idPrioridade","setIdPrioridade","validatedObservacaoNovaVersao","setValidatedObservacaoNovaVersao","prazoDias","setPrazoDias","numeroOficioSolicitacaoOrcamento","setNumeroOficioSolicitacaoOrcamento","idAutorizador","setIdAutorizador","idDestinatario","setIdDestinatario","descricaoLocal","setDescricaoLocal","setAssunto","setDddFixo","_useState73","_useState74","listaResposta","setListaResposta","_useState75","_useState76","carregandoTime","setCarregandoTime","_useState77","_useState78","idInteressado","setIdInteressado","_useState79","_useState80","_useState81","_useState82","setInteressadoSelecinado","_useState83","_useState84","setOrgaoSelecinado","_useState85","_useState86","_useState87","_useState88","idOrgao","setIdOrgao","_useState89","_useState90","idSolicitacao","setIdSolicitacao","_useState91","_useState92","_useState93","_useState94","destinatarioSelecionado","setDestinatarioSelecionado","_useState95","_useState97","_useState98","_useState99","_useState100","MudarValor","selecionado","semOficio","idContratoFornecedor","solicitacaoFornecimentoVersaoApiModel","solicitacaoFornecimentoVersaoStatusApiModel","CarregarSolicitacaoFornecimento","inputServico","listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel","caracteristica","valorVarchar","valorDateTime","valorInteger","valorVarcharGrande","tipoCaracteristica","idCaracteristicaResposta","nulavel","inputLargo","listaFormularioCaracteristica","onChangeContrato","CarregarInputs","KeyPressNumeroProcesso","listaNumeroProcesso","SelecionarInteressado","onChangeBairro","SelecionarDestinatarioDinamico","listaSolicitacaoFornecimentoCaracteristicaResposta","solicitacaoCompleta","latitude","longitude","idSolicitacaoFornecimentoVersao","idStatusSolicitacaoFornecimento","InserirSolicitaçãoFornecimento","eventoResposta","isDisabled","control","borderColor","eventoEspecial","tipoFornecedor","sort","localeCompare","defaultInputValue","listaAssunto","KeyPressAssunto","Alert","listaLocal","KeyPressLocal","visibility","descricaoLabel","inputGrande","somenteLeitura","idFormulario","PDFDownloadLink","blob","url","loading","_ref2","dadosSolicitacaoFornecimentoVersaoApiModel","CriarNovaVersaoSolicitacao","orgaoSet","PinReactComponent","Mapa","coordenadasPorEndereco","setLatitude","setLongitude","zoom","setZoom","tipoSoli","geografico","enderecoLocal","Endereco","GoogleMapReact","bootstrapURLKeys","language","center","lat","lng","defaultZoom","cor","coordenadas","InserirCoordenadasdSolicitacaoFornecimentoRequest","ListarSolicitacaoFornecimentoVersaoSubitemCustoResponse","listaSolicitacaoFornecimentoVersaoSubitemCusto","InserirSolicitacaoFornecimentoVersaoSubitemCustoRequest","ListarAutorizacaoFornecimentoSubitemCustoRequest","ListarAutorizacaoFornecimentoSubitemCustoResponse","listaAutorizacaoFornecimentoSubitemCusto","ListarCompletoAutorizacaoFornecimentoSubitemCustoResponse","listaCompletoAutorizacaoFornecimentoSubitemCusto","BuscarAutorizacaoFornecimentoSubitemCustoPorIdResponse","autorizacaoFornecimentoSubitemCustoCompleto","AlterarAutorizacaoFornecimentoSubitemCustoRequest","ListarAutorizacaoFornecimentoSubitemCustoMedicaoRequest","ListarAutorizacaoFornecimentoSubitemCustoMedicaoResponse","listaAutorizacaoFornecimentoSubitemCustoMedicao","AlterarAutorizacaoFornecimentoSubitemCustoMedicaoRequest","BuscarAutorizacaoFornecimentoSubitemCustoMedicaoPorIdResponse","autorizacaoFornecimentoSubitemCustoMedicaoCompleto","InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoRequest","InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoComFotoRequest","valorSubitemMedicoes","valorEcedente","ListarMedicaoAutorizacaoFornecimentoRequest","ListarTodasMedicaoAutorizacaoFornecimentoResponse","listaTodasMedicaoAutorizacaoFornecimento","ListarMedicaoAutorizacaoFornecimentoResponse","listaMedicaoAutorizacaoFornecimento","InserirMedicaoAutorizacaoFornecimentoRequest","AlterarMedicaoAutorizacaoFornecimentoRequest","BuscarMedicaoAutorizacaoFornecimentoPorIdRequest","BuscarMedicaoAutorizacaoFornecimentoPorIdResponse","medicaoAutorizacaoFornecimentoCompleto","ModalSubitemAutorizacao","numeroOrcamentoSolicitacao","idMedicao","idAuto","totalOrcamento","totalOrcamentoAdicionados","solicitacaoFornecimentoVersaoSubitemCusto","autorizacaoFornecimentoSubitemCusto","autorizacaoFornecimentoSubitemCustoMedicao","medicaoAutorizacaoFornecimento","subitemCusto","subitemUnidade","listaDataCompleta","setListaDataCompleta","listaSubitem","setListaSubitem","showModal","setShowModal","setDataSolicitacao","novaSolicitacao","setNovaSolictacao","observacaoSubitem","setObservacaoSubitem","showConfirmacao","setShowConfirmacao","showFoto","setShowFoto","showFotoMedicao","setShowFotoMedicao","dataMedicao","setDataMedicao","handleCloseConfirmacao","handleCloseFoto","handleCloseFotoMedicao","dataCompleta","subitem","idSubitemCusto","inseridoAposSolicitacao","valorTotal","saldoContratoExcedente","saldoContrato","constroiData","Selecionar","InserirSubitemSolicitacao","listaSubitemInsercao","IdSolicitacaoFornecimentoVersao","IdSubItemCusto","Quantidade","ListaSolicitacaoFornecimentoVersaoSubitemCustoApiModel","ListaSolicitacaoFornecimentoVersaoApiModel","dataStatus","observacaoReprovado","ValidacaoInserirSubitemAutorizacao","valorOrcamento","valorAdicionados","valorTotalAdicionados","valorTotalExcedente","IdAutorizacaoFornecimento","IdSubitemCusto","ListaAutorizacaoFornecimentoSubitemCustoApiModel","InserirAutorizacaoFornecimentoSubitemCustoRequest","InserirSubitemAutorizacao","scrollable","quantidadeMedicao","saldoAutorizacao","showTextRowsSelected","selectionProps","showSelectAllCheckbox","novaLista","onSelectionChange","ModalFooter","ExcluirSolicitacaoFornecimentoVersaoSubitemCustoPorIdSolicitacaoRequest","totalItensSelecionados","validacaoExcedendoValor","valorTodasMedicoes","medicao","valorTotalMedicao","IdMedicaoAutorizacaoFornecimento","DataUltimaAlteracao","Observacao","InserirSubitemMedicao","ValidacaoInserirSubitemMedicao","InserirAutorizacaoFornecimentoSubitemCustoComFotoRequest","InserirSubitemMedicaoComFoto","Subitem","showSubitem","setShowSubitem","valorTotalSubItem","setValorTotalSubItem","handleCloseImport","listaImportacao","orcamentos","total","solicitacao","subItemUnidade","subitemSomenteLeitura","analiseConcluida","solicitaOrcamentoSolicitacao","valorTotalSubitem","customFilterAndSearch","term","statusReprovado","subitemSolicitacao","AlterarSolicitacaoFornecimentoVersaoSubitemCustoRequest","AlterarSubitem","ListarSolicitacaoFornecimentoDocumentoArquivoRequest","ListarSolicitacaoFornecimentoDocumentoArquivoResponse","listaSolicitacaoFornecimentoDocumentoArquivo","InserirSolicitacaoFornecimentoDocumentoArquivoRequest","solicitacaoFornecimentoDocumentoArquivo","IdSolicitacaoFornecimentoVersaoStatus","idSolicitacaoFornecimentoVersaoStatus","StatusReprovado","AlterarSolicitacaoFornecimentoDocumentoArquivoRequest","isDeleteHidden","descricaoSolicitacaoFornecimentoVersao","ExcluirSolicitacaoFornecimentoDocumentoArquivoRequest","ListarTipoSolicitacaoTipoDocumentoArquivoResponse","listaTipoSolicitacaoTipoDocumentoArquivo","ExcluirTipoSolicitacaoTipoDocumentoArquivoRequest","ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemResponse","listaCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitem","BuscarCompletoAutorizacaoFornecimentoRequest","BuscarAutorizacaoFornecimentoPorIdRequest","BuscarCompletoAutorizacaoFornecimentoResponse","autorizacaoFornecimentoCompleto","ListarAutorizacaoFornecimentoResponse","listaAutorizacaoFornecimento","ListarEmpenhoStatusRequest","idEmpenho","ListarEmpenhoStatusResponse","listaEmpenhoStatus","ListarCompletoEmpenhoStatusResponse","listaCompletoEmpenhoStatus","InserirEmpenhoStatusRequest","validacaoFinalizado","AlterarEmpenhoStatusRequest","ValidarEmpenhoStatusResponse","listaValidacaoEmpenhoStatus","ListarMedicaoAutorizacaoFornecimentoStatusRequest","ListarMedicaoAutorizacaoFornecimentoStatusResponse","listaMedicaoAutorizacaoFornecimentoStatus","ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse","listaCompletoMedicaoAutorizacaoFornecimentoStatus","InserirMedicaoAutorizacaoFornecimentoStatusRequest","ValidarMedicaoAutorizacaoFornecimentoStatusResponse","listaValidacaoMedicaoStatus","ModalVerificacaoSaldoSubitem","empenho","empenhoStatus","medicaoAutorizacaoFornecimentoStatus","saldoContratoAlemExcedente","descricaoSubitem","quantidadeSubitemMedicaoContrato","quantidadeSubitemMaxima","saldoAutorizacaoExcedente","quantidadeSubitemMedicao","descricaoAutorizacao","quantidadeSubitemMaximaAutorizacao","quantidadeSubitemConsumidoAutorizacao","Status","tipoSolicitacaoTipoDocumentoArquivo","documentos","listaRegistroFotografico","solicitacaoFornecimentoRegistroFotografico","listaSolicitacaoFornecimentoRegistroFotografico","descricaoObservacaoReprovado","setDescricaoObservacaoReprovado","descricaoObservacaoCancelado","setDescricaoObservacaoCancelado","showStatus","setShowStatus","showNovaVersao","setShowNovaVersao","showStatusReprovado","setShowStatusReprovado","setStatus","statusAnaliseAcao","setStatusAnaliseAcao","validatedReprovado","setValidatedReprovado","showValidacao","setShowValidacao","showFinalizarOrcamento","setShowFinalizarOrcamento","finalizarOrcamento","setFinalizarOrcamento","manterItens","setManterItens","handleCloseStatus","handleShowStatus","handleCloseNovaVersao","handleShowNovaVersao","handleCloseStatusReprovado","handleCloseFinalizarOrcamento","relacaoIdStatus","InserirSolicitacaoStatus","proximoStatus","relacaoAlterarAnalise","ReprovarSolicitacaoStatusAnaliseOrcamento","statusParametro","CancelarSolicitacao","ExcluirSolicitacaoFornecimentoVersaoStatusRequest","usuarioOrcamentoSolicitado","statusSolicitaOrcamento","dataOrcamentoSolicitado","dataOrcaSoli","dataPrazo","dataAtual","diferencaPrazoEAtual","diff","diferencaAtualEPrazo","duration","asHours","asDays","ArrumarData","statusAnalise","statusAprovado","observacaoCancelado","usuarioOrcamentoFinalizado","idUsuarioOrcamentoFinalizado","idUsuarioOrcamentoSolicitado","dataOrcamentoFinalizado","aprovacao","permissaoCancelar","permissaoAnalisarOrcamento","statusAnaliseReprovarCriaVersao","lastIndexOf","AprovarSolicitacaoStatusAnaliseOrcamento","statusSol","idStatusSolicitacaoAnterior","permissaoAprovar","permissaoFinalizar","documentoObrigatorio","relacao","verifica","numeroProcessoObrigatorio","itemObrigatorio","verificaAtivoLista","statusParteFornecedor","ValidarProximoStatus","idDoc","BaixarDocumento","RiFolder3Fill","RiFileListFill","RiFileTextFill","t","InserirSolicitacaoStatusCancelado","ExcluirSolicitacaoFornecimentoVersaoStatusMantendoOsItensRequest","finalizarAnalise","SalvarDocumento","ListarSolicitacaoFornecimentoRegistroFotograficoResponse","RegistroFotografico","VisualizarRegistroFotografico","CarregarImagemSolicitacaoFornecimentoRegistroFotograficoRequest","nomeRegistroFotografico","fotoGuid","registroFotografico","AlterarSolicitacaoFornecimentoRegistroFotograficoRequest","AlterarRegistroFotografico","idRegistroFotografico","ExcluirSolicitacaoFornecimentoRegistroFotograficoRequest","exportButton","exportAllData","exportFileName","BaixarSolicitacaoFornecimentoRegistroFotograficoRequest","ListarSolicitacaoFornecimentoHistoricoResponse","listaSolicitacaoFornecimentoHistorico","solicitacaoFornecimentoVersao","itemVersao","statusCancela","idEventoAdicional","setAutorizador","pagador","setPagador","cargaEstimada","setCargaEstimada","numeroRefletores","setNumeroRefletores","BuscarEventoAdicionalPorIdRequest","EventoAdicional","setIdEventoAdicional","showModalInserirEventoAdicional","setShowModalInserirEventoAdicional","handleShowModalInserirEventoAdicional","ExportarPdf","emp","ExcluirEventoAdicionalRequest","AbrirModalEvento","BiExport","ModalInserirEventoAdicional","ListarEventoRespostaResponse","listaEventoResposta","BuscarEventoRespostaPorIdResponse","eventoRespostaCompleto","EventoResposta","setIdEventoResposta","setRemetente","memorando","setMemorando","BuscarEventoRespostaPorIdRequest","remetente","GerarOficio","AlterarEventoRespostaRequest","InserirEventoRespostaRequest","CadastrarEventoResposta","Regiao","InserirRegiaoRequest","InserirRegiao","AlterarRegiaoRequest","AlterarRegiao","ListarFormularioResponse","listaFormulario","TipoSolicitacao","formulario","InserirTipoSolicitacaoTipoDocumentoArquivoRequest","AddListaTipoSolicitacaoTipoDocumentoArquivo","RemoveListaTipoSolicitacaoTipoDocumentoArquivo","fotoObrigatorio","quantidadeFoto","quantidadeFotoObrigatorio","InserirTipoSolicitacaoRequest","InserirTipoSolicitacao","AlterarTipoSolicitacaoRequest","AlterarTipoSolicitacao","ExcluirTipoSolicitacaoRequest","onRowUpdateCancelled","urlBase","process","tableRef","React","createRef","global","autorizacaoFornecimento","idCheck","setIdCheck","contratoCheck","setContratoCheck","setRegiao","setTipoSolicitacao","setPrioridade","dataCriacao","setDataCriacao","statusCheck","setStatusCheck","setNomeEvento","dataEvento","orcamentoEmAtraso","setOrcamentoEmAtraso","totalValorOrcamento","setTotalValorOrcamento","porteObra","setPorteObra","setIdAutorizacaoFornecimento","observacaoCancelamento","setObservacaoCancelamento","setinteressado","dataStatusReprovado","setDataStatusReprovado","numeroOficioOrigem","setNumeroOficioOrigem","filtros","idSolicitacaoFornecimentoFiltro","tipoSolicitacaoFiltro","assuntoFiltro","localFiltro","statusFiltro","numeroProcessoFiltro","regiaoFiltro","numeroOficioFiltro","numeroOrcamentoFiltro","fornecedorFiltro","nomeEventoFiltro","prioridadeFiltro","bairroFiltro","autorizacaoFornecimentoFiltro","interessadoFiltro","numeroOficioOrigemFiltro","_useState96","listaStatus","listaNumeroAF","numeroAf","corHex","defaultFilter","iniciaSolicitacao","query","filters","fetch","method","headers","Headers","tokenCodificado","Assunto","Local","NumeroProcesso","NumeroOficio","Prioridade","Bairro","NumeroAutorizacaoFornecimento","Interessado","OrdenacaoIdSolicitacaoFornecimento","orderBy","groupSort","NomeEvento","NumeroOficioOrigem","GeralFiltro","search","Pagina","NumeroPorPagina","response","json","nrRefletores","valorTotalOrcamento","descricaoCancelar","pagina","totalCount","isFreeAction","current","onQueryChange","actionsCellStyle","TipoDocumentoArquivo","nomeTipoArquivo","tp","InserirTipoDocumentoArquivoRequest","AdicionarTipoDocumentoArquivo","AlterarTipoDocumentoArquivoRequest","AlterarTipoDocumentoArquivo","ListarStatusAutorizacaoFornecimentoResponse","listaStatusAutorizacaoFornecimento","statusAutorizacaoFornecimento","numeroAfCheck","setNumeroAfCheck","descricaoCheck","setDescricaoCheck","numeroOrcamentoCheck","setNumeroOrcamentoCheck","numeroOficioCheck","setNumeroOficioCheck","numeroProcessoCheck","setNumeroProcessoCheck","dataInclusaoCheck","setDataInclusaoCheck","medicaoPendenteFraseCheck","setMedicaoPendenteFraseCheck","assuntoCheck","setAssuntoCheck","valorObraCheck","setValorObraCheck","listaMedicaoPendente","numeroAfFiltro","setNumeroAfFiltro","numeroSolicitacaoFiltro","setNumeroSolicitacaoFiltro","setNumeroOrcamentoFiltro","setNumeroOficioFiltro","setNumeroProcessoFiltro","setStatusFiltro","medicaoPendenteFiltro","setMedicaoPendenteFiltro","setDataInicio","setDataFinal","TrocarData","dataInicioFiltro","dataFinalFiltro","NumeroSolicitacao","NumeroOrcamento","MedicaoPendente","DataInicial","DataFinal","OrdenacaoIdAutorizacaoFornecimento","geralFiltro","medicaoPendente","medicaoPendenteFrase","valorObra","catch","debounceInterval","ListarAutorizacaoFornecimentoStatusRequest","ListarAutorizacaoFornecimentoStatusResponse","listaAutorizacaoFornecimentoStatus","ListarCompletoAutorizacaoFornecimentoStatusResponse","listaCompletoAutorizacaoFornecimentoStatus","InserirAutorizacaoFornecimentoStatusRequest","fimLinhaSemiCompleta","recuo","PdfAutorizacaoFornecimento","descricaoContrato","tituloObra","prazo","AutorizacaoFornecimento","autorizacaoFornecimentoStatus","listaRelatorioAutorizacaoFornecimentoSubitemCusto","listaDadosExportarPDFAutorizacaoFornecimento","carregandoPDF","numeroAF","setNumeroAF","numeroSolicitacao","setNumeroSolicitacao","numeroContrato","setNumeroContrato","setDataInclusao","setLocal","numeroHoras","setNumeroHoras","setValorObra","criador","setCriador","empenhos","setEmpenhos","observacaoAutorizacaoFornecimento","iniciaAutorizacao","valorObraAtual","descricaoEmpenho","ProgressBar","min","max","now","valorAtual","animated","MudarPrazo","RiCheckboxCircleLine","dataFinalizacao","idStatusAutorizacaoFornecimento","InserirRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemAutorizacaoRequest","ListarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemResponse","listaRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem","ListarCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemResponse","listaCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem","ModalRegFotoUltrapassarSubitem","idAutorizacaoFornecimentoSubitem","idAutorizacaoFornecimentoSubitemMedicao","listaRegFotoSubitemAutorizacaoMedicaoUltrapassar","regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem","idAutorizacaoSubitem","idAutorizacaoSubitemMedicao","idAutorizacaoFornecimentoSubitemCusto","idAutorizacaoFornecimentoSubitemCustoMedicao","rowTitulo","row2","alinharFim","linhaMetadeComeco","linhaMetadeFim","width7","width11","pageNumber","left","right","margimBottom","espacogrande","espacomedio","fontSize8","fontSize6","marginBottomMenos50","MyDoc","corpo","corpoAdicionado","percentualObra","orientation","fixed","descricaoBairro","tempo","width5","descricaoSubItemCusto","descricaoAbreviacao","precoTotal","porcentagem","totalUnitario","totalUnitarioQuantidade","bottom5","bottom40","totalPages","_ref3","_ref4","showVisualizacaoFoto","setShowVisualizacaoFoto","codDescSubitem","setCodDescSubitem","quantidadeAutorizacao","setQuantidadeAutorizacao","quantidadeEmpenhada","setQuantidadeEmpenhada","setValorTotalSubitem","valorTotalEmpenhado","setValorTotalEmpenhado","completado","setCompletado","saldoQuantidadeAutorizacao","setSaldoQuantidadeAutorizacao","saldoQuantidadeContratoExc","setSaldoQuantidadeContratoExc","quantidadeSolicitacao","setQuantidadeSolicitacao","cancelado","setCancelado","finalizado","setFinalizado","inseridoAposSoli","setInseridoAposSoli","quantidadeContrato","setQuantidadeContrato","valorObraEAdicionados","setValorObraEAdicionados","dataAutorizacaoSubitem","dataId","setDataId","valorMedicoes","setValorMedicoes","AlterarAutorizacaoFornecimentoSubitemCusto","inseridoAposSolicitacaoAprovado","AlterarValores","ListarRelatorioMedicaoSubItemRequest","medicoes","valorObraEAdicionadosAtual","listaCabecalho","listaCorpo","listaCorpoAdicionado","quantidadeSubitemAutorizacaoTotal","quantidadeConsumidaAutorizacao","quantidadeContratoExcedente","quantidadeSubitemSolicitacao","saldoAutorizacaoTotal","ImFilePicture","AlterarAutorizacaoFornecimentoSubitemCustoComFoto","listaStatusMedicaoAutorizacaoFornecimento","statusMedicaoAutorizacaoFornecimento","ativaModalConfimacaoFinalizado","modalConfirmacaoStatusFinalizado","showNovoStatus","setShowNovoStatus","showConfirmacaoFinalizar","setShowConfirmacaoFinalizar","setStatusExcluir","setIdUsuario","handleCloseNovoStatus","handleCloseConfirmacaoFinalizar","u","InserirAutorizacaoFornecimentoStatus","statusFornecedor","CancelarStatusClick","ResetarStatus","idStatus","MudarStatusClick","ExcluirUltimoStatus","idStatusAutorizacaoAnterior","validaMedicoes","statusFinalizaMedicao","CancelarAutorizacao","ListarStatusMedicaoAutorizacaoFornecimentoResponse","Medicoes","dataApi","totalMedicao","InserirMedicao","AlterarMedicao","dateTimePickerLocalization","ptBR","HistoricoStatus","autorizacaoStatus","ListarHistoricoAutorizacaoFornecimentoEmpenhoResponse","listaHistoricoAutorizacaoFornecimentoEmpenho","HistoricoEmpenho","historicoAutorizacaoFornecimentoEmpenho","listaHistorico","autorizacao","acao","nomeAcao","percentual","valorAutorizacaoEmpenhoTotal","valorObraTotal","setListaDescricao","listaValor","setListaValor","listaDesc","listaValorTotal","ListarProjecao","MedicaoAutorizacaoFornecimento","numeroMedicaoAF","setNumeroMedicaoAF","setNumeroAf","setValorTotalMedicao","idStatusMedicaoAutorizacaoFornecimento","ModalSubitemMedicao","valorObraReais","valorTotalMedicaoReais","valorObraSemItensAdd","setPorcentagem","setTotalSelecionado","handleShowConfirmacao","_dataCompleta$push","quantidadeSubitemMedicaoTotal","quantidadeOutrasMedicoes","IdAutorizacaoFornecimentoSubitemCusto","IdUsuarioUltimaAlteracao","QuantidadeCliente","QuantidadeFornecedor","AlteracaoFornecedor","ListaAutorizacaoFornecimentoSubitemCustoMedicaoApiModel","InserirAutorizacaoFornecimentoSubitemCustoMedicaoRequest","InserirMedicaoSubitem","InserirSubitemConfirmado","valorSubitemAdicionado","InserirSubitemConfirmadoComFoto","aprovado","setAprovado","quantidadeCliente","setQuantidadeCliente","quantidadeFornecedor","setQuantidadeFornecedor","quantidadeTotalContrato","setQuantidadeTotalContrato","dataUltimaAlteracao","setDataUltimaAlteracao","usuarioUltimaAlteracao","setUsuarioUltimaAlteracao","showSubitemSemAutorizacao","setShowSubitemSemAutorizacao","setValorObraReais","setDataAutorizacaoSubitem","setValorObraAtualSemItensAdicionadosDepois","valorObraAtualSemItensAdicionadosDepoisReais","setValorObraAtualSemItensAdicionadosDepoisReais","subitemConfirmacao","setSubitemConfirmacao","setValorTotalMedicaoReais","valorTotalMedicaoSubItem","setValorTotalMedicaoSubItem","saldoQuantidadeContrato","setSaldoQuantidadeContrato","itemEmpenhado","setItemEmpenhado","setPorcentagemRelacional","porcentagemSolicitacaoComMedicao","setPorcentagemSolicitacaoComMedicao","setValorTotalTodasMedicoes","valorTotalTodasMedicoesSemAdicionado","setValorTotalTodasMedicoesSemAdicionado","subitemCompleto","setSubitemCompleto","dataCompleto","ListarCompletoAutorizacaoFornecimentoSubitemCustoRequest","valorTotalMedicaoSubItemAprovado","totalMed","totalTodasMed","valorTotalTodasMedicoes","totalObra","totalObraSemAdicionados","porcentagemRelacionalSemAdicionado","porcentagemTotal","porcentagemTotalSemAdicionados","CarregarTotalMedicao","valorObraAtualSemItensAdicionadosDepois","AlterarAutorizacaoFornecimentoSubitemCustoMedicao","igualar","ObservacaoSubitemAutorizacao","quantidadeInicial","QuantidadeSubitemAutorizacaoTotal","QuantidadeSubitemMedicaoTotal","QuantidadeTotalContrato","QuantidadeContratoExcedente","SaldoContratoExcedente","ValorUnitario","Descricao","QuantidadeFinal","quantidadeFinal","QuantidadeOutrasMedicoes","idMedicaoAutorizacaoFornecimento","objetoSubItem","trigger","RiCheckboxCircleFill","Aprovado","empenhado","maxBodyHeight","quantidadeExcedida","valorSubitem","quantidadeTotalAutorizacao","teste","totalAutorizacaoExcedente","AlterarSubitemConfirmado","ValidacaoAlterarSubitem","AlterarSubitemConfirmadoComFoto","InserirMedicaoStatusClick","InserirMedicaoStatusCancelado","ReabrirMedicaoAutorizacaoFornecimentoStatusRequest","idStatusMedicaoAutorizacaoFornecimentoAnterior","CancelarMedicao","validaSubitem","iniciaMedicao","ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoResponse","listaMedicaoAutorizacaoFornecimentoRegistroFotografico","medicaoAutorizacaoFornecimentoRegistroFotografico","longitute","AlterarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest","ExcluirMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest","ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoResponse","listaMedicaoAutorizacaoFornecimentoDocumentoArquivo","medicaoAutorizacaoFornecimentoDocumento","AlterarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest","ExcluirMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest","ListarMedicaoAutorizacaoFornecimentoOcorrenciaResponse","listaMedicaoAutorizacaoFornecimentoOcorrencia","BuscarMedicaoAutorizacaoFornecimentoOcorrenciaPorIdResponse","medicaoAutorizacaoFornecimentoOcorrenciaCompleto","ListarMedicaoOcorrenciaResponse","listaMedicaoOcorrencia","ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoResponse","listaMedicaoAutorizacaoFornecimentoOcorrenciaRegFoto","ModalOcorrenciaMedicao","medicaoAutorizacaoFornecimentoOcorrenciaRegFoto","VisualizarRegistroFotograficoOcorrencia","registroFotograficoOcorrencia","idMedicaoAutorizacaoFornecimentoOcorrencia","AlterarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest","IdMedicaoAutorizacaoFornecimentoOcorrencia","AlterarRegistroFotograficoOcorrencia","idRegistroFotograficoOcorrencia","idFoto","ExcluirMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest","InserirMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest","Ocorrencia","medicaoOcorrencia","medicaoAutorizacaoFornecimentoOcorrencia","idMedicaoOcorrencia","dataOcorrencia","dataOcorrenciaApi","AlterarMedicaoAutorizacaoFornecimentoOcorrenciaRequest","AlterarMedicaoAutorizacaoFornecimentoOcorrencia","InserirMedicaoAutorizacaoFornecimentoOcorrenciaRequest","InserirMedicaoAutorizacaoFornecimentoOcorrencia","medicaoStatus","ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqResponse","listaAutorizacaoFornecimentoSubitemCustoMedicaoDocArq","idMedicaoSubItem","autorizacaoFornecimentoSubitemCustoMedicaoDocArq","AlterarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest","AlterarDocumentoArquvio","ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest","InserirDocumentoArquvio","ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoResponse","listaAutorizacaoFornecimentoSubitemCustoMedicaoRegFoto","autorizacaoFornecimentoSubitemCustoMedicaoRegFoto","AlterarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest","ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest","ListarAutorizacaoFornecimentoSubitemCustoMedOcorResponse","listaAutorizacaoFornecimentoSubitemCustoMedOcor","ListarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoResponse","listaAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto","ModalOcorrenciaMedicaoSubitem","autorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto","idAutorizacaoFornecimentoSubitemCustoMedOcor","AlterarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest","IdAutorizacaoFornecimentoSubitemCustoMedOcor","ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest","InserirAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest","autorizacaoFornecimentoSubitemCustoMedOcor","AlterarAutorizacaoFornecimentoSubitemCustoMedOcorRequest","AlterarAutorizacaoFornecimentoSubitemCustoMedOcor","InserirAutorizacaoFornecimentoSubitemCustoMedOcorRequest","InserirAutorizacaoFornecimentoSubitemCustoMedOcor","idSubItemCusto","setIdSubItemCusto","tipoPessoa","idAtivo","idTipoPessoa","setIdTipoPessoa","setNomeFornecedor","descricaoSite","setDescricaoSite","numeroIdentidade","setNumeroIdentidade","descricaoOrgaoEmissor","setDescricaoOrgaoEmissor","numeroCpf","setNumeroCpf","nomeFantasia","setNomeFantasia","numeroCgc","setNumeroCgc","numeroInscricaoEstadual","setNumeroInscricaoEstadual","dddCelular","setDddCelular","telefoneCelular","setTelefoneCelular","descricaoComplemento","setDescricaoComplemento","BuscarFornecedorPorIdRequest","site","dddTelefoneCelular","numeroCelular","fornecedorPessoaFisicaApiModel","orgaoEmissor","fornecedorPessoaJuridicaApiModel","InserirFornecedorRequest","AlterarFornecedorRequest","InserirFornecedor","element","defaultChecked","ListarFornecedorContaResponse","listaFornecedorConta","BuscarFornecedorContaPorIdResponse","fornecedorContaCompleta","ListarBancoResponse","listaBanco","ListarTipoPixResponse","listaTipoPix","Conta","fornecedorConta","banco","tipoPix","setSelectPix","setSelectPessoa","setSelectBanco","optionsTipoPessoa","optionsTipoPix","optionsBanco","conta","selectTipoPessoaText","selectTipoPessoaSelecionado","tamanho","numeros","digitos","pos","charAt","isValidCNPJ","selectTipoPixText","selectTipoPixSelecionado","ValidaEmail","stringDDD","stringTelefone","ValidacaoTelefone","numeroDDD","ValidacaoDdd","selectBancoText","selectBancoSelecionado","numeroConta","numeroAgencia","numeroPix","AlterarEstadoPix","numeroDocumento","AlterarEstadoPessoa","ativa","idBanco","idTipoPix","InserirFornecedorContaRequest","InserirContas","AlterarFornecedorContaRequest","AlterarConta","ListarFornecedorContatoResponse","listaFornecedorContato","BuscarFornecedorContatoPorIdResponse","fornecedorContatoCompleta","Contato","fornecedorContato","contato","DDD","nomeContato","numeroDDD1","emailParametro","gerencial","numeroDddTelefone","InserirFornecedorContatoRequest","InserirContato","AlterarFornecedorContatoRequest","AlterarContato","tempoParaExecucao","InserirPrioridadeRequest","InserirPrioridade","AlterarPrioridadeRequest","AlterarPrioridade","ExcluirPrioridadeRequest","ListarEmpenhoResponse","listaEmpenho","BuscarEmpenhoPorIdRequest","BuscarEmpenhoPorIdResponse","empenhoCompleto","InserirEmpenhoRequest","AlterarEmpenhoRequest","ListarStatusEmpenhoResponse","listaStatusEmpenho","statusEmpenho","listaRelacao","optionsFornecedor","totalFornecedores","MudarFornecedor","k","statusAprovaDuasPartes","statusFaturamento","NumeroEmpenho","NumeroNotaFiscal","ValorNotaFiscal","OrdenacaoIdEmpenho","dataEmpenho","dataEmpenhoFinal","numeroNotaFiscal","valorNotaFiscal","dataInclusaoSemFormato","linhaCompletaCentralizada","width35","width15","width16","width80","bottom30","bottom65","fontSize5","fontSize4","fontSize45","fontSize2","width50","flex","maxHeight","PdfEmpenho","assinante","indexOf","totalFinal","fimMetade","listaValorEntregaDefinitiva","diferenca","transform","_ref5","listaValorEntregaParcial","empenhoAtual","porcentagemEmpenhoAnterior","porcentagemEmpenhoAtual","porcentagemAcumulada","valorFaturar","_ref6","_ref7","listaValorEntregaDiferenca","_ref8","_ref9","listaValorMulta","valorMultaReais","_ref10","_ref11","bottom20","fontSize65","PdfEmpenhoBoletimMedicao","listaAutorizacaoFornecimentoBoletimMedicao","numeroAutorizacaoFornecimento","periodo","obra","listaSubItemsMedicao","descricaoAtividade","unidade","valorUnidade","quantidadeContratada","anterior","numeroPeriodo","totalMedicaoString","totalContratoString","totalFaturadoString","totalContratualString","totalRealizadoString","ListarAssinanteResponse","listaAssinante","Empenho","listaDadosExportarPDFEmpenho","listaDadosExportarPDFEmpenhoBoletimMedicao","listaEmpenhoAutorizacaoFornecimentoSubitemCustoMed","empenhoAutorizacaoFornecimentoSubitemCustoMed","listarMulta","multa","listaMulta","listarDiferencaEmpenho","listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed","setCarregaPage","empenhoId","setEmpenhoId","setNumeroNotaFiscal","setValorNotaFiscal","showModalAssinante","setShowModalAssinante","showMedicao","setMedicaoShow","valorTotalEmp","setValorTotalEmp","NomeAssinante","setNomeAssinante","dataInicioEmpenho","setDataInicioEmpenho","dataFimEmpenho","setDataFimEmpenho","handleShow","optionsContrato","CarregaEmpenho","TotalEmpenho","Validacoes","valorMulta","listaMedicaoFinalizada","listaEmpenhoAutorizacaoSubitemCusto","statusParcial","subitemEmpenho","AlterarEmpenho","InserirEmpenho","verificarDataInicio","verificarDatainicioEmpenho","verificarDataFim","verificarDataFimEmpenho","idStatusEmpenho","setStatusAnalise","setStatusFaturamento","showStatusAprovado","setShoStatusAprovado","showStatusFaturamentoAprovado","setShowStatusFaturamentoAprovado","handleCloseStatusAprovado","handleCloseStatusFaturamentoAprovado","AlterarEmpenhoStatusAnaliseSubitem","statusAprovadoCliente","statusAprovadoFornecedor","dataAprovacaoCliente","dataAprovacaoFornecedor","statusFaturamentoAprovado","idUsuarioAprovacaoCliente","idUsuarioAprovacaoFornecedor","AlterarEmpenhoStatusAnaliseSubitemReprovada","statusNome","AlterarEmpenhoStatusAnaliseSubitemAprovada","InserirStatusClick","InserirStatusCanceladoClick","FinalizarStatusFaturamento","VoltarStatusEmpenhoRequest","statusReprovadoCliente","RiCloseCircleFill","clienteAprovado","nomeUsuarioAprovacaoCliente","fornecedorAprovado","nomeUsuarioAprovacaoFornecedor","usuarioAprovacaoCliente","usuarioAprovacaoFornecedor","idStatusEmpenhoAnterior","CancelarEmpenho","iniciaEmpenho","ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse","ExcluirEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest","ExcluirListaSubitensAutorizacaoMedicaoRequest","listaId","ListarHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse","ModalSubitemEmpenho","parcial","showAviso","setShowAviso","handleCloseAviso","InserirValidacaoEmpenhoSubitem","idAutorizacaoStatus","marcadorMedicao","marcadorSubitem","InserirEmpenhoSubitem","IdAutorizacaoFornecimentoSubitemCustoMedicao","idInserirSubitem","IdEmpenho","InserirEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest","ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemRequest","finalizadaComMedicaoAnterior","entregaParcial","descricaoMedicao","subitemCustoMedicao","ModalTransferenciaAfEmpenho","idAutorizacao","idEmpenhoOrigem","setIdEmpenho","dataTransferencia","ModalTransferenciaAfEmpenhoParcialDefinitiva","definitivaParcial","show2","setShow2","showDefinitivaParcial","setShowDefinitivaParcial","numeroAutorizacao","setNumeroAutorizacao","setMedicao","setDescricaoMedicao","saldoQuantidadeExc","setSaldoQuantidadeExc","setValorTotal","usuarioCheck","setUsuarioCheck","setParcial","valorTotalDefinitivo","setValorTotalDefinitivo","setIdAutorizacao","TransferirAf","TransferirDefinitivaOuParcial","_hierarquiaCompleta$p","numeroMedicao","_hierarquiaCompleta$p2","subitemMedicao","ConstroiHierarquia","BiTransferAlt","BiTransfer","idSubitem","ExcluirIdSubitem","subitensAf","subitensMedicao","af","ExcluirSubitem","valorTotalParcial","setValorTotalParcial","idS","ListarEmpenhoDocumentoArquivoResponse","listaEmpenhoDocumentoArquivo","empenhoDocumentoArquivo","AlterarEmpenhoDocumentoArquivoRequest","ExcluirEmpenhoDocumentoArquivoRequest","BaixarEmpenhoDocumentoArquivoRequest","ListarMultaResponse","Multa","valorTotalMulta","setValorTotalMulta","ListarAutorizacaoFornecimentoDoEmpenhoRequest","TotalMulta","idMulta","selectTextAf","idAf","InserirMultaRequest","InserirMulta","AlterarMultaRequest","AlterarMulta","ExcluirMultaRequest","Diferenca","valorTotalDiferenca","setValorTotalDiferenca","valorDeduzir","Definitivo","Parcial","setQuery","descricaoFiltro","setDescricaoFiltro","totalMedicaoFiltro","usuarioFiltro","setUsuarioFiltro","observacaoFiltro","setObservacaoFiltro","optionsStatus","selectSelecionadoAf","afSelecionada","FilterRow","MTableFilterRow","columnId","val","onSearchChange","NumeroAf","DataInicio","ListarFaturamentoResponse","listaFaturamento","ListarCompletoFaturamentoResponse","listaCompletaFaturamento","ListarFaturamentoDocumentoArquivoResponse","listaFaturamentoDocumentoArquivo","ModalFaturamentoDocumento","idFaturamento","faturamentoDocumentoArquivo","showDocumento","setShowDocumento","ListarFaturamentoDocumentoArquivoRequest","AlterarFaturamentoDocumentoArquivoRequest","ExcluirFaturamentoDocumentoArquivoRequest","InserirFaturamentoDocumentoArquivoRequest","Faturamento","faturamento","statusFaturamentoAndamento","MdOutlinePayments","valorOriginal","valorPago","dataPagamento","idUsuarioCancelamento","nomeUsuarioCancelamento","usuarioCancelamento","dataCancelamentoApi","dataCancelamento","InserirFaturamentoRequest","AdicionarFaturamento","AlterarFaturamentoRequest","AlterarFaturamento","ModalFiltroRelatorio","BaixarRelatorioTodasSolicitacoes","BaixarRelatorioTodasAutorizacoes","BaixarRelatorioTodasMedicoes","BaixarRelatorioTodosSubitens","BaixarRelatorioStatusSolicitacao","RelatorioSelecionado","BaixarRelatorioTodosSubitensTro","dataFim","setDataFim","idStatusSolicitacao","setIdStatusSolicitacao","idStatusAF","setIdStatusAF","idStatusMedicao","setIdStatusMedicao","idAF","setIdAF","listaStatusMedicao","optionsEmpenho","dataAutorizacao","dataSubitem","relatorioSelecionado","setRelatorioSelecionado","clickRelatorio","metodoDispatch","LogoRelatorioSubitens","LogoRelatorioSolicitacao","LogoRelatorioAutorizacao","LogoRelatorioMedicao","BaixarRelatorioTodosSubitensRequest","ListarCategoriaItemResponse","listaCategoriaItem","ListarCategoriaItemSubitemCustoPrimarioResponse","listaCategoriaItemSubitemCustoPrimario","ListarCompletoCategoriaItemSubitemCustoPrimarioResponse","listaCompletaCategoriaItemSubitemCustoPrimario","ModalInserirSubitemCategoriaItem","idCategoriaItem","listaSubitemData","setlistaSubitemData","idSubitemCustoPrimario","IdSubitemCustoPrimario","IdCategoriaItem","InserirCategoriaItemSubitemCustoPrimarioRequest","InserirCategoriaItemSubitemCustoPrimario","ModalCategoriaItemSubitemCustoPrimario","categoriaItemSubitemCustoPrimario","ListarCompletoCategoriaItemSubitemCustoPrimarioRequest","ExcluirCategoriaItemSubitemCustoPrimarioRequest","CategoriaItem","categoriaItem","setIdCategoriaItem","selectTextContrato","selectSelecionadoContrato","InserirCategoriaItemRequest","InserirCategoriaItem","AlterarCategoriaItemRequest","AlterarCategoriaItem","ExcluirCategoriaItemRequest","BemVindo","selectTextBairro","selectSelecionadoBairro","AlterarInteressadoRequest","AlterarInteressado","InserirOrgao","AlterarOrgaoRequest","AlterarOrgao","Assinante","InserirAssinanteRequest","InserirAssinante","AlterarAssinanteRequest","AlterarAssinante","idAssinante","ListarSolicitacaoFornecimentoHistoricoRegFotoResponse","listaSolicitacaoFornecimentoHistoricoRegFoto","ListarSolicitacaoFornecimentoHistoricoDocArqResponse","listaSolicitacaoFornecimentoHistoricoDocArq","HistoricoSolicitacao","solicitacaoFornecimentoHistorico","CarregarImagemSolicitacaoFornecimentoHistoricoRegFotoRequest","regFoto","RiHistoryFill","numeroSolicitacaoFornecimentoRegistroFotografico","docArq","numeroSolicitacaoFornecimentoDocumentoArquivo","dataAcao","numeroSolicitacaoRegFoto","BaixarSolicitacaoFornecimentoHistoricoRegFotoRequest","numeroSolicitacaoDocArq","BaixarSolicitacaoFornecimentoHistoricoDocArqRequest","listaRelatorioStatusSolicitacao","carregaPage","setVisualizarTudo","nomeObra","Oficio","Processo","Orçamento","Chegada","saida","dias","Valor","proximaDemanda","marcadorUltimo","idSolicitacaoFornecimentoStatus","dataSaida","quantidadeDias","statusSolicitacao","RelatorioStatusAutorizacao","listaRelatorioStatusAutorizacao","idAutorizacaoFornecimentoStatus","statusAutorizacao","RiInformationLine","RelatorioStatusMedicao","listaRelatorioStatusMedicao","nuAf","idMedicaoAutorizacaoFornecimentoStatus","valorMedicao","statusMedicao","RelatorioStatusEmpenho","listaRelatorioStatusEmpenho","idEmpenhoStatus","RelatorioSolicitacao","listaRelatorioSolicitacao","export","Data","ValorTotalOrcamento","columnsButton","addRemoveColumns","showMensagem","setShowMensagem","showExcluir","setShowExcluir","anoObrasExcluir","setAnoObrasExcluir","handleCloseMensagem","handleCloseExcluir","Validar","propertyValues","Object","values","mesesComparados","l","toLowerCase","__rowNum__","_loop","_loop2","_x","InserirObrasIntervencoesPorMesRequest","defaultGroupOrder","mes","statusConcluido","dataImportacao","ExcluirObrasIntervencoesPorMesRequest","ExcluirObrasIntervencoes","Meses","InserirMesesRequest","InserirMeses","AlterarMesesRequest","AlterarMeses","RelatorioManutencoesPorMes","keys","InserirManutencoesPorMesRequest","ExcluirManutencoesPorMesRequest","ExcluirManutencao","Routes","Switch","exact","Grupo","PermissoesGrupo","CadastrarGeralEmpenho","CadastroGeralContrato","VisualizarContratoCompleto","CadastroGeralFonte","CadastrarGeralSolicitacao","CadastroGeralAutorizacao","CadastrarGeralMedicao","CadastrarGeralSubitem","CadastroGeralFornecedor","CadastroGeralEmpenho","Orgao","RelatorioStatusSolicitacao","ObrasIntervencoesPorMes","ManutencoesPorMes","NotFound","initialState","isLoggedIn","perfilCompleto","listaFonteReceitaVersao","listaContratoVersaoSubitemCustoPrimario","listaContratoVersaoSubitemCustoConsumido","autorizacaoFornecimentoSubitemCustoMedOcorCompleto","listaCnae","listarMultaEmpenho","listaTipoCaracteristica","listaCaracteristica","listaLimiteValor","combineReducers","arguments","action","produce","draft","setItem","perfil","tokenCookie","decoded","jwt_decode","horaExpiracao","hora","Blob","fileDownloadUrl","URL","createObjectURL","link","createElement","appendChild","click","parentNode","removeChild","WriteErroFile","Authorization","contratoVersaoSubitemCustoPrimario","contratoVersaoSubitemCustoConsumido","cnae","formularioCaracteristica","solicitacaoFornecimentoCaracteristicaResposta","limiteValor","solicitacaoFornecimentoHistoricoRegFoto","solicitacaoFornecimentoHistoricoDocArq","api","axios","baseURL","ListarUsuarioRequest","_marked2","_regeneratorRuntime","mark","_marked3","_marked4","_marked5","_marked6","_marked7","_marked8","_marked9","headerParams","_context","prev","next","put","sent","call","t0","statusCode","message","stop","_marked","_context2","resultBusca","erros","apiErrors","modelProperty","_context3","post","UsuarioFornecedor","success","errors","retorno","_context4","delete","tokenStorage","today","dataSuccess","_context5","set","maxAge","setHours","getHours","_context6","_context7","_context8","_context9","all","takeLatest","ListarGrupoAcessoRequest","_callee","ListarMunicipioRequest","IdGrupo","ListarClienteRequest","ListarTipoDocumentoRequest","ListarSubitemCustoRequest","ExcluirSubitemCustoRequest","ListarSubitemCustoCompletoRequest","ListarItemCustoRequest","ExcluirItemCustoRequest","ListarGrupoCustoRequest","AlterarGrupoCustoRequest","ExcluirGrupoCustoRequest","ListarContratoRequest","ExcluirContratoRequest","resultVesao","ListarOrigemContratoRequest","InserirOrigemContratoRequest","AlterarOrigemContratoRequest","ExcluirOrigemContratoRequest","ListarUnidadeMedidaRequest","ExcluirUnidadeMedidaRequest","ListarContratoUsuarioRequest","ListarFonteReceitaRequest","RodarScriptTelefoneInteressado","myBlob","elem","window","download","ListarComposicaoCustoRequest","ListarTipoRecursoRequest","ExcluirTipoRecursoRequest","ListarFonteReceitaVersaoRequest","BuscarFonteReceitaVersaoPorIdRequest","ListarPorUltimaVersaoAnoRequest","IdFonteReceita","ListarSolicitacaoFornecimentoRequest","InserirSolicitacaoFornecimentoRequest","ExcluirSolicitacaoFornecimentoRequest","InserirCoordenadasSolicitacaoFornecimentoRequest","ListarSolicitacaoFornecimentoCamposVerificacaoRapidaRequest","BuscarCoordenadasPorEnderecoRequest","_marked10","AlterarPrazoSolicitacaoFornecimentoRequest","_marked11","resultStatus","_context10","PrazoDias","resultSoli","resultEv","_context11","ListarRegiaoRequest","ExcluirRegiaoRequest","ListarTipoSolicitacaoRequest","resultRelacao","IdSolicitacao","resultId","ListarContratoVersaoRequest","InserirContratoVersaoRequest","resultListaSubItem","resultVersao","listaSolicitacao","ListarSolicitacaoFornecimentoVersaoSubitemCustoRequest","ExcluirSolicitacaoFornecimentoVersaoSubitemCustoRequest","ImportarSolicitacaoFornecimentoVersaoSubitemCustoExcelRequest","resultContratoVersao","_resultContratoVersao","_result","resultSolicitacao","resultValidar","valida","_result2","_resultSolicitacao","_result3","_resultSolicitacao2","_result4","_result5","ListarTipoDocumentoArquivoRequest","ExcluirTipoDocumentoArquivoRequest","ListarSolicitacaoFornecimentoVersaoRequest","ListarCompletoSolicitacaoFornecimentoVersaoRequest","ListarTipoContratoVersaoRequest","BaixarRelatorioTodasSolicitacoesRequest","BaixarRelatorioTodasAutorizacoesRequest","BaixarRelatorioTodasMedicoesRequest","BaixarRelatorioTodosSubitensTroRequest","ListarRelatorioStatusAutorizacaoRequest","ListarRelatorioStatusMedicaoRequest","ListarRelatorioStatusEmpenhoRequest","_marked12","_marked13","_marked14","_marked15","ListarDadosExportarPDFEmpenhoBoletimMedicaoRequest","_marked16","ListarTodasFotosCompletasAutorizacaoFornecimentoRequest","_marked17","_marked18","RelatorioEventoRespostaRequest","_marked19","RelatorioTodasMedicaoSubItemsRequest","_marked20","ListarRelatorioSolicitacaoRequest","excel","_context12","_context13","_context14","_context15","_context16","pdf","_context17","_context18","IdEventoResposta","_context19","_context20","ListarTipoSolicitacaoTipoDocumentoArquivoRequest","AlterarTipoSolicitacaoTipoDocumentoArquivoRequest","ListarCompletoSolicitacaoFornecimentoRegistroFotograficoRequest","ListarSolicitacaoFornecimentoRegistroFotograficoRequest","InserirSolicitacaoFornecimentoRegistroFotograficoRequest","ListarAutorizacaoFornecimentoRequest","InserirAutorizacaoFornecimentoRequest","AlterarAutorizacaoFornecimentoRequest","ExcluirAutorizacaoFornecimentoRequest","ListarCompletoAutorizacaoFornecimentoComRedirecionamentoRequest","BuscarAutorizacaoFornecimentoSubitemCustoPorIdRequest","ExcluirAutorizacaoFornecimentoSubitemCustoRequest","resultExportar","_resultContratoVersao2","ListarTodasMedicaoAutorizacaoFornecimentoRequest","ExcluirMedicaoAutorizacaoFornecimentoRequest","resultTodas","ListarStatusSolicitacaoFornecimentoRequest","ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest","InserirMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest","BaixarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest","ListarStatusAutorizacaoFornecimentoRequest","ListarCompletoAutorizacaoFornecimentoStatusRequest","AlterarAutorizacaoFornecimentoStatusRequest","ExcluirAutorizacaoFornecimentoStatusRequest","ExcluirAutorizacaoFornecimentoStatusReabrirAutorizacaoRequest","resultCompleto","resultMedicao","_resultCompleto","_resultMedicao","ListarStatusMedicaoAutorizacaoFornecimentoRequest","ListarCompletoMedicaoAutorizacaoFornecimentoStatusRequest","AlterarMedicaoAutorizacaoFornecimentoStatusRequest","ExcluirMedicaoAutorizacaoFornecimentoStatusRequest","ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest","InserirMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest","BaixarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest","CarregarImagemMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest","ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoRequest","BuscarAutorizacaoFornecimentoSubitemCustoMedicaoPorIdRequest","resultAuto","resultMed","dadosResquest","dataAfSubitem","dataAfMedicaoSubitem","dataAfSubitemAtual","ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest","InserirAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest","BaixarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest","IdMedicaoSubItem","ListarMedicaoAutorizacaoFornecimentoOcorrenciaRequest","ExcluirMedicaoAutorizacaoFornecimentoOcorrenciaRequest","BuscarMedicaoAutorizacaoFornecimentoOcorrenciaPorIdRequest","ListarFornecedorRequest","ExcluirFornecedorRequest","IdTipoPessoa","FornecedorPessoaFisicaApiModel","FornecedorPessoaJuridicaApiModel","ListarTipoPessoaRequest","ListarContratoVersaoSubitemCustoPrimarioResponse","ListarContratoVersaoSubitemCustoPrimarioRequest","InserirContratoVersaoSubitemCustoPrimarioRequest","AlterarContratoVersaoSubitemCustoPrimarioRequest","ExcluirContratoVersaoSubitemCustoPrimarioRequest","ListarContratoVersaoSubitemCustoConsumidoResponse","ListarContratoVersaoSubitemCustoConsumidoRequest","InserirContratoVersaoSubitemCustoConsumidoRequest","AlterarContratoVersaoSubitemCustoConsumidoRequest","ExcluirContratoVersaoSubitemCustoConsumidoRequest","ListarMedicaoOcorrenciaRequest","InserirMedicaoOcorrenciaRequest","AlterarMedicaoOcorrenciaRequest","ExcluirMedicaoOcorrenciaRequest","ListarAutorizacaoFornecimentoSubitemCustoMedOcorRequest","ExcluirAutorizacaoFornecimentoSubitemCustoMedOcorRequest","ListarTipoPixRequest","ListarCnaeResponse","ListarCnaeRequest","ListarBancoRequest","ListarFornecedorContatoRequest","ListarCompletoFornecedorContatoRequest","BuscarFornecedorContatoPorIdRequest","ExcluirFornecedorContatoRequest","ListarFornecedorContaRequest","ListarCompletoFornecedorContaRequest","BuscarFornecedorContaPorIdRequest","ExcluirFornecedorContaRequest","ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest","InserirAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest","BaixarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest","CarregarImagemAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest","IdAutorizacaoFornecimentoSubItemCustoMedicao","ListarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest","CarregarImagemAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest","BaixarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest","ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest","CarregarImagemMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest","BaixarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest","ListarUsuarioFornecedorRequest","InserirUsuarioFornecedorRequest","AlterarUsuarioFornecedorRequest","ExcluirUsuarioFornecedorRequest","ListarCompletoUsuarioFornecedorRequest","ListarContratoFornecedorRequest","BuscarContratoFornecedorPorIdRequest","AlterarContratoFornecedorRequest","ListarPrioridadeRequest","ListarEmpenhoRequest","ExcluirEmpenhoRequest","TransferirAfRequest","TransferirAfDefinitivaParcialRequest","resultEmp","IdAutorizacao","IdEmpenhoOrigem","ListarStatusEmpenhoRequest","InserirStatusEmpenhoRequest","AlterarStatusEmpenhoRequest","ExcluirStatusEmpenhoRequest","ExcluirEmpenhoStatusRequest","ListarCompletoEmpenhoStatusRequest","ListarMultaEmpenhoRequest","ListarDiferencaEmpenhoRequest","resultEmpSub","_resultEmp","_resultEmpSub","_resultCompleto2","_resultEmp2","_resultEmpSub2","ListarFaturamentoRequest","ListarCompletoFaturamentoRequest","ExcluirFaturamentoRequest","resultFatu","resultComFiltro","ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest","AlterarEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest","ListarHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest","resultListaModal","ListaEmpenhoAutorizacaoFornecimentoSubitemCustoMed","ListarEmpenhoDocumentoArquivoRequest","InserirEmpenhoDocumentoArquivoRequest","BaixarFaturamentoDocumentoArquivoRequest","IdFaturamento","ListarCategoriaItemRequest","ListarCategoriaItemSubitemCustoPrimarioRequest","AlterarCategoriaItemSubitemCustoPrimarioRequest","dataS","resultSubitem","ListaCategoriaItemSubitemCustoPrimario","ListarBairroRequest","InserirBairroRequest","AlterarBairroRequest","ExcluirBairroRequest","ListarDashboardAutorizacaoPorRegionalRequest","ListarDashboardAutorizacaoFinalizadaPorMesRequest","ListarDashboardAutorizacaoValorPorMesRequest","ListarDashboardValorContratoPorCategoriaRequest","ListarDashboardCategoriaGastaPorAutorizacaoFornecimentoRequest","BaixarRelatorioDashboardAutorizacaoFinalizadaPorMesRequest","BaixarRelatorioDashboardAutorizacaoPorRegionalRequest","BaixarRelatorioDashboardValorTotalContratoPorCategoriaRequest","BaixarRelatorioDashboardValorTotalCategoriaGastaPorAutorizacaoFornecimentoRequest","BaixarRelatorioDashboardStatusSolicitacaoFornecimentoRequest","VisualizarCompleto","Ano","ListarInteressadoRequest","ExcluirInteressadoRequest","ListarTipoCaracteristicaResponse","ListarTipoCaracteristicaRequest","InserirTipoCaracteristicaRequest","AlterarTipoCaracteristicaRequest","ExcluirTipoCaracteristicaRequest","ListarCaracteristicaResponse","ListarCaracteristicaRequest","InserirCaracteristicaRequest","AlterarCaracteristicaRequest","ExcluirCaracteristicaRequest","ListarFormularioRequest","InserirFormularioRequest","AlterarFormularioRequest","ExcluirFormularioRequest","ListarCaracteristicaRespostaRequest","AlterarCaracteristicaRespostaRequest","ExcluirCaracteristicaRespostaRequest","BuscarCaracteristicaRespostaPorNomeRequest","resultTipo","ListarFormularioCaracteristicaResponse","ListarFormularioCaracteristicaRequest","InserirFormularioCaracteristicaRequest","AlterarFormularioCaracteristicaRequest","ExcluirFormularioCaracteristicaRequest","ListarSolicitacaoFornecimentoCaracteristicaRespostaResponse","ListarSolicitacaoFornecimentoCaracteristicaRespostaRequest","InserirSolicitacaoFornecimentoCaracteristicaRespostaRequest","AlterarSolicitacaoFornecimentoCaracteristicaRespostaRequest","ExcluirSolicitacaoFornecimentoCaracteristicaRespostaRequest","ListarLimiteValorResponse","ListarLimiteValorRequest","InserirLimiteValorRequest","AlterarLimiteValorRequest","ExcluirLimiteValorRequest","ListarOrgaoRequest","ExcluirOrgaoRequest","ListarMultaRequest","ListarEventoRespostaRequest","ExcluirEventoRespostaRequest","ListarHistoricoAutorizacaoFornecimentoEmpenhoRequest","ListarSolicitacaoFornecimentoHistoricoComRedirecionamentoRequest","ListarSolicitacaoFornecimentoHistoricoRequest","ListarCompletoSolicitacaoFornecimentoHistoricoRegFotoRequest","ListarSolicitacaoFornecimentoHistoricoRegFotoRequest","IdSolicitacaoFornecimentoHistorico","idSolicitacaoHistorico","ListarCompletoSolicitacaoFornecimentoHistoricoDocArqRequest","ListarSolicitacaoFornecimentoHistoricoDocArqRequest","CarregarImagemSolicitacaoFornecimentoHistoricoDocArqRequest","ListarNotificacaoRequest","InserirNotificacaoRequest","ExcluirNotificacaoRequest","ListarAssinanteRequest","ExcluirAssinanteRequest","ListarCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest","ListarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest","BaixarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest","CarregarImagemRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest","InserirRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemMedicaoRequest","ListarMesesRequest","ListarObrasIntervencoesPorMesRequest","BaixarPadraoImportacaoObrasIntervencoesPorMesRequest","ListarManutencoesPorMesRequest","BaixarPadraoImportacaoManutencoesPorMesRequest","rootSaga","abrupt","sagaMiddleware","createSagaMiddleware","enhancer","applyMiddleware","store","createStore","rootReducer","run","toPromise","Chart","register","CategoryScale","LinearScale","PointElement","LineElement","Tooltip","Legend","ArcElement","BarElement","ChartDataLabels","App","Provider","Router","ToastContainer","ReactDOM"],"mappings":"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","file":"static/js/main.b3e12088.chunk.js","sourcesContent":["\r\nimport { Route, Redirect } from \"react-router-dom\";\r\nimport Cookies from 'universal-cookie';\r\n\r\nexport default function RouteWrapper({\r\n component: Component,\r\n isPrivate,\r\n ...rest\r\n}) {\r\n\r\n const cookies = new Cookies();\r\n const signed = !!localStorage.getItem('token') && cookies.get('token');\r\n\r\n if (!signed && isPrivate) {\r\n return \r\n }\r\n\r\n if (signed && !isPrivate) {\r\n\r\n let token = JSON.parse(localStorage.getItem('token')).token;\r\n\r\n if (token.role != null && token.role.filter(d => d == 'DashboardVerValores').length > 0) {\r\n return \r\n } else {\r\n return \r\n }\r\n }\r\n\r\n return (\r\n (\r\n \r\n )}\r\n />\r\n )\r\n}","export function ListarDashboardSolicitacaoStatusRequest(dataInicio, dataFinal, visualizarTudoSolicitacao) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_SOLICITACAO_STATUS_REQUEST',\r\n dataInicio, dataFinal, visualizarTudoSolicitacao\r\n }\r\n}\r\n\r\nexport function ListarDashboardSolicitacaoStatusResponse(listaDashboardSolicitacaoStatus) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_SOLICITACAO_STATUS_RESPONSE',\r\n listaDashboardSolicitacaoStatus\r\n }\r\n}\r\n\r\nexport function ListarDashboardMedicaoStatusRequest(dataInicio, dataFinal, visualizarTudoMedicao) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_MEDICAO_STATUS_REQUEST',\r\n dataInicio, dataFinal, visualizarTudoMedicao\r\n }\r\n}\r\n\r\nexport function ListarDashboardMedicaoStatusResponse(listaDashboardMedicaoStatus) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_MEDICAO_STATUS_RESPONSE',\r\n listaDashboardMedicaoStatus\r\n }\r\n}\r\n\r\nexport function ListarDashboardAutorizacaoPorRegionalRequest() {\r\n return {\r\n type: 'LISTAR_DASHBOARD_AUTORIZACAO_POR_REGIONAL_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarDashboardAutorizacaoPorRegionalResponse(listaDashboardAutorizacaoPorRegional) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_AUTORIZACAO_POR_REGIONAL_RESPONSE',\r\n listaDashboardAutorizacaoPorRegional\r\n }\r\n}\r\n\r\nexport function ListarDashboardAutorizacaoFinalizadaPorMesRequest() {\r\n return {\r\n type: 'LISTAR_DASHBOARD_AUTORIZACAO_FINALIZADA_POR_MES_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarDashboardAutorizacaoFinalizadaPorMesResponse(listaDashboardAutorizacaoFinalizadaPorMes) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_AUTORIZACAO_FINALIZADA_POR_MES_RESPONSE',\r\n listaDashboardAutorizacaoFinalizadaPorMes\r\n }\r\n}\r\n\r\nexport function ListarDashboardAutorizacaoValorPorMesRequest() {\r\n return {\r\n type: 'LISTAR_DASHBOARD_AUTORIZACAO_VALOR_POR_MES_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarDashboardAutorizacaoValorPorMesResponse(listaDashboardAutorizacaoValorPorMes) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_AUTORIZACAO_VALOR_POR_MES_RESPONSE',\r\n listaDashboardAutorizacaoValorPorMes\r\n }\r\n}\r\n\r\nexport function ListarDashboardValorContratoPorCategoriaRequest() {\r\n return {\r\n type: 'LISTAR_DASHBOARD_VALOR_CONTRATO_POR_CATEGORIA_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarDashboardValorContratoPorCategoriaResponse(listaDashboardValorContratoPorCategoria) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_VALOR_CONTRATO_POR_CATEGORIA_RESPONSE',\r\n listaDashboardValorContratoPorCategoria\r\n }\r\n}\r\n\r\nexport function ListarDashboardCategoriaGastaPorAutorizacaoFornecimentoRequest() {\r\n return {\r\n type: 'LISTAR_DASHBOARD_CATEGORIA_GASTA_POR_AUTORIZACAO_FORNECIMENTO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarDashboardCategoriaGastaPorAutorizacaoFornecimentoResponse(listaDashboardCategoriaGastaPorAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_CATEGORIA_GASTA_POR_AUTORIZACAO_FORNECIMENTO_RESPONSE',\r\n listaDashboardCategoriaGastaPorAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarDashboardAutorizacaoStatusRequest(inicio, final, visualizarTudoAutorizacao) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_AUTORIZACAO_STATUS_REQUEST',\r\n inicio, final, visualizarTudoAutorizacao\r\n }\r\n}\r\n\r\nexport function ListarDashboardAutorizacaoStatusResponse(listaDashboardAutorizacaoStatus) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_AUTORIZACAO_STATUS_RESPONSE',\r\n listaDashboardAutorizacaoStatus\r\n }\r\n}\r\n\r\nexport function BaixarRelatorioDashboardAutorizacaoFinalizadaPorMesRequest() {\r\n return {\r\n type: 'BAIXAR_RELATORIO_DASHBOARD_AUTORIZACAO_FINALIZADA_POR_MES_REQUEST'\r\n }\r\n}\r\n\r\nexport function BaixarRelatorioDashboardAutorizacaoPorRegionalRequest() {\r\n return {\r\n type: 'BAIXAR_RELATORIO_DASHBOARD_AUTORIZACAO_POR_REGIONAL_REQUEST'\r\n }\r\n}\r\n\r\nexport function BaixarRelatorioDashboardValorTotalContratoPorCategoriaRequest() {\r\n return {\r\n type: 'BAIXAR_RELATORIO_DASHBOARD_VALOR_TOTAL_CONTRATO_POR_CATEGORIA_REQUEST'\r\n }\r\n}\r\n\r\nexport function BaixarRelatorioDashboardValorTotalCategoriaGastaPorAutorizacaoFornecimentoRequest() {\r\n return {\r\n type: 'BAIXAR_RELATORIO_DASHBOARD_VALOR_TOTAL_CATEGORIA_GASTA_POR_AUTORIZACAO_FORNECIMENTO_REQUEST'\r\n }\r\n}\r\n\r\nexport function BaixarRelatorioDashboardStatusSolicitacaoFornecimentoRequest() {\r\n return {\r\n type: 'BAIXAR_RELATORIO_DASHBOARD_STATUS_SOLICITACAO_FORNECIMENTO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarDashboardObrasIntervencoesPorMesRequest(ano, visualizarTudo) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_OBRAS_INTERVENCOES_POR_MES_REQUEST',\r\n ano, visualizarTudo\r\n }\r\n}\r\n\r\nexport function ListarDashboardObrasIntervencoesPorMesResponse(listaDashboardObrasIntervencoesPorMes) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_OBRAS_INTERVENCOES_POR_MES_RESPONSE',\r\n listaDashboardObrasIntervencoesPorMes\r\n }\r\n}\r\n\r\nexport function BaixarRelatorioDashboardObrasIntervencoesPorMesRequest(ano, visualizarTudo) {\r\n return {\r\n type: 'BAIXAR_RELATORIO_DASHBOARD_OBRAS_INTERVENCOES_POR_MES_REQUEST',\r\n ano, visualizarTudo\r\n }\r\n}\r\n\r\nexport function ListarDashboardManutencoesPorMesRequest(ano, visualizarTudo) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_MANUTENCOES_POR_MES_REQUEST',\r\n ano, visualizarTudo\r\n }\r\n}\r\n\r\nexport function ListarDashboardManutencoesPorMesResponse(listaDashboardManutencoesPorMes) {\r\n return {\r\n type: 'LISTAR_DASHBOARD_MANUTENCOES_POR_MES_RESPONSE',\r\n listaDashboardManutencoesPorMes\r\n }\r\n}\r\n\r\nexport function BaixarRelatorioDashboardManutencoesPorMesRequest(ano, visualizarTudo) {\r\n return {\r\n type: 'BAIXAR_RELATORIO_DASHBOARD_MANUTENCOES_POR_MES_REQUEST',\r\n ano, visualizarTudo\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}\r\n","export function ListarMesesRequest() {\r\n return {\r\n type: 'LISTAR_MESES_REQUEST'\r\n }\r\n }\r\n \r\n export function ListarMesesResponse(listaMeses) {\r\n return {\r\n type: 'LISTAR_MESES_RESPONSE',\r\n listaMeses\r\n }\r\n }\r\n\r\n export function InserirMesesRequest(data) {\r\n return {\r\n type: 'INSERIR_MESES_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function AlterarMesesRequest(data) {\r\n return {\r\n type: 'ALTERAR_MESES_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n }","export function ListarContratoRequest() {\r\n return {\r\n type: 'LISTAR_CONTRATO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarContratoResponse(listaContrato) {\r\n return {\r\n type: 'LISTAR_CONTRATO_RESPONSE',\r\n listaContrato\r\n }\r\n}\r\n\r\nexport function BuscarContratoPorIdRequest(id) {\r\n return {\r\n type: 'BUSCAR_CONTRATO_POR_ID_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function BuscarContratoPorIdResponse(contratoCompleto) {\r\n return {\r\n type: 'BUSCAR_CONTRATO_POR_ID_RESPONSE',\r\n contratoCompleto\r\n }\r\n}\r\n\r\nexport function InserirContratoRequest(data) {\r\n return {\r\n type: 'INSERIR_CONTRATO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function InserirContratoResponse(novoId) {\r\n return {\r\n type: 'INSERIR_CONTRATO_RESPONSE',\r\n novoId\r\n }\r\n}\r\n\r\nexport function AlterarContratoRequest(data) {\r\n return {\r\n type: 'ALTERAR_CONTRATO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirContratoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_CONTRATO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function LimparNovoId() {\r\n return {\r\n type: 'LIMPAR_NOVO_ID',\r\n }\r\n}\r\n\r\nexport function ImportarContratoExcelRequest(data, idContrato) {\r\n return {\r\n type: 'IMPORTAR_CONTRATO_EXCEL',\r\n data,\r\n idContrato\r\n }\r\n}\r\n\r\nexport function ImportarContratoExistenteExcelRequest(listaObjeto) {\r\n return {\r\n type: 'IMPORTAR_CONTRATO_EXISTENTE_EXCEL',\r\n listaObjeto\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export const chartColors = [\r\n \"#FA8072\",\r\n \"#FFDEAD\",\r\n \"#99CCFF\",\r\n \"#999933\",\r\n \"#666699\",\r\n \"#CC9933\",\r\n \"#006666\",\r\n \"#3399FF\",\r\n \"#993300\",\r\n \"#CCCC99\",\r\n \"#666666\",\r\n \"#FFCC66\",\r\n \"#6699CC\",\r\n \"#663366\",\r\n \"#9999CC\",\r\n \"#CCCCCC\",\r\n \"#669999\",\r\n \"#CCCC66\",\r\n \"#CC6600\",\r\n \"#9999FF\",\r\n \"#0066CC\",\r\n \"#99CCCC\",\r\n \"#999999\",\r\n \"#FFCC00\",\r\n \"#009999\",\r\n \"#99CC33\",\r\n \"#FF9900\",\r\n \"#999966\",\r\n \"#66CCCC\",\r\n \"#339966\",\r\n \"#CCCC33\",\r\n \"#003f5c\",\r\n \"#665191\",\r\n \"#a05195\",\r\n \"#d45087\",\r\n \"#2f4b7c\",\r\n \"#f95d6a\",\r\n \"#ff7c43\",\r\n \"#ffa600\",\r\n \"#EF6F6C\",\r\n \"#465775\",\r\n \"#56E39F\",\r\n \"#59C9A5\",\r\n \"#5B6C5D\",\r\n \"#0A2342\",\r\n \"#2CA58D\",\r\n \"#84BC9C\",\r\n \"#CBA328\",\r\n \"#F46197\",\r\n \"#DBCFB0\",\r\n \"#545775\"\r\n ];","export function ListarObrasIntervencoesPorMesRequest() {\r\n return {\r\n type: 'LISTAR_OBRAS_INTERVENCOES_POR_MES_REQUEST'\r\n }\r\n }\r\n \r\n export function ListarObrasIntervencoesPorMesResponse(listaObrasIntervencoesPorMes) {\r\n return {\r\n type: 'LISTAR_OBRAS_INTERVENCOES_POR_MES_RESPONSE',\r\n listaObrasIntervencoesPorMes\r\n }\r\n }\r\n \r\n export function InserirObrasIntervencoesPorMesRequest(data) {\r\n return {\r\n type: 'INSERIR_OBRAS_INTERVENCOES_POR_MES_REQUEST',\r\n data\r\n }\r\n }\r\n\r\n export function BaixarPadraoImportacaoObrasIntervencoesPorMesRequest() {\r\n return {\r\n type: 'BAIXAR_PADRAO_IMPORTACAO_OBRAS_INTERVENCOES_POR_MES_REQUEST'\r\n }\r\n }\r\n\r\n export function ExcluirObrasIntervencoesPorMesRequest(ano) {\r\n return {\r\n type: 'EXCLUIR_OBRAS_INTERVENCOES_POR_MES_REQUEST',\r\n ano\r\n }\r\n }\r\n \r\n export function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n }","import { Spinner } from \"react-bootstrap\";\r\nimport './loading.css';\r\n\r\nexport default function Loading() {\r\n return (\r\n <>\r\n \r\n Loading...\r\n \r\n \r\n );\r\n}","import {\r\n IoBarChart, IoPersonSharp, IoPeopleSharp, IoDocumentText,\r\n IoResize, IoMapOutline, IoNewspaperOutline, IoPeopleOutline,\r\n IoFileTrayOutline, IoChatboxEllipsesOutline, IoTimeOutline,\r\n IoPersonCircleOutline\r\n} from \"react-icons/io5\";\r\nimport {\r\n MdAttachMoney, MdSegment, MdAssignment,\r\n MdOutlineLocalShipping, MdCategory\r\n} from \"react-icons/md\";\r\nimport { FaMoneyCheckAlt } from \"react-icons/fa\";\r\nimport { GrResources } from \"react-icons/gr\";\r\nimport { RiMenuAddLine, RiUser3Line, RiFileExcel2Line,\r\n RiBarChartGroupedLine, RiListCheck2, RiRefund2Line,\r\n RiFileChartFill, RiCalendarTodoFill, RiTodoLine } from \"react-icons/ri\";\r\nimport React, { useState } from 'react';\r\nimport * as RiIcons from 'react-icons/ri';\r\nimport { SiMicrosoftexcel } from \"react-icons/si\";\r\n\r\nexport const SidebarData = [\r\n {\r\n id: \"menuLateral_dashboard\",\r\n title: 'Dashboard',\r\n path: '/dashboard',\r\n icon: ,\r\n permissao: 'Dashboard',\r\n },\r\n {\r\n id: \"menuLateral_usuario\",\r\n title: 'Usuario',\r\n path: '/usuario',\r\n icon: ,\r\n permissao: 'Usuario',\r\n },\r\n {\r\n id: \"menuLateral_grupos\",\r\n title: 'Grupo Acesso',\r\n path: '/grupoAcesso',\r\n icon: ,\r\n permissao: 'GrupoAcesso',\r\n },\r\n {\r\n id: \"menuLateral_itenscontrato\",\r\n title: 'Fonte Receita',\r\n path: '/fonteReceita',\r\n icon: ,\r\n permissao: 'FonteReceita',\r\n },\r\n {\r\n id: \"menuLateral_itenscontrato\",\r\n title: 'Fornecedor',\r\n path: '/fornecedor',\r\n icon: ,\r\n permissao: 'Fornecedor',\r\n },\r\n {\r\n id: \"menuLateral_relatorio\",\r\n title: 'Relatório',\r\n path: '#',\r\n icon: ,\r\n iconClosed: ,\r\n iconOpened: ,\r\n permissao: 'Relatorio',\r\n\r\n subNav: [\r\n {\r\n title: 'Relatórios Gerais',\r\n path: '/relatorio',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Relatorio'\r\n },\r\n {\r\n title: 'Relatório Solicitação',\r\n path: '/relatorioSolicitacao',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Relatorio'\r\n },\r\n {\r\n title: 'Relatório Status Solicitação',\r\n path: '/relatorioStatusSolicitacao',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Relatorio'\r\n },\r\n {\r\n title: 'Relatório Status Autorização',\r\n path: '/relatorioStatusAutorizacao',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Relatorio'\r\n },\r\n {\r\n title: 'Relatório Status Medição',\r\n path: '/relatorioStatusMedicao',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Relatorio'\r\n },\r\n {\r\n title: 'Relatório Status Empenho',\r\n path: '/relatorioStatusEmpenho',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Relatorio'\r\n },\r\n {\r\n title: 'Obras/Interv. Por Mês',\r\n path: '/obrasIntervencoesPorMes',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Relatorio'\r\n },\r\n {\r\n title: 'Manutenções Por Mês',\r\n path: '/manutencoesPorMes',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Relatorio'\r\n }\r\n ]\r\n },\r\n {\r\n id: \"menuLateral_itenscontrato\",\r\n title: 'Auxiliares',\r\n path: '#',\r\n icon: ,\r\n iconClosed: ,\r\n iconOpened: ,\r\n permissao: 'Auxiliares',\r\n\r\n subNav: [\r\n {\r\n title: 'Unidade de Medida',\r\n path: '/unidadeMedida',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Auxiliares'\r\n },\r\n {\r\n title: 'Composição Custo',\r\n path: '/composicaoCusto',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Auxiliares'\r\n },\r\n {\r\n title: 'Tipo Recurso',\r\n path: '/tipoRecurso',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Auxiliares'\r\n },\r\n {\r\n title: 'Regiao',\r\n path: '/regiao',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Auxiliares'\r\n },\r\n {\r\n title: 'Tipo Solicitação',\r\n path: '/tipoSolicitacao',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Auxiliares'\r\n },\r\n {\r\n title: 'Tipo Documento Arquivo',\r\n path: '/tipoDocumentoArquivo',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Auxiliares'\r\n },\r\n {\r\n title: 'Prioridade',\r\n path: '/prioridade',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Auxiliares'\r\n },\r\n {\r\n title: 'Categoria Item',\r\n path: '/categoriaItem',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Auxiliares'\r\n },\r\n {\r\n title: 'Interessado',\r\n path: '/interessado',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Auxiliares'\r\n },\r\n {\r\n title: 'Órgão',\r\n path: '/orgao',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Auxiliares'\r\n },\r\n {\r\n title: 'Assinante',\r\n path: '/assinante',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Auxiliares'\r\n },\r\n {\r\n title: 'Meses',\r\n path: '/meses',\r\n icon: ,\r\n cName: 'sub-nav',\r\n permissao: 'Auxiliares'\r\n }\r\n ]\r\n },\r\n {\r\n id: \"menuLateral_contrato\",\r\n title: 'Contrato',\r\n path: '/contrato',\r\n icon: ,\r\n permissao: 'Contrato',\r\n },\r\n {\r\n id: \"solicitacaoFornecimento\",\r\n title: 'Solicitação Fornecimento',\r\n path: '/solicitacaoFornecimento',\r\n icon: ,\r\n permissao: 'SolicitacaoFornecimento',\r\n },\r\n {\r\n id: \"autorizacaoFornecimento\",\r\n title: 'Autorização Fornecimento',\r\n path: '/autorizacaoFornecimento',\r\n icon: ,\r\n permissao: 'AutorizacaoFornecimento',\r\n },\r\n {\r\n id: \"medicaoAutorizacaoFornecimento\",\r\n title: 'Medição Autorização F.',\r\n path: '/medicaoAutorizacaoFornecimento',\r\n icon: ,\r\n permissao: 'AutorizacaoFornecimento',\r\n },\r\n {\r\n id: \"empenho\",\r\n title: 'Empenho',\r\n path: '/empenho',\r\n icon: ,\r\n permissao: 'Empenho',\r\n },\r\n /* Caso precise de faturamento\r\n {\r\n id: \"menuLateral_empenho\",\r\n title: 'Empenho/Faturamento',\r\n path: '#',\r\n icon: ,\r\n iconClosed: ,\r\n iconOpened: , \r\n\r\n subNav: [\r\n {\r\n id: \"empenho\",\r\n title: 'Empenho',\r\n path: '/empenho',\r\n icon: ,\r\n permissao: 'Empenho',\r\n },\r\n {\r\n id: \"faturamento\",\r\n title: 'Faturamento',\r\n path: '/faturamento',\r\n icon: ,\r\n permissao: 'Faturamento',\r\n }\r\n ]\r\n }*/\r\n];","import React, { useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport styled from 'styled-components';\r\n\r\nconst SidebarLabel = styled.span`\r\n margin-left: 16px;\r\n`;\r\n\r\nconst SubMenu = ({ item }) => {\r\n\r\n const [subnav, setSubnav] = useState(false);\r\n\r\n const showSubnav = () => setSubnav(!subnav);\r\n\r\n return (\r\n <>\r\n {\r\n (JSON.parse(localStorage.getItem('token')).token.role.filter(r => r == `${item.permissao}Menu`).length == 1)?\r\n \r\n\r\n
\r\n {item.icon}\r\n {item.title}\r\n
\r\n\r\n
\r\n {item.subNav && subnav\r\n ? item.iconOpened\r\n : item.subNav\r\n ? item.iconClosed\r\n : null}\r\n
\r\n \r\n :\r\n ''\r\n }\r\n {\r\n subnav && item.subNav != null && item.subNav != undefined &&\r\n item.subNav.map((item, index) => {\r\n return (\r\n\r\n (JSON.parse(localStorage.getItem('token')).token.role.filter(r => r == `${item.permissao}Menu`).length == 1) ?\r\n \r\n
\r\n {item.icon}\r\n {item.title}\r\n
\r\n \r\n :\r\n ''\r\n\r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default SubMenu;","import { createBrowserHistory } from 'history';\r\n\r\nconst history = createBrowserHistory();\r\n\r\nexport default history;\r\n","export default __webpack_public_path__ + \"static/media/logo.eef529fb.png\";","export function ListarNotificacaoRequest(idUsuario) {\r\n return {\r\n type: 'LISTAR_NOTIFICACAO_REQUEST',\r\n idUsuario\r\n }\r\n}\r\n\r\nexport function ListarNotificacaoResponse(listaNotificacao) {\r\n return {\r\n type: 'LISTAR_NOTIFICACAO_RESPONSE',\r\n listaNotificacao\r\n }\r\n}\r\n\r\nexport function InserirNotificacaoRequest(data) {\r\n return {\r\n type: 'INSERIR_NOTIFICACAO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarNotificacaoRequest(data) {\r\n return {\r\n type: 'ALTERAR_NOTIFICACAO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirMedicaoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_MEDICAO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { Navbar, Container, Nav, Offcanvas, Button, Popover, Overlay, Badge, Col, Form, Row } from \"react-bootstrap\";\r\nimport { useState, useRef, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { SidebarData } from '../SidebarData/sidebarData';\r\nimport { Link } from \"react-router-dom\";\r\nimport { IoPersonCircleSharp, IoNotificationsCircle } from \"react-icons/io5\";\r\nimport SubMenu from '../SubMenu/subMenu';\r\nimport history from '../../services/history';\r\nimport logo from '../../assets/logo.png';\r\nimport \"./header.css\";\r\nimport { AlterarNotificacaoRequest, ListarNotificacaoRequest } from \"../../store/modules/notificacao/actions\";\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function Header() {\r\n\r\n const dispatch = useDispatch();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n const listaNotificacao = useSelector(state => state.notificacao.listaNotificacao);\r\n\r\n const ref = useRef(null);\r\n const refNotificacao = useRef(null);\r\n const [show, setShow] = useState(false);\r\n const [target, setTarget] = useState(null);\r\n const [showNotificacao, setShowNotificacao] = useState(false);\r\n const [targetNotificacao, setTargetNotificacao] = useState(null);\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n dispatch(ListarNotificacaoRequest(usuario.id));\r\n\r\n }, [])\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (listaNotificacao != null && listaNotificacao.length == 0) {\r\n setShowNotificacao(false)\r\n }\r\n\r\n }, [listaNotificacao])\r\n\r\n const handleClick = (event) => {\r\n setShow(!show);\r\n setShowNotificacao(false);\r\n setTarget(event.target);\r\n };\r\n\r\n const handleClickNotificacao = (event) => {\r\n setShowNotificacao(!showNotificacao);\r\n setShow(false);\r\n setTargetNotificacao(event.target);\r\n };\r\n\r\n function MudarStatusNotificacao(notificacao) {\r\n\r\n let data = {\r\n 'Id': notificacao.id,\r\n 'IdUsuario': notificacao.idUsuario,\r\n 'Mensagem': notificacao.mensagem,\r\n 'DataNotificacao': notificacao.dataNotificacao,\r\n 'DataVisualizacao': new Date(),\r\n 'Ativo': false\r\n }\r\n\r\n dispatch(AlterarNotificacaoRequest(data));\r\n\r\n }\r\n\r\n function Sair() {\r\n localStorage.removeItem('token');\r\n history.push('/');\r\n }\r\n\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 \r\n \r\n \r\n
\r\n img\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n}","export function ListarManutencoesPorMesRequest() {\r\n return {\r\n type: 'LISTAR_MANUTENCOES_POR_MES_REQUEST'\r\n }\r\n }\r\n \r\n export function ListarManutencoesPorMesResponse(listaManutencoesPorMes) {\r\n return {\r\n type: 'LISTAR_MANUTENCOES_POR_MES_RESPONSE',\r\n listaManutencoesPorMes\r\n }\r\n }\r\n \r\n export function InserirManutencoesPorMesRequest(data) {\r\n return {\r\n type: 'INSERIR_MANUTENCOES_POR_MES_REQUEST',\r\n data\r\n }\r\n }\r\n\r\n export function BaixarPadraoImportacaoManutencoesPorMesRequest() {\r\n return {\r\n type: 'BAIXAR_PADRAO_IMPORTACAO_MANUTENCOES_POR_MES_REQUEST'\r\n }\r\n }\r\n\r\n export function ExcluirManutencoesPorMesRequest(ano) {\r\n return {\r\n type: 'EXCLUIR_MANUTENCOES_POR_MES_REQUEST',\r\n ano\r\n }\r\n }\r\n \r\n export function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n }","import { Pie } from \"react-chartjs-2\";\r\nimport { Card, Col, Row, Button, Form, Dropdown } from \"react-bootstrap\";\r\nimport { IoBarChart } from \"react-icons/io5\";\r\nimport { RiFilter3Line } from \"react-icons/ri\";\r\nimport { useEffect } from \"react\";\r\nimport {\r\n ListarDashboardSolicitacaoStatusRequest, ListarDashboardAutorizacaoPorRegionalRequest,\r\n ListarDashboardAutorizacaoFinalizadaPorMesRequest, ListarDashboardAutorizacaoValorPorMesRequest,\r\n ListarDashboardValorContratoPorCategoriaRequest, ListarDashboardCategoriaGastaPorAutorizacaoFornecimentoRequest,\r\n BaixarRelatorioDashboardValorTotalCategoriaGastaPorAutorizacaoFornecimentoRequest, BaixarRelatorioDashboardValorTotalContratoPorCategoriaRequest,\r\n BaixarRelatorioDashboardAutorizacaoFinalizadaPorMesRequest, BaixarRelatorioDashboardAutorizacaoPorRegionalRequest,\r\n BaixarRelatorioDashboardStatusSolicitacaoFornecimentoRequest, ListarDashboardAutorizacaoStatusRequest, ListarDashboardMedicaoStatusRequest,\r\n ListarDashboardObrasIntervencoesPorMesRequest, BaixarRelatorioDashboardObrasIntervencoesPorMesRequest,\r\n ListarDashboardManutencoesPorMesRequest, BaixarRelatorioDashboardManutencoesPorMesRequest\r\n} from \"../../store/modules/dashboard/actions\";\r\nimport { ListarMesesRequest } from \"../../store/modules/meses/actions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { BuscarContratoPorIdRequest } from \"../../store/modules/contrato/actions\";\r\nimport { useState } from 'react';\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport { chartColors } from \"./colors\";\r\nimport { ListarObrasIntervencoesPorMesRequest } from \"../../store/modules/obrasIntervencoesPorMes/actions\";\r\nimport Select from 'react-select';\r\nimport Loading from '../../components/Loading/loading';\r\nimport Header from \"../../components/Header/header\";\r\nimport moment from 'moment';\r\nimport IntlCurrencyInput from \"react-intl-currency-input\";\r\nimport 'moment/locale/pt-br';\r\nimport \"./dashboard.css\";\r\nimport { ListarManutencoesPorMesRequest } from \"../../store/modules/manutencoesPorMes/actions\";\r\n\r\nexport default function Dashboard() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const listaDashboardSolicitacaoStatusResponse = useSelector(state => state.dashboard.listaDashboardSolicitacaoStatus);\r\n const listaDashboardAutorizacaoPorRegional = useSelector(state => state.dashboard.listaDashboardAutorizacaoPorRegional);\r\n const listaDashboardAutorizacaoFinalizadaPorMes = useSelector(state => state.dashboard.listaDashboardAutorizacaoFinalizadaPorMes);\r\n const listaDashboardAutorizacaoValorPorMes = useSelector(state => state.dashboard.listaDashboardAutorizacaoValorPorMes);\r\n const listaDashboardValorContratoPorCategoria = useSelector(state => state.dashboard.listaDashboardValorContratoPorCategoria);\r\n const listaDashboardCategoriaGastaPorAutorizacaoFornecimento = useSelector(state => state.dashboard.listaDashboardCategoriaGastaPorAutorizacaoFornecimento);\r\n const listaDashboardAutorizacaoStatus = useSelector(state => state.dashboard.listaDashboardAutorizacaoStatus);\r\n const listaDashboardObrasIntervencoesPorMes = useSelector(state => state.dashboard.listaDashboardObrasIntervencoesPorMes);\r\n const listaDashboardManutencoesPorMes = useSelector(state => state.dashboard.listaDashboardManutencoesPorMes);\r\n const contratoCompleto = useSelector(state => state.contrato.contratoCompleto);\r\n const listaDashboardMedicaoStatus = useSelector(state => state.dashboard.listaDashboardMedicaoStatus);\r\n const listaObrasIntervencoesPorMes = useSelector(state => state.obrasIntervencoesPorMes.listaObrasIntervencoesPorMes);\r\n const listaManutencoesPorMes = useSelector(state => state.manutencoesPorMes.listaManutencoesPorMes);\r\n const carregando = useSelector(state => state.dashboard.carregando);\r\n const listaMeses = useSelector(state => state.meses.listaMeses);\r\n\r\n const [dataInicioAutorizacao, setDataInicioAutorizacao] = useState(null);\r\n const [dataFinalAutorizacao, setDataFinalAutorizacao] = useState(null);\r\n const [visualizarTudoAutorizacao, setVisualizarTudoAutorizacao] = useState(false);\r\n\r\n const [dataInicioSolicitacao, setDataInicioSolicitacao] = useState(null);\r\n const [dataFinalSolicitacao, setDataFinalSolicitacao] = useState(null);\r\n const [visualizarTudoSolicitacao, setVisualizarTudoSolicitacao] = useState(false);\r\n\r\n const [dataInicioMedicao, setDataInicioMedicao] = useState(null);\r\n const [dataFinalMedicao, setDataFinalMedicao] = useState(null);\r\n const [visualizarTudoMedicao, setVisualizarTudoMedicao] = useState(false);\r\n\r\n const [descricaoRegiao, setDescricaoRegiao] = useState([]);\r\n const [quantidadeRegiao, setQuantidadeRegiao] = useState([]);\r\n const [descricaoStatus, setDescricaoStatus] = useState([]);\r\n const [quantidadeStatus, setQuantidadeStatus] = useState([]);\r\n const [descricaoCategoria, setDescricaoCategoria] = useState([]);\r\n const [valorCategoria, setValorCategoria] = useState([]);\r\n const [descricaoMesFinalizado, setDescricaoMesFinalizado] = useState([]);\r\n const [categoriaAutorizacao, setCategoriaAutorizacao] = useState([]);\r\n const [valorAutorizacao, setValorAutorizacao] = useState([]);\r\n const [valorMesFinalizado, setValorMesFinalizado] = useState([]);\r\n const [valorRegiaoFinalizado, setValorRegiaoFinalizado] = useState([]);\r\n const [descricaoStatusAutorizacao, setDescricaoStatusAutorizacao] = useState([]);\r\n const [quantidadeStatusAutorizacao, setQuantidadeStatusAutorizacao] = useState([]);\r\n const [descricaoStatusMedicao, setDescricaoStatusMedicao] = useState([]);\r\n const [quantidadeStatusMedicao, setQuantidadeStatusMedicao] = useState([]);\r\n const [valorTotalMes, setValorTotalMes] = useState(0);\r\n const [valorTotalRegiao, setValorTotalRegiao] = useState(0);\r\n const [descricaoObrasIntervencoesPorMes, setDescricaoObrasIntervencoesPorMes] = useState([]);\r\n const [quantidadeObrasIntervencoesPorMes, setQuantidadeObrasIntervencoesPorMes] = useState(0);\r\n const [descricaoManutencoesPorMes, setDescricaoManutencoesPorMes] = useState([]);\r\n const [valorManutencoesPorMes, setValorManutencoesPorMes] = useState(0);\r\n const [manutencoesPorMesLegenda, setManutencoesPorMesLegenda] = useState(0);\r\n let chartInstance = null;\r\n\r\n const [ano, setAno] = useState([]);\r\n const [anoManutencoes, setAnoManutencoes] = useState([]);\r\n const [visualizarTudoObras, setVisualizarTudoObras] = useState(true);\r\n const [visualizarTudoManutencoes, setVisualizarTudoManutencoes] = useState(true);\r\n\r\n const currencyConfig = {\r\n locale: \"pt-BR\",\r\n formats: {\r\n number: {\r\n BRL: {\r\n style: \"currency\",\r\n currency: \"BRL\",\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n },\r\n },\r\n },\r\n };\r\n\r\n const selectAno = [];\r\n const optionsAno = listaObrasIntervencoesPorMes ?\r\n [...listaObrasIntervencoesPorMes].reduce(function(opcoes, index){\r\n let key = index['ano'];\r\n if(!opcoes[key]){\r\n opcoes[key] = [];\r\n }\r\n if(opcoes[key].length === 0){\r\n opcoes[key].push({value: index.ano, label: index.ano});\r\n selectAno.push({value: index.ano, label: index.ano});\r\n return opcoes;\r\n }\r\n else{\r\n return opcoes;\r\n }\r\n }, {})\r\n :\r\n [];\r\n\r\n const selectAnoManutencoes = [];\r\n const optionsAnoManutencoes = listaManutencoesPorMes ?\r\n [...listaManutencoesPorMes].reduce(function(opcoes, index){\r\n let key = index['ano'];\r\n if(!opcoes[key]){\r\n opcoes[key] = [];\r\n }\r\n if(opcoes[key].length === 0){\r\n opcoes[key].push({value: index.ano, label: index.ano});\r\n selectAnoManutencoes.push({value: index.ano, label: index.ano});\r\n return opcoes;\r\n }\r\n else{\r\n return opcoes;\r\n }\r\n }, {})\r\n :\r\n [];\r\n\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"DashboardVerValores\").length == 0) {\r\n history.push(`/bemVindo`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n setDataInicioAutorizacao(moment().startOf('month'));\r\n setDataFinalAutorizacao(moment().endOf('month'));\r\n\r\n setDataInicioSolicitacao(moment().startOf('month'));\r\n setDataFinalSolicitacao(moment().endOf('month'));\r\n\r\n setDataInicioMedicao(moment().startOf('month'));\r\n setDataFinalMedicao(moment().endOf('month'));\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarObrasIntervencoesPorMesRequest());\r\n dispatch(ListarMesesRequest());\r\n dispatch(ListarManutencoesPorMesRequest());\r\n dispatch(ListarDashboardAutorizacaoPorRegionalRequest());\r\n dispatch(ListarDashboardSolicitacaoStatusRequest(null, null));\r\n dispatch(ListarDashboardAutorizacaoFinalizadaPorMesRequest());\r\n dispatch(ListarDashboardAutorizacaoValorPorMesRequest());\r\n dispatch(ListarDashboardValorContratoPorCategoriaRequest());\r\n dispatch(ListarDashboardCategoriaGastaPorAutorizacaoFornecimentoRequest());\r\n dispatch(ListarDashboardAutorizacaoStatusRequest(null, null));\r\n dispatch(ListarDashboardMedicaoStatusRequest(null, null));\r\n dispatch(ListarDashboardObrasIntervencoesPorMesRequest(null, visualizarTudoObras));\r\n dispatch(ListarDashboardManutencoesPorMesRequest(null, visualizarTudoManutencoes));\r\n\r\n if (usuario != undefined && usuario != null && usuario.objetoJsonPreferencias.idContrato != null && usuario.objetoJsonPreferencias.idContrato != 0)\r\n dispatch(BuscarContratoPorIdRequest(usuario.objetoJsonPreferencias.idContrato))\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (listaDashboardSolicitacaoStatusResponse != null) {\r\n\r\n let listaDescricaoStatus = [];\r\n let listaquantidadeStatus = [];\r\n listaDashboardSolicitacaoStatusResponse.map(c => {\r\n if (c.quantidade != 0) {\r\n listaDescricaoStatus.push(c.descricaoStatus + ' (' + c.quantidade + ')');\r\n listaquantidadeStatus.push(c.quantidade);\r\n }\r\n })\r\n\r\n setDescricaoStatus(listaDescricaoStatus);\r\n setQuantidadeStatus(listaquantidadeStatus);\r\n }\r\n\r\n }, [listaDashboardSolicitacaoStatusResponse])\r\n\r\n useEffect(() => {\r\n\r\n if (listaDashboardAutorizacaoStatus != null) {\r\n\r\n let listaDescricaoStatusAutorizacao = [];\r\n let listaquantidadeStatusAutorizacao = [];\r\n listaDashboardAutorizacaoStatus.map(c => {\r\n if (c.quantidade != 0) {\r\n listaDescricaoStatusAutorizacao.push(c.descricaoStatus + ' (' + c.quantidade + ')');\r\n listaquantidadeStatusAutorizacao.push(c.quantidade);\r\n }\r\n })\r\n\r\n setDescricaoStatusAutorizacao(listaDescricaoStatusAutorizacao);\r\n setQuantidadeStatusAutorizacao(listaquantidadeStatusAutorizacao);\r\n }\r\n\r\n }, [listaDashboardAutorizacaoStatus])\r\n\r\n useEffect(() => {\r\n\r\n if (listaDashboardMedicaoStatus != null) {\r\n\r\n let listaDescricaoStatusMedicao = [];\r\n let listaquantidadeStatusMedicao = [];\r\n listaDashboardMedicaoStatus.map(c => {\r\n if (c.quantidade != 0) {\r\n listaDescricaoStatusMedicao.push(c.descricaoStatus + ' (' + c.quantidade + ')');\r\n listaquantidadeStatusMedicao.push(c.quantidade);\r\n }\r\n })\r\n\r\n setDescricaoStatusMedicao(listaDescricaoStatusMedicao);\r\n setQuantidadeStatusMedicao(listaquantidadeStatusMedicao);\r\n }\r\n\r\n }, [listaDashboardMedicaoStatus])\r\n\r\n // Lista autorização por região\r\n useEffect(() => {\r\n\r\n if (listaDashboardAutorizacaoPorRegional != null && listaDashboardAutorizacaoPorRegional != undefined) {\r\n\r\n let listaDescricaoRegiao = [];\r\n let listaQuantidadeRegiao = [];\r\n let listaValorRegiaoFinalizado = [];\r\n\r\n let inputValor = 0.0;\r\n\r\n listaDashboardAutorizacaoPorRegional.map(c => {\r\n\r\n listaDescricaoRegiao.push(c.descricaoRegiao + ' (' + c.quantidadeRegiao + ')');\r\n listaQuantidadeRegiao.push(c.quantidadeRegiao);\r\n listaValorRegiaoFinalizado.push(c.valorTotalRegiao);\r\n\r\n inputValor += parseInt(c.valorTotalRegiao);\r\n })\r\n\r\n setDescricaoRegiao(listaDescricaoRegiao);\r\n setValorRegiaoFinalizado(listaValorRegiaoFinalizado)\r\n setQuantidadeRegiao(listaQuantidadeRegiao);\r\n\r\n setValorTotalRegiao(inputValor);\r\n }\r\n\r\n }, [listaDashboardAutorizacaoPorRegional])\r\n\r\n // Lista Autorização finalizada por mês\r\n useEffect(() => {\r\n\r\n if (listaDashboardAutorizacaoFinalizadaPorMes != null && listaDashboardAutorizacaoFinalizadaPorMes != undefined) {\r\n\r\n let listaDescricaoMesFinalizado = [];\r\n let listaQuantidadeMesFinalizado = [];\r\n let listaValorMesFinalizado = [];\r\n\r\n let inputValor = 0.0;\r\n\r\n listaDashboardAutorizacaoFinalizadaPorMes.map(c => {\r\n listaDescricaoMesFinalizado.push(moment(c.descricaoMes).format('MMM'));\r\n listaQuantidadeMesFinalizado.push(c.quantidade);\r\n listaValorMesFinalizado.push(c.valorTotalMes);\r\n\r\n inputValor += parseInt(c.valorTotalMes);\r\n })\r\n\r\n setValorMesFinalizado(listaValorMesFinalizado)\r\n setDescricaoMesFinalizado(listaDescricaoMesFinalizado);\r\n\r\n setValorTotalMes(inputValor);\r\n }\r\n\r\n }, [listaDashboardAutorizacaoFinalizadaPorMes])\r\n\r\n // Lista valor total utilizado por mês na autorização\r\n useEffect(() => {\r\n\r\n if (listaDashboardAutorizacaoValorPorMes != null && listaDashboardAutorizacaoValorPorMes != undefined) {\r\n\r\n let listaDescricaoMesValor = [];\r\n let listaValorMes = [];\r\n\r\n listaDashboardAutorizacaoValorPorMes.map(c => {\r\n listaDescricaoMesValor.push(c.descricaoMes);\r\n listaValorMes.push(c.valor);\r\n })\r\n }\r\n\r\n }, [listaDashboardAutorizacaoValorPorMes])\r\n\r\n // Lista valor contrato por categoria\r\n useEffect(() => {\r\n\r\n if (listaDashboardValorContratoPorCategoria != null && listaDashboardValorContratoPorCategoria != undefined\r\n && listaDashboardValorContratoPorCategoria.listaCategoria != undefined) {\r\n\r\n let listaDescricaoCategoria = [];\r\n let listaValorCategoria = [];\r\n listaDashboardValorContratoPorCategoria.listaCategoria.map(c => {\r\n\r\n if (c.valor != 0) {\r\n listaDescricaoCategoria.push(c.descricaoCategoria);\r\n listaValorCategoria.push(c.valor);\r\n }\r\n })\r\n\r\n setDescricaoCategoria(listaDescricaoCategoria);\r\n setValorCategoria(listaValorCategoria);\r\n }\r\n\r\n }, [listaDashboardValorContratoPorCategoria])\r\n\r\n // Lista categoria gasta por AF\r\n useEffect(() => {\r\n\r\n if (listaDashboardCategoriaGastaPorAutorizacaoFornecimento != null &&\r\n listaDashboardCategoriaGastaPorAutorizacaoFornecimento != undefined &&\r\n listaDashboardCategoriaGastaPorAutorizacaoFornecimento.listaCategoria != undefined &&\r\n listaDashboardCategoriaGastaPorAutorizacaoFornecimento.listaValores != undefined) {\r\n\r\n let listaDescricaoCategoria = [];\r\n let listaValorCategoria = [];\r\n\r\n listaDashboardCategoriaGastaPorAutorizacaoFornecimento.listaValores.map(function (c, y) {\r\n\r\n if (c != 0 && c != '0') {\r\n listaValorCategoria.push(c);\r\n listaDescricaoCategoria.push(listaDashboardCategoriaGastaPorAutorizacaoFornecimento.listaCategoria[y]);\r\n }\r\n })\r\n\r\n setCategoriaAutorizacao(listaDescricaoCategoria);\r\n setValorAutorizacao(listaValorCategoria);\r\n }\r\n\r\n }, [listaDashboardCategoriaGastaPorAutorizacaoFornecimento])\r\n\r\n //Lista de Obras e Intervenções por mes\r\n useEffect(() => {\r\n\r\n if (listaDashboardObrasIntervencoesPorMes != null) {\r\n\r\n let listaDescricaoObrasIntervencoesPorMes = [];\r\n let listaquantidadeObrasIntervencoesPorMes = [];\r\n listaDashboardObrasIntervencoesPorMes.map(c => {\r\n if (c.quantidade != 0) {\r\n listaDescricaoObrasIntervencoesPorMes.push(c.idMes + ' (' + c.quantidade + ')');\r\n listaquantidadeObrasIntervencoesPorMes.push(c.quantidade);\r\n }\r\n })\r\n\r\n setDescricaoObrasIntervencoesPorMes(listaDescricaoObrasIntervencoesPorMes);\r\n setQuantidadeObrasIntervencoesPorMes(listaquantidadeObrasIntervencoesPorMes);\r\n }\r\n\r\n }, [listaDashboardObrasIntervencoesPorMes])\r\n\r\n //Lista de Manutencoes por mes\r\n useEffect(() => {\r\n\r\n if (listaDashboardManutencoesPorMes != null) {\r\n\r\n let listaDescricaoManutencoesPorMes = [];\r\n let listaValorManutencoesPorMes = [];\r\n let listaCompletaManutencoesPorMes = [];\r\n listaDashboardManutencoesPorMes.map(c => {\r\n listaDescricaoManutencoesPorMes.push(c.idRegiao);\r\n listaValorManutencoesPorMes.push(c.valor);\r\n listaCompletaManutencoesPorMes.push(c.listaMeses)\r\n })\r\n\r\n setDescricaoManutencoesPorMes(listaDescricaoManutencoesPorMes);\r\n setValorManutencoesPorMes(listaValorManutencoesPorMes);\r\n setManutencoesPorMesLegenda(listaCompletaManutencoesPorMes);\r\n }\r\n\r\n }, [listaDashboardManutencoesPorMes])\r\n\r\n\r\n function BaixarRelatorioDashboardAutorizacaoPorRegional() {\r\n dispatch(BaixarRelatorioDashboardAutorizacaoPorRegionalRequest())\r\n }\r\n\r\n function BaixarRelatorioDashboardValorTotalContratoPorCategoria() {\r\n dispatch(BaixarRelatorioDashboardValorTotalContratoPorCategoriaRequest());\r\n }\r\n\r\n function BaixarRelatorioDashboardValorTotalCategoriaGastaPorAutorizacaoFornecimento() {\r\n dispatch(BaixarRelatorioDashboardValorTotalCategoriaGastaPorAutorizacaoFornecimentoRequest())\r\n }\r\n\r\n function BaixarRelatorioDashboardStatusSolicitacaoFornecimento() {\r\n dispatch(BaixarRelatorioDashboardStatusSolicitacaoFornecimentoRequest())\r\n }\r\n\r\n function FiltrarDataDashboardStatusSolicitacao() {\r\n\r\n var dataInicioSoli = dataInicioSolicitacao === '' ? null : dataInicioSolicitacao;\r\n var dataFinalSoli = dataFinalSolicitacao === '' ? null : dataFinalSolicitacao;\r\n\r\n dispatch(ListarDashboardSolicitacaoStatusRequest(dataInicioSoli, dataFinalSoli, visualizarTudoSolicitacao));\r\n\r\n if(dataInicioSolicitacao === ''){\r\n setDataInicioSolicitacao(null);\r\n }\r\n if(dataFinalSolicitacao === ''){\r\n setDataFinalSolicitacao(null);\r\n }\r\n }\r\n\r\n function FiltrarDataDashboardStatusAutorizacao() {\r\n\r\n var dataInicioAF = dataInicioAutorizacao === '' ? null : dataInicioAutorizacao;\r\n var dataFinalAF = dataFinalAutorizacao === '' ? null : dataFinalAutorizacao;\r\n\r\n dispatch(ListarDashboardAutorizacaoStatusRequest(dataInicioAF, dataFinalAF, visualizarTudoAutorizacao));\r\n\r\n if(dataInicioAutorizacao === ''){\r\n setDataInicioAutorizacao(null);\r\n }\r\n if(dataFinalAutorizacao === ''){\r\n setDataFinalAutorizacao(null);\r\n }\r\n }\r\n\r\n function FiltrarDataDashboardStatusMedicao() {\r\n\r\n var dataInicioMed = dataInicioMedicao === '' ? null : dataInicioMedicao;\r\n var dataFinalMed = dataFinalMedicao === '' ? null : dataFinalMedicao;\r\n\r\n dispatch(ListarDashboardMedicaoStatusRequest(dataInicioMed, dataFinalMed, visualizarTudoMedicao));\r\n\r\n if(dataInicioMedicao === ''){\r\n setDataInicioMedicao(null);\r\n }\r\n if(dataFinalMedicao === ''){\r\n setDataFinalMedicao(null);\r\n }\r\n }\r\n\r\n function BaixarRelatorioDashboardObrasIntervencoesPorMes() {\r\n \r\n var anoObras = ano === '' ? null : ano;\r\n\r\n dispatch(BaixarRelatorioDashboardObrasIntervencoesPorMesRequest(parseInt(anoObras), visualizarTudoObras))\r\n }\r\n\r\n function FiltrarDataDashboardObras(){\r\n\r\n var anoObras = ano === '' ? null : ano;\r\n\r\n dispatch(ListarDashboardObrasIntervencoesPorMesRequest(parseInt(anoObras), visualizarTudoObras));\r\n \r\n if (listaDashboardObrasIntervencoesPorMes != null) {\r\n\r\n let listaDescricaoObrasIntervencoesPorMes = [];\r\n let listaquantidadeObrasIntervencoesPorMes = [];\r\n listaDashboardObrasIntervencoesPorMes.map(c => {\r\n if (c.quantidade != 0) {\r\n listaDescricaoObrasIntervencoesPorMes.push(c.idMes + ' (' + c.quantidade + ')');\r\n listaquantidadeObrasIntervencoesPorMes.push(c.quantidade);\r\n }\r\n })\r\n\r\n setDescricaoObrasIntervencoesPorMes(listaDescricaoObrasIntervencoesPorMes);\r\n setQuantidadeObrasIntervencoesPorMes(listaquantidadeObrasIntervencoesPorMes);\r\n }\r\n\r\n if(ano === ''){\r\n setAno(null);\r\n }\r\n\r\n }\r\n\r\n function BaixarRelatorioDashboardManutencoesPorMes() {\r\n \r\n let anoSelecionadoExportacao = anoManutencoes === '' ? null : anoManutencoes;\r\n\r\n dispatch(BaixarRelatorioDashboardManutencoesPorMesRequest(parseInt(anoSelecionadoExportacao), visualizarTudoManutencoes))\r\n }\r\n\r\n function FiltrarDataDashboardManutencoes(){\r\n\r\n let anoSelecionado = anoManutencoes === '' ? null : anoManutencoes;\r\n\r\n dispatch(ListarDashboardManutencoesPorMesRequest(parseInt(anoSelecionado), visualizarTudoManutencoes));\r\n \r\n if (listaDashboardManutencoesPorMes != null) {\r\n\r\n let listaDescricaoManutencoesPorMes = [];\r\n let listaValorManutencoesPorMes = [];\r\n let listaCompletaManutencoesPorMes = [];\r\n listaDashboardManutencoesPorMes.map(c => {\r\n listaDescricaoManutencoesPorMes.push(c.idRegiao);\r\n listaValorManutencoesPorMes.push(c.valor);\r\n listaCompletaManutencoesPorMes.push(c.listaMeses)\r\n })\r\n\r\n setDescricaoManutencoesPorMes(listaDescricaoManutencoesPorMes);\r\n setValorManutencoesPorMes(listaValorManutencoesPorMes);\r\n setManutencoesPorMesLegenda(listaCompletaManutencoesPorMes);\r\n }\r\n\r\n if(anoManutencoes === ''){\r\n setAnoManutencoes(null);\r\n }\r\n\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n {\r\n contratoCompleto != null && usuario.objetoJsonPreferencias.idContrato != 0 ?\r\n \r\n {`Dashboard: ${contratoCompleto.descricao}`}\r\n \r\n :\r\n \r\n Dashboard\r\n \r\n }\r\n\r\n \r\n \r\n\r\n {usuario.objetoJsonPreferencias.idContrato != null && usuario.objetoJsonPreferencias.idContrato != undefined\r\n && usuario.objetoJsonPreferencias.idContrato != 0 ?\r\n\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n Gráfico de status de solicitações\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Filtro de Data:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Data Inicial de Criação\r\n {\r\n setDataInicioSolicitacao(e != null ? e.target.value : null)\r\n }}\r\n />\r\n \r\n \r\n Data Final de Criação\r\n {\r\n setDataFinalSolicitacao(e != null ? e.target.value : null)\r\n }}\r\n />\r\n \r\n
\r\n
\r\n { setVisualizarTudoSolicitacao(!visualizarTudoSolicitacao) }}\r\n checked={visualizarTudoSolicitacao}\r\n />\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {\r\n\r\n let sum = 0;\r\n let dataArr = ctx.chart.data.datasets[0].data;\r\n dataArr.map(data => {\r\n sum += data;\r\n });\r\n let percentage = (value * 100 / sum).toFixed(2) + \"%\";\r\n return percentage;\r\n },\r\n color: '#000',\r\n },\r\n title: {\r\n display: true,\r\n align: 'center',\r\n //text: 'Valor total dos subitens empenhados do cotrato por categoria (em reais) ',\r\n fontSize: 20\r\n },\r\n legend: {\r\n display: true,\r\n position: 'right',\r\n align: 'center'\r\n }\r\n }\r\n }}\r\n height={500}\r\n width={500}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n \r\n Gráfico de status de autorização\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Filtro de Data:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Data Inicial de Criação\r\n {\r\n setDataInicioAutorizacao(e != null ? e.target.value : null)\r\n }}\r\n />\r\n \r\n \r\n Data Final de Criação\r\n {\r\n setDataFinalAutorizacao(e != null ? e.target.value : null)\r\n }}\r\n />\r\n \r\n
\r\n
\r\n { setVisualizarTudoAutorizacao(!visualizarTudoAutorizacao) }}\r\n checked={visualizarTudoAutorizacao}\r\n />\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {\r\n\r\n let sum = 0;\r\n let dataArr = ctx.chart.data.datasets[0].data;\r\n dataArr.map(data => {\r\n sum += data;\r\n });\r\n let percentage = (value * 100 / sum).toFixed(2) + \"%\";\r\n return percentage;\r\n },\r\n color: '#000',\r\n },\r\n title: {\r\n display: true,\r\n align: 'center',\r\n //text: 'Valor total dos subitens empenhados do cotrato por categoria (em reais) ',\r\n fontSize: 20\r\n },\r\n legend: {\r\n display: true,\r\n position: 'right',\r\n align: 'center'\r\n }\r\n }\r\n }}\r\n height={500}\r\n width={500}\r\n />\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n Gráfico de status de medição\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Filtro de Data:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Data Inicial de Criação\r\n {\r\n setDataInicioMedicao(e != null ? e.target.value : null)\r\n }}\r\n />\r\n \r\n \r\n Data Final de Criação\r\n {\r\n setDataFinalMedicao(e != null ? e.target.value : null)\r\n }}\r\n />\r\n \r\n
\r\n
\r\n { setVisualizarTudoMedicao(!visualizarTudoMedicao) }}\r\n checked={visualizarTudoMedicao}\r\n />\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {\r\n\r\n let sum = 0;\r\n let dataArr = ctx.chart.data.datasets[0].data;\r\n dataArr.map(data => {\r\n sum += data;\r\n });\r\n let percentage = (value * 100 / sum).toFixed(2) + \"%\";\r\n return percentage;\r\n },\r\n color: '#000',\r\n },\r\n title: {\r\n display: true,\r\n align: 'center',\r\n //text: 'Valor total dos subitens empenhados do cotrato por categoria (em reais) ',\r\n fontSize: 20\r\n },\r\n legend: {\r\n display: true,\r\n position: 'right',\r\n align: 'center'\r\n }\r\n }\r\n }}\r\n height={500}\r\n width={500}\r\n />\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n \r\n Gráfico de subitens medidos e empenhados por contrato (em reais)\r\n \r\n
\r\n
\r\n \r\n {\r\n\r\n let sum = 0;\r\n let dataArr = ctx.chart.data.datasets[0].data;\r\n dataArr.map(data => {\r\n sum += data;\r\n });\r\n let percentage = (value * 100 / sum).toFixed(2) + \"%\";\r\n return percentage;\r\n },\r\n color: '#000',\r\n },\r\n title: {\r\n display: true,\r\n align: 'center',\r\n //text: 'Gráfico de subitens medidos e empenhados por contrato (em reais) ',\r\n fontSize: 60\r\n },\r\n legend: {\r\n display: true,\r\n position: 'right',\r\n align: 'center'\r\n }\r\n }\r\n }}\r\n height={500}\r\n width={500}\r\n ref={input => {\r\n chartInstance = input;\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {/*\r\n
\r\n \r\n Gráfico do valor total dos subitens empenhados do cotrato por categoria (em reais)\r\n \r\n
\r\n
\r\n \r\n {\r\n\r\n let sum = 0;\r\n let dataArr = ctx.chart.data.datasets[0].data;\r\n dataArr.map(data => {\r\n sum += data;\r\n });\r\n let percentage = (value * 100 / sum).toFixed(2) + \"%\";\r\n return percentage;\r\n },\r\n color: '#000',\r\n },\r\n title: {\r\n display: true,\r\n align: 'center',\r\n //text: 'Valor total dos subitens empenhados do cotrato por categoria (em reais) ',\r\n fontSize: 20\r\n },\r\n legend: {\r\n display: true,\r\n position: 'right',\r\n align: 'center'\r\n }\r\n }\r\n }}\r\n height={500}\r\n width={500}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
*/}\r\n \r\n\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n Gráfico do valor total empenhado no contrato por mês - Gráfico do valor total empenhado no contrato por região\r\n \r\n
\r\n \r\n \r\n\r\n \r\n
\r\n
\r\n {\r\n\r\n if (context.chart._hiddenIndices[y] != true) {\r\n sumTotal += data;\r\n }\r\n\r\n });\r\n\r\n label += context.formattedValue;\r\n }\r\n\r\n return label;\r\n\r\n }, afterLabel: function (context) {\r\n\r\n let sumTotal = 0.0;\r\n\r\n if (context.parsed.y !== null) {\r\n\r\n let dataArr = context.chart.data.datasets[0].data;\r\n\r\n dataArr.map((data, y) => {\r\n\r\n if (context.chart._hiddenIndices[y] != true) {\r\n sumTotal += data;\r\n }\r\n\r\n });\r\n }\r\n\r\n sumTotal = sumTotal.toLocaleString();;\r\n\r\n return `total: ${sumTotal}`;\r\n }\r\n },\r\n },\r\n title: {\r\n display: true,\r\n align: 'center',\r\n //text: '',\r\n fontSize: 20\r\n },\r\n legend: {\r\n display: true,\r\n position: 'right',\r\n align: 'center'\r\n }, datalabels: {\r\n formatter: (value, ctx) => {\r\n\r\n let sum = 0.0;\r\n //let sumTotal = 0.0;\r\n let dataArr = ctx.chart.data.datasets[0].data;\r\n\r\n dataArr.map((data, y) => {\r\n\r\n sum += data;\r\n\r\n /*if (ctx.chart._hiddenIndices[y] != true) {\r\n sumTotal += data;\r\n }*/\r\n\r\n });\r\n\r\n //setValorTotalMes(sumTotal);\r\n\r\n let percentage = (value * 100 / sum).toFixed(2) + \"%\";\r\n return percentage;\r\n\r\n },\r\n color: '#000',\r\n }\r\n }\r\n }}\r\n height={500}\r\n width={500}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n {\r\n let sum = 0;\r\n let dataArr = ctx.chart.data.datasets[0].data;\r\n dataArr.map(data => {\r\n sum += data;\r\n });\r\n let percentage = (value * 100 / sum).toFixed(2) + \"%\";\r\n return percentage;\r\n },\r\n color: '#000',\r\n }, tooltip: {\r\n callbacks: {\r\n label: function (context) {\r\n\r\n let label = context.label;\r\n\r\n if (label) {\r\n label += ': ';\r\n }\r\n\r\n if (context.parsed.y !== null) {\r\n\r\n let sumTotal = 0.0;\r\n let dataArr = context.chart.data.datasets[0].data;\r\n\r\n dataArr.map((data, y) => {\r\n\r\n if (context.chart._hiddenIndices[y] != true) {\r\n sumTotal += data;\r\n }\r\n\r\n });\r\n\r\n label += context.formattedValue;\r\n }\r\n\r\n return label;\r\n\r\n }, afterLabel: function (context) {\r\n\r\n let sumTotal = 0.0;\r\n\r\n if (context.parsed.y !== null) {\r\n\r\n let dataArr = context.chart.data.datasets[0].data;\r\n\r\n dataArr.map((data, y) => {\r\n\r\n if (context.chart._hiddenIndices[y] != true) {\r\n sumTotal += data;\r\n }\r\n\r\n });\r\n }\r\n\r\n sumTotal = sumTotal.toLocaleString();\r\n return `Total: ${sumTotal}`;\r\n }\r\n },\r\n },\r\n }\r\n }}\r\n height={500}\r\n width={500}\r\n />\r\n\r\n
\r\n
\r\n \r\n
\r\n {\r\n /*\r\n \r\n \r\n Total Mês\r\n \r\n \r\n \r\n Total Regiõ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 Gráfico de Obras e Intervenções de IP por Mês\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Filtro de Ano:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n { e ? setAno(e.value) : setAno([]) }}\r\n />\r\n
\r\n { setVisualizarTudoObras(!visualizarTudoObras) }}\r\n checked={visualizarTudoObras}\r\n />\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {\r\n\r\n let sum = 0;\r\n let dataArr = ctx.chart.data.datasets[0].data;\r\n dataArr.map(data => {\r\n sum += data;\r\n });\r\n let percentage = (value * 100 / sum).toFixed(2) + \"%\";\r\n return percentage;\r\n },\r\n color: '#000',\r\n },\r\n title: {\r\n display: true,\r\n align: 'center',\r\n //text: 'Valor total dos subitens empenhados do cotrato por categoria (em reais) ',\r\n fontSize: 20\r\n },\r\n legend: {\r\n display: true,\r\n position: 'right',\r\n align: 'center'\r\n }\r\n }\r\n }}\r\n height={500}\r\n width={500}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n \r\n Gráfico de Manutenções por Mês\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n Filtro de Ano:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n { e ? setAnoManutencoes(e.value) : setAnoManutencoes([]) }}\r\n />\r\n
\r\n { setVisualizarTudoManutencoes(!visualizarTudoManutencoes) }}\r\n checked={visualizarTudoManutencoes}\r\n />\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {\r\n\r\n let sum = 0;\r\n let dataArr = ctx.chart.data.datasets[0].data;\r\n dataArr.map(data => {\r\n sum += data;\r\n });\r\n let percentage = (value * 100 / sum).toFixed(2) + \"%\";\r\n return percentage;\r\n },\r\n color: '#000',\r\n },\r\n title: {\r\n display: true,\r\n align: 'center',\r\n //text: 'Valor total dos subitens empenhados do cotrato por categoria (em reais) ',\r\n fontSize: 20\r\n },\r\n legend: {\r\n display: true,\r\n position: 'right',\r\n align: 'center'\r\n },\r\n tooltip: {\r\n callbacks: {\r\n label: function (context) {\r\n\r\n let label = context.label;\r\n\r\n if (label) {\r\n label += ' (Total): ';\r\n }\r\n\r\n if (context.parsed.y !== null) {\r\n\r\n let sumTotal = 0.0;\r\n let dataArr = context.chart.data.datasets[0].data;\r\n\r\n dataArr.map((data, y) => {\r\n\r\n if (context.chart._hiddenIndices[y] != true) {\r\n sumTotal += data;\r\n }\r\n\r\n });\r\n\r\n label += context.formattedValue;\r\n }\r\n\r\n return label;\r\n\r\n }, afterLabel: function (context) {\r\n\r\n var labelCompleta = \"\";\r\n var comparativoMes = [];\r\n\r\n if(manutencoesPorMesLegenda){\r\n let listaDescricao = manutencoesPorMesLegenda.map(x => \r\n x.filter(p => p.regiao.descricao == context.label));\r\n \r\n if (context.parsed !== null) {\r\n\r\n listaDescricao.map((data, y) => {\r\n \r\n if(data.length > 0){\r\n if (context.chart._hiddenIndices[y] != true) {\r\n var somaMes = 0.0;\r\n data.map((w, q) => {\r\n if(comparativoMes.length == 0 || comparativoMes.filter(b => b == w.idMes).length == 0){\r\n if(data.filter(d => d.idMes == w.idMes).length > 1){\r\n data.filter(d => d.idMes == w.idMes).map(v => {\r\n somaMes += v.valor;\r\n });\r\n\r\n comparativoMes = [...comparativoMes, w.idMes];\r\n\r\n if(data.length > listaMeses.length){\r\n labelCompleta += w.meses.descricao + \"= \" + `${somaMes.toFixed(2)}` + \"\\n\";\r\n somaMes = 0.0;\r\n }\r\n }\r\n else{\r\n labelCompleta += w.meses.descricao + \"= \" + `${w.valor.toFixed(2)}` + \"\\n\";\r\n comparativoMes = [...comparativoMes, w.idMes];\r\n }\r\n }\r\n })\r\n }\r\n }\r\n \r\n });\r\n }\r\n\r\n }\r\n\r\n return `${labelCompleta}`;\r\n }\r\n },\r\n },\r\n }\r\n }}\r\n height={500}\r\n width={500}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n : 'No momento você não possui um contrato como preferêcia.'\r\n }\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n );\r\n}\r\n","export default \"data:image/png;base64,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\"","import { Button } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport brokenCellphone from '../../assets/broken-cellphone.png';\r\n\r\nexport default function Erro() {\r\n return (\r\n
\r\n\r\n

Ops! Um erro da nossa parte ocorreu.

\r\n
\r\n img\r\n
\r\n\r\n

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

\r\n

\r\n {`Esse evento de erro já foi registrado e em breve nossos engenheiros serão notificados. Se preferir, use nossa\r\n ferramenta de suporte (em breve) para notificar nossa equipe imediatamente.`}\r\n
\r\n

\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n )\r\n}","export function ListarUsuarioRequest() {\r\n return {\r\n type: 'LISTAR_USUARIO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarUsuarioResponse(listaUsuario) {\r\n return {\r\n type: 'LISTAR_USUARIO_RESPONSE',\r\n listaUsuario\r\n }\r\n}\r\n\r\nexport function BuscarUsuarioPorIdRequest(id) {\r\n return {\r\n type: 'BUSCAR_USUARIO_POR_ID_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function BuscarUsuarioPorIdResponse(usuario) {\r\n return {\r\n type: 'BUSCAR_USUARIO_POR_ID_RESPONSE',\r\n usuario\r\n }\r\n}\r\n\r\nexport function InserirUsuarioRequest(data, usuarioFornecedor) {\r\n return {\r\n type: 'INSERIR_USUARIO_REQUEST',\r\n data,\r\n usuarioFornecedor\r\n }\r\n}\r\n\r\nexport function AlterarUsuarioRequest(data, usuarioFornecedor) {\r\n return {\r\n type: 'ALTERAR_USUARIO_REQUEST',\r\n data,\r\n usuarioFornecedor\r\n }\r\n}\r\n\r\nexport function InserirNovaSenhaRequest(email) {\r\n return {\r\n type: 'INSERIR_NOVA_SENHA_REQUEST',\r\n email\r\n }\r\n}\r\n\r\nexport function InserirNovaSenhaResponse(senha) {\r\n return {\r\n type: 'INSERIR_NOVA_SENHA_RESPONSE',\r\n senha\r\n }\r\n}\r\n\r\nexport function InserirNovaSenhaPageUsuarioRequest(email) {\r\n return {\r\n type: 'INSERIR_NOVA_SENHA_PAGE_USUARIO_REQUEST',\r\n email\r\n }\r\n}\r\n\r\nexport function LoginUsuarioRequest(data) {\r\n return {\r\n type: 'LOGIN_USUARIO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function LoginUsuarioResponse(usuario) {\r\n return {\r\n type: 'LOGIN_USUARIO_RESPONSE',\r\n usuario\r\n }\r\n}\r\n\r\nexport function LoginUsuarioFail() {\r\n return {\r\n type: 'LOGIN_USUARIO_FAIL'\r\n }\r\n}\r\n\r\nexport function AtivarUsuarioRequest(data) {\r\n return {\r\n type: 'ATIVAR_USUARIO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function VerificarAtivacaoRequest(id) {\r\n return {\r\n type: 'VERIFICAR_ATIVACAO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function LimparUsuarioRequest() {\r\n return {\r\n type: 'LIMPAR_USUARIO_REQUEST',\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}\r\n\r\n","import { Modal, Button, Form } from \"react-bootstrap\";\r\nimport { useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { InserirNovaSenhaRequest } from '../../store/modules/usuario/actions';\r\n\r\nexport default function ModalEsqueceuSenha({show, onHide}) {\r\n\r\n const dispatch = useDispatch();\r\n \r\n const [email, setEmail] = useState(\"\");\r\n\r\n function NovaSenha(){\r\n \r\n dispatch(InserirNovaSenhaRequest(email));\r\n setEmail(\"\");\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n Esqueceu a senha\r\n \r\n \r\n \r\n \r\n Email\r\n setEmail(e.target.value)} \r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","export default __webpack_public_path__ + \"static/media/img_login.fe52da7e.png\";","import { Form, Button, Container, Row, Col, InputGroup } from 'react-bootstrap'\r\nimport { LoginUsuarioRequest } from '../../../store/modules/usuario/actions';\r\nimport { useDispatch } from 'react-redux';\r\nimport { useState } from 'react';\r\nimport { toast } from 'react-toastify';\r\nimport { IoEyeSharp } from \"react-icons/io5\";\r\nimport ModalEsqueceuSenha from '../../../components/ModalEsqueceuSenha/modalEsqueceuSenha';\r\nimport img from '../../../assets/login/img_login.png';\r\nimport './login.css';\r\n\r\nexport default function Login() {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const [Email, setEmail] = useState('');\r\n const [Senha, setSenha] = useState('');\r\n\r\n const [modalShow, setModalShow] = useState(false);\r\n\r\n function Login(e) {\r\n e.preventDefault();\r\n\r\n if (Email === '' || Senha === '') {\r\n toast.error('Ops, é necessário preencher todos os campos');\r\n return;\r\n }\r\n\r\n var data = {\r\n 'Email': Email,\r\n 'Senha': Senha\r\n }\r\n\r\n dispatch(LoginUsuarioRequest(data));\r\n }\r\n\r\n function EsqueceuSenha() {\r\n setModalShow(true);\r\n }\r\n\r\n function VerSenha() {\r\n let input = document.getElementById('password');\r\n if (input.getAttribute('type') == 'password') {\r\n input.setAttribute('type', 'text');\r\n } else {\r\n input.setAttribute('type', 'password');\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n img\r\n \r\n \r\n \r\n Login\r\n
\r\n \r\n Email\r\n setEmail(e.target.value)} />\r\n \r\n \r\n Senha\r\n\r\n \r\n \r\n setSenha(e.target.value)}\r\n id=\"password\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Esqueci a senha\r\n
\r\n
\r\n \r\n
\r\n setModalShow(false)}\r\n />\r\n
\r\n \r\n\r\n\r\n )\r\n}","export function ListarGrupoAcessoRequest(){\r\n return {\r\n type: 'LISTAR_GRUPO_ACESSO_REQUEST'\r\n }\r\n }\r\n \r\n\r\nexport function ListarGrupoAcessoResponse(listaGrupoAcesso){\r\n return {\r\n type: 'LISTAR_GRUPO_ACESSO_RESPONSE',\r\n listaGrupoAcesso\r\n }\r\n}\r\n\r\nexport function InserirGrupoAcessoRequest(data){\r\n return {\r\n type: 'INSERIR_GRUPO_ACESSO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarGrupoAcessoRequest(data){\r\n return {\r\n type: 'ALTERAR_GRUPO_ACESSO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirGrupoAcessoRequest(id){\r\n return {\r\n type: 'EXCLUIR_GRUPO_ACESSO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}\r\n","import MaterialTable, { MaterialTableProps } from \"material-table\";\r\nimport { TablePagination, TablePaginationProps } from \"@material-ui/core\";\r\n\r\nexport function PatchedPagination(props) {\r\n\tconst {\r\n\t\tActionsComponent,\r\n\t\tonChangePage,\r\n\t\tonChangeRowsPerPage,\r\n\t\t...tablePaginationProps\r\n\t} = props;\r\n\r\n\treturn (\r\n\t\t {\r\n\t\t\t\tconst { onPageChange, ...actionsComponentProps } = subprops;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t// @ts-expect-error ActionsComponent is provided by material-table\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 { useEffect, useState } from \"react\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Row, Col, Card, Button } from \"react-bootstrap\";\r\nimport { MdGroups } from 'react-icons/md';\r\nimport {\r\n ListarGrupoAcessoRequest, ExcluirGrupoAcessoRequest,\r\n InserirGrupoAcessoRequest, AlterarGrupoAcessoRequest\r\n} from '../../../store/modules/grupoAcesso/actions';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport MaterialTable from 'material-table';\r\nimport './listar.css';\r\nimport { toast } from \"react-toastify\";\r\nimport { FaPlus } from \"react-icons/fa\";\r\n\r\nimport Loading from \"../../../components/Loading/loading\";\r\n\r\nexport default function Listar() {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const listaGrupoAcesso = useSelector(state => state.grupoAcesso.listaGrupoAcesso);\r\n const carregando = useSelector(state => state.grupoAcesso.carregando);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n //Permissão de Visualizar\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n useEffect(() => {\r\n if (token.role.filter(r => r == \"GrupoAcessoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(ListarGrupoAcessoRequest());\r\n }, [])\r\n\r\n function ValidacoesInserir(grupo) {\r\n\r\n if (grupo.thNomeGrupo == null || grupo.thNomeGrupo == undefined\r\n || grupo.thNomeGrupo.length > 50 || grupo.thNomeGrupo.trim() == '') {\r\n toast.error(`Nome do grupo inválido`);\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function InserirGrupo(grupo) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'IdCliente': 1,\r\n 'NomeGrupo': grupo.thNomeGrupo.trim(),\r\n 'Ativo': true\r\n }\r\n\r\n dispatch(InserirGrupoAcessoRequest(data))\r\n }\r\n\r\n function AlterarGrupo(grupo) {\r\n\r\n let data = {\r\n 'Id': grupo.thIdGrupo,\r\n 'IdCliente': 1,\r\n 'NomeGrupo': grupo.thNomeGrupo.trim(),\r\n 'Ativo': true\r\n }\r\n\r\n dispatch(AlterarGrupoAcessoRequest(data))\r\n }\r\n\r\n function ExcluirGrupo(id) {\r\n dispatch(ExcluirGrupoAcessoRequest(id));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Grupos\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregando ?\r\n\r\n {\r\n if (rowData.thNomeGrupo === undefined || rowData.thNomeGrupo.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n }\r\n else if (rowData.thNomeGrupo.trim().length > 50) {\r\n return \"O nome não pode conter mais que 50 caracteres\"\r\n }\r\n return true\r\n }, cellStyle: { width: '80%' }\r\n },\r\n ]}\r\n data={\r\n listaGrupoAcesso != undefined ?\r\n listaGrupoAcesso.map(grupo => {\r\n return {\r\n thIdGrupo: grupo.id,\r\n thNomeGrupo: grupo.nomeGrupo,\r\n }\r\n })\r\n :\r\n []\r\n }\r\n editable={{\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n InserirGrupo(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n }),\r\n\r\n onRowUpdate: (newRow, oldRow) => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AlterarGrupo(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n }),\r\n\r\n onRowDelete: oldData => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n ExcluirGrupo(oldData.thIdGrupo);\r\n resolve()\r\n }, 1000)\r\n })\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n addRowPosition: \"first\",\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n actions={[\r\n {\r\n icon: 'key',\r\n tooltip: '',\r\n onClick: (event, rowData) => { history.push(`/permissoesGrupo/${rowData.thIdGrupo}`); }\r\n }\r\n ]}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\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 { Row, Col, Card, Button, } from \"react-bootstrap\";\r\nimport { MdOutlinePerson } from 'react-icons/md'\r\nimport { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { FaSearchPlus } from \"react-icons/fa\";\r\nimport { ListarUsuarioRequest, LimparUsuarioRequest } from '../../../store/modules/usuario/actions';\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport MaterialTable from 'material-table';\r\nimport Header from \"../../../components/Header/header\";\r\nimport './listar.css';\r\nimport { toast } from \"react-toastify\";\r\nimport Select from 'react-select';\r\n\r\nexport default function Listar() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const listaUsuario = useSelector(state => state.usuario.listaUsuario);\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n //Permissão de Visualizar\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarUsuarioRequest());\r\n dispatch(LimparUsuarioRequest());\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (token.role.filter(r => r == \"UsuarioVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, [])\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Usuários\r\n \r\n \r\n \r\n
\r\n \r\n \r\n }\r\n columns={[\r\n {\r\n title: \"Número Usuário\", field: 'id', editable: 'never', defaultSort: 'asc', cellStyle: {\r\n width: '10%',\r\n\r\n }\r\n },\r\n {\r\n title: \"Nome\", field: 'nome', cellStyle: {\r\n width: '24%'\r\n }\r\n },\r\n {\r\n title: \"Email\", field: 'email', cellStyle: {\r\n width: '24%'\r\n }\r\n },\r\n {\r\n title: \"Grupo\", field: 'grupoAcesso', cellStyle: {\r\n width: '14%'\r\n }\r\n },\r\n {\r\n title: \"Fornecedor/Cliente\", field: 'usuarioFornecedor', cellStyle: {\r\n width: '14%'\r\n }\r\n },\r\n {\r\n title: \"Status\", field: 'status', cellStyle: {\r\n width: '14%'\r\n }\r\n },\r\n {\r\n title: \"Usuário Validado\", field: 'validado', cellStyle: {\r\n width: '14%'\r\n },\r\n }\r\n ]}\r\n data={\r\n listaUsuario != undefined ?\r\n listaUsuario.map(usuario => {\r\n return {\r\n id: usuario.id,\r\n nome: usuario.nome,\r\n email: usuario.email,\r\n grupoAcesso: usuario.grupoAcesso.nomeGrupo,\r\n status: usuario.ativo ? 'Ativado' : 'Desativado',\r\n usuarioFornecedor: usuario.usuarioFornecedor ? 'Fornecedor' : 'Cliente',\r\n validado: usuario.validado ? 'Sim' : 'Não',\r\n }\r\n })\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 20, 30, 50],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n {\r\n icon: () => ,\r\n tooltip: '',\r\n onClick: (event, rowData) => { history.push(`/alterarusuario/${rowData.id}`); }\r\n }\r\n ]}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n}","export function ListarGrupoFuncaoAcessoRequest(id) {\r\n return {\r\n type: 'LISTAR_GRUPO_FUNCAO_ACESSO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ListarGrupoFuncaoAcessoResponse(listaGrupoFuncaoAcesso) {\r\n return {\r\n type: 'LISTAR_GRUPO_FUNCAO_ACESSO_RESPONSE',\r\n listaGrupoFuncaoAcesso\r\n }\r\n}\r\n\r\nexport function AlterarGrupoFuncaoAcessoRequest(data) {\r\n return {\r\n type: 'ALTERAR_GRUPO_FUNCAO_ACESSO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import Header from \"../../../components/Header/header\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { Table, Thead, Tbody, Tr, Th, Td } from 'react-super-responsive-table';\r\nimport { Card, Col, Row, Form } from \"react-bootstrap\";\r\nimport { BsFillGearFill } from 'react-icons/bs'\r\nimport { ListarGrupoFuncaoAcessoRequest, AlterarGrupoFuncaoAcessoRequest } from '../../../store/modules/grupoFuncaoAcesso/actions';\r\nimport { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { toast } from \"react-toastify\";\r\nimport 'react-super-responsive-table/dist/SuperResponsiveTableStyle.css';\r\nimport './permissao.css'\r\n\r\nexport default function Permissao() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const listaGrupoFuncaoAcesso = useSelector(state => state.grupoFuncaoAcesso.listaGrupoFuncaoAcesso);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [alterar, setAlterar] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"GrupoAcessoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n if (token.role.filter(r => r == \"AuxiliaresAlterar\").length == 1) {\r\n setAlterar(true);\r\n } \r\n\r\n }, []) \r\n\r\n useEffect(() => {\r\n dispatch(ListarGrupoFuncaoAcessoRequest(id));\r\n }, [])\r\n\r\n function changeCheckedGrupo(e, index, grupo) {\r\n\r\n let listaPermissoes = listaGrupoFuncaoAcesso;\r\n\r\n var data = {\r\n 'Id': listaPermissoes[index].id,\r\n 'IdGrupo': listaPermissoes[index].idGrupo,\r\n 'IdFuncao': listaPermissoes[index].idFuncao,\r\n 'Visualizar': listaPermissoes[index].visualizar,\r\n 'Criar': listaPermissoes[index].criar,\r\n 'Alterar': listaPermissoes[index].alterar,\r\n 'Excluir': listaPermissoes[index].excluir,\r\n 'Relatorio': listaPermissoes[index].relatorio,\r\n 'Exportar': listaPermissoes[index].exportar,\r\n 'VerValores': listaPermissoes[index].verValores,\r\n 'PadraoAba': listaPermissoes[index].padraoAba,\r\n 'Menu': listaPermissoes[index].menu\r\n }\r\n\r\n switch (grupo) {\r\n case 'Criar/Alterar':\r\n data.Criar = !data.Criar; \r\n data.Alterar = data.Criar;\r\n dispatch(AlterarGrupoFuncaoAcessoRequest(data)); \r\n break;\r\n case 'Excluir':\r\n data.Excluir = !data.Excluir;\r\n dispatch(AlterarGrupoFuncaoAcessoRequest(data));\r\n break;\r\n case 'VerValores':\r\n data.VerValores = !data.VerValores; \r\n data.Relatorio = data.VerValores\r\n data.Visualizar = data.VerValores \r\n data.Exportar = data.VerValores\r\n dispatch(AlterarGrupoFuncaoAcessoRequest(data));\r\n break;\r\n case 'TodasOperacoes':\r\n data.Criar = e.target.checked; \r\n data.Alterar = e.target.checked; \r\n data.Excluir = e.target.checked; \r\n dispatch(AlterarGrupoFuncaoAcessoRequest(data));\r\n break; \r\n case 'Menu': \r\n data.Menu = e.target.checked; \r\n dispatch(AlterarGrupoFuncaoAcessoRequest(data));\r\n break; \r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Permissões do grupo\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listaGrupoFuncaoAcesso != undefined ?\r\n listaGrupoFuncaoAcesso.map((permissao, index) => (\r\n \r\n permissao.padraoAba == 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 \r\n \r\n \r\n\r\n ))\r\n :\r\n null\r\n }\r\n \r\n
#PermissãoCriar/AlterarExcluirVisualizarVisualizar MenuTodas Operações
{permissao.id}{permissao.funcaoAcesso.funcao} \r\n changeCheckedGrupo(e, index, 'TodasOperacoes')} /> \r\n \r\n changeCheckedGrupo(e, index, 'TodasOperacoes')} /> \r\n \r\n changeCheckedGrupo(e, index, 'VerValores')} />\r\n \r\n changeCheckedGrupo(e, index, 'Menu')} />\r\n \r\n changeCheckedGrupo(e, index, 'TodasOperacoes')} />\r\n
{permissao.id}{permissao.funcaoAcesso.funcao}\r\n changeCheckedGrupo(e, index, 'Criar/Alterar')} />\r\n \r\n changeCheckedGrupo(e, index, 'Excluir')} />\r\n \r\n changeCheckedGrupo(e, index, 'VerValores')} />\r\n \r\n changeCheckedGrupo(e, index, 'Menu')} />\r\n \r\n changeCheckedGrupo(e, index, 'TodasOperacoes')} /> \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n}","export function AtualizarPerfilRequest(data) {\r\n return {\r\n type: 'ATUALIZAR_PERFIL_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AtualizarPerfilResponse(data) {\r\n return {\r\n type: 'ATUALIZAR_PERFIL_RESPONSE',\r\n data\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","\r\nexport function ListarMunicipiosRequest() {\r\n return {\r\n type: 'LISTAR_MUNICIPIO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarMunicipioResponse(listaMunicipio) {\r\n return {\r\n type: 'LISTAR_MUNICIPIO_RESPONSE',\r\n listaMunicipio\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { Card, Button, Container, Row, Col, Form, InputGroup } from \"react-bootstrap\";\r\nimport { MdPermIdentity } from 'react-icons/md'\r\nimport { IoEyeSharp } from \"react-icons/io5\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { AtualizarPerfilRequest } from '../../../store/modules/perfil/actions';\r\nimport { ListarMunicipiosRequest } from \"../../../store/modules/municipio/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport InputMask from \"react-input-mask\";\r\nimport './perfil.css';\r\n\r\nexport default function Perfil() {\r\n\r\n const dispatch = useDispatch();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const listaMunicipio = useSelector(state => state.municipio.listaMunicipio);\r\n\r\n const [nome, setNome] = useState(usuario.nome);\r\n const [email] = useState(usuario.email);\r\n const [ddd, setDdd] = useState(usuario.ddd);\r\n const [telefone, setTelefone] = useState(usuario.telefone);\r\n const [cep, setCep] = useState(usuario.cep);\r\n const [logradouro, setLogradouro] = useState(usuario.logradouro);\r\n const [numero, setNumero] = useState(usuario.numero);\r\n const [complemento, setComplemento] = useState(usuario.complemento);\r\n const [bairro, setBairro] = useState(usuario.bairro);\r\n const [municipio, setMunicipio] = useState(usuario.idMunicipio);\r\n const [senha, setSenha] = useState(usuario.senha);\r\n const [confirmarSenha, setConfirmaSenha] = useState(usuario.senha);\r\n const [cargo, setCargo] = useState(usuario.cargo);\r\n const [historicoFiltro, setHistoricoFiltro] = useState(usuario.historicoFiltro);\r\n\r\n const [validated, setValidated] = useState(false);\r\n\r\n function AlterarPerfil(e) {\r\n e.preventDefault();\r\n\r\n if (senha !== confirmarSenha) {\r\n toast.error('As senhas são diferentes');\r\n return;\r\n }\r\n\r\n if (!validaSenha(senha)) {\r\n toast.error('Senha precisar conter letras maiúsculas, minúsculas, caracteres especiais e mínimo 8 digitos');\r\n return;\r\n }\r\n\r\n usuario.nome = nome;\r\n usuario.email = email;\r\n usuario.ddd = ddd;\r\n usuario.telefone = telefone;\r\n usuario.cep = cep;\r\n usuario.logradouro = logradouro;\r\n usuario.numero = numero;\r\n usuario.complemento = complemento;\r\n usuario.bairro = bairro;\r\n usuario.municipio = municipio;\r\n usuario.senha = senha;\r\n usuario.apiRefreshToken = '0';\r\n usuario.cargo = cargo;\r\n usuario.historicoFiltro = historicoFiltro;\r\n\r\n dispatch(AtualizarPerfilRequest(usuario));\r\n }\r\n\r\n function validaSenha(senha) {\r\n const senhaRegex = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,20}$/\r\n return senhaRegex.test(String(senha))\r\n }\r\n\r\n useEffect(() => {\r\n CarregarMunicipios();\r\n })\r\n\r\n function CarregarMunicipios() {\r\n dispatch(ListarMunicipiosRequest());\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n\r\n const form = event.currentTarget;\r\n\r\n if (form.checkValidity() === false || ValidaTelefone() === false\r\n || ValidaDdd() === false || ValidaCep() === false) {\r\n event.preventDefault();\r\n } else {\r\n AlterarPerfil(event);\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n function ValidaDdd() {\r\n const dddRegex = /^\\d{2}$/;\r\n if (dddRegex.test(String(ddd))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidaTelefone() {\r\n const telefoneRegex = /^\\d{1}\\d{4} \\d{4}$/;\r\n const telefoneRegex2 = /^\\d{1}\\d{4}\\d{4}$/;\r\n\r\n if (telefoneRegex.test(String(telefone)) || telefoneRegex2.test(String(telefone))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidaCep() {\r\n const cepRegex = /^\\d{2}.\\d{3}-\\d{3}$/;\r\n if (cepRegex.test(String(cep))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function VerSenha() {\r\n let input = document.getElementById('formSenha');\r\n if (input.getAttribute('type') == 'password') {\r\n input.setAttribute('type', 'text');\r\n } else {\r\n input.setAttribute('type', 'password');\r\n }\r\n }\r\n\r\n function VerSenha2() {\r\n let input = document.getElementById('formSenha2');\r\n if (input.getAttribute('type') == 'password') {\r\n input.setAttribute('type', 'text');\r\n } else {\r\n input.setAttribute('type', 'password');\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Meu perfil\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Nome\r\n setNome(e.target.value)}\r\n maxLength=\"100\"\r\n isInvalid={validated && nome === \"\" ? true : false}\r\n isValid={validated && nome !== \"\" ? true : false}\r\n required />\r\n O campo Nome é obrigatório.\r\n \r\n\r\n \r\n Email\r\n \r\n \r\n \r\n \r\n \r\n DDD\r\n setDdd(e.target.value)}\r\n required\r\n isInvalid={validated && !/^\\d{2}$/.test(String(ddd)) ? true : false}\r\n isValid={validated && /^\\d{2}$/.test(String(ddd)) ? true : false}\r\n />\r\n O campo DDD é obrigatório.\r\n\r\n \r\n\r\n \r\n\r\n Telefone
\r\n setTelefone(e.target.value)}\r\n required\r\n isInvalid={validated && !/^\\d{1}\\d{4} \\d{4}$/.test(String(telefone))\r\n && !/^\\d{1}\\d{4}\\d{4}$/.test(String(telefone)) ? true : false}\r\n isValid={validated && /^\\d{1}\\d{4} \\d{4}$/.test(String(telefone))\r\n || (validated && /^\\d{1}\\d{4}\\d{4}$/.test(String(telefone))) ? true : false} >\r\n \r\n O campo Telefone é obrigatório.\r\n
\r\n\r\n \r\n Cep
\r\n setCep(e.target.value)}\r\n required\r\n isInvalid={validated && !/^\\d{2}.\\d{3}-\\d{3}$/.test(String(cep)) ? true : false}\r\n isValid={validated && /^\\d{2}.\\d{3}-\\d{3}$/.test(String(cep)) ? true : false}>\r\n \r\n O campo Cep é obrigatório.\r\n
\r\n\r\n
\r\n \r\n \r\n Logradouro\r\n setLogradouro(e.target.value)}\r\n required\r\n isInvalid={validated && logradouro === \"\" ? true : false}\r\n isValid={validated && logradouro !== \"\" ? true : false} />\r\n O campo Logradouro é obrigatório.\r\n \r\n\r\n \r\n Número\r\n setNumero(e.target.value)}\r\n required\r\n isInvalid={validated && numero === \"\" ? true : false}\r\n isValid={validated && numero !== \"\" ? true : false} />\r\n O campo Número é obrigatório.\r\n \r\n\r\n \r\n Complemento\r\n setComplemento(e.target.value)}\r\n maxLength=\"250\" />\r\n \r\n \r\n \r\n \r\n Bairro\r\n setBairro(e.target.value)}\r\n required\r\n maxLength=\"100\"\r\n isInvalid={validated && bairro === \"\" ? true : false}\r\n isValid={validated && bairro !== \"\" ? true : false} />\r\n O campo Bairro é obrigatório.\r\n \r\n\r\n \r\n Município\r\n setMunicipio(e.target.value)}\r\n value={municipio}\r\n required\r\n isInvalid={validated && municipio === \"\" ? true : false}\r\n isValid={validated && municipio !== \"\" ? true : false}>\r\n \r\n {\r\n listaMunicipio != undefined ?\r\n listaMunicipio.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Município é obrigatório.\r\n \r\n \r\n \r\n \r\n Senha\r\n \r\n setSenha(e.target.value)}\r\n isInvalid={validated && !/^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,20}$/.test(String(senha))\r\n || validated && (senha !== confirmarSenha) ? true : false}\r\n isValid={validated && /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,20}$/.test(String(senha))\r\n || validated && (senha === confirmarSenha) ? true : false}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Confirmar Senha\r\n \r\n setConfirmaSenha(e.target.value)}\r\n isInvalid={validated && !/^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,20}$/.test(String(senha))\r\n || validated && (senha !== confirmarSenha) ? true : false}\r\n isValid={validated && /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,20}$/.test(String(senha))\r\n || validated && (senha === confirmarSenha) ? true : false}\r\n required \r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cargo\r\n setCargo(e.target.value)}\r\n required\r\n maxLength=\"150\"\r\n isInvalid={validated && cargo.trim() === \"\" ? true : false}\r\n isValid={validated && cargo.trim() !== \"\" ? true : false} />\r\n \r\n O campo Cargo é obrigatório.\r\n \r\n \r\n \r\n \r\n { setHistoricoFiltro(!historicoFiltro); }}\r\n checked={historicoFiltro}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \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 { Container, Row, Col, Button, Form, Card } from \"react-bootstrap\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { VerificarAtivacaoRequest, AtivarUsuarioRequest } from '../../../store/modules/usuario/actions';\r\nimport { useDispatch } from \"react-redux\";\r\nimport './ativacaoConta.css';\r\n\r\nexport default function AtivacaoConta() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const [codigo, setCodigo] = useState('');\r\n const [senha, setSenha] = useState('');\r\n const [confirmarSenha, setConfirmarSenha] = useState('');\r\n\r\n useEffect(() => {\r\n verificaAtivacao();\r\n }, [dispatch])\r\n\r\n function verificaAtivacao() {\r\n dispatch(VerificarAtivacaoRequest(id));\r\n }\r\n\r\n function validaSenha(senha) {\r\n const senhaRegex = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[^a-zA-Z0-9])(?!.*\\s).{8,20}$/\r\n return senhaRegex.test(String(senha))\r\n }\r\n\r\n function AtivarConta() {\r\n\r\n if (senha !== confirmarSenha) {\r\n toast.error('As senhas são diferentes');\r\n return;\r\n }\r\n\r\n if (!validaSenha(senha)) {\r\n toast.error('Senha precisar conter números, letras maiúsculas, minúsculas, caracteres especiais e mínimo 8 digitos');\r\n return;\r\n }\r\n\r\n let data = {\r\n 'IdUsuario': id,\r\n 'Senha': senha,\r\n 'CodigoAtivacao': codigo\r\n }\r\n\r\n dispatch(AtivarUsuarioRequest(data));\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n Ative sua conta e cadastre sua senha\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Código enviado para o E-mail\r\n setCodigo(e.target.value)} />\r\n \r\n \r\n \r\n \r\n Senha para acessar o site\r\n setSenha(e.target.value)} />\r\n \r\n\r\n \r\n Confirmar Senha\r\n setConfirmarSenha(e.target.value)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","export function ListarClienteRequest() {\r\n return {\r\n type: 'LISTAR_CLIENTE_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarClienteResponse(listaCliente) {\r\n return {\r\n type: 'LISTAR_CLIENTE_RESPONSE',\r\n listaCliente\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarTipoDocumentoRequest() {\r\n return {\r\n type: 'LISTAR_TIPO_DOCUMENTO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarTipoDocumentoResponse(listaTipoDocumento) {\r\n return {\r\n type: 'LISTAR_TIPO_DOCUMENTO_RESPONSE',\r\n listaTipoDocumento\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarFornecedorRequest() {\r\n return {\r\n type: 'LISTAR_FORNECEDOR_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarFornecedorResponse(listaFornecedor) {\r\n return {\r\n type: 'LISTAR_FORNECEDOR_RESPONSE',\r\n listaFornecedor\r\n }\r\n}\r\n\r\nexport function BuscarFornecedorPorIdRequest(id) {\r\n return {\r\n type: 'BUSCAR_FORNECEDOR_POR_ID_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function BuscarFornecedorPorIdResponse(fornecedorCompleto) {\r\n return {\r\n type: 'BUSCAR_FORNECEDOR_POR_ID_RESPONSE',\r\n fornecedorCompleto\r\n }\r\n}\r\n\r\nexport function InserirFornecedorRequest(data) {\r\n return {\r\n type: 'INSERIR_FORNECEDOR_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarFornecedorRequest(data) {\r\n return {\r\n type: 'ALTERAR_FORNECEDOR_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirFornecedorRequest(id) {\r\n return {\r\n type: 'EXCLUIR_FORNECEDOR_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarUsuarioFornecedorRequest() {\r\n return {\r\n type: 'LISTAR_USUARIO_FORNECEDOR_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarUsuarioFornecedorResponse(listaUsuarioFornecedor) {\r\n return {\r\n type: 'LISTAR_USUARIO_FORNECEDOR_RESPONSE',\r\n listaUsuarioFornecedor\r\n }\r\n}\r\n\r\nexport function ListarCompletoUsuarioFornecedorRequest(idUsuario) {\r\n return {\r\n type: 'LISTAR_COMPLETO_USUARIO_FORNECEDOR_REQUEST',\r\n idUsuario\r\n }\r\n}\r\n\r\nexport function InserirUsuarioFornecedorRequest(data) {\r\n return {\r\n type: 'INSERIR_USUARIO_FORNECEDOR_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarUsuarioFornecedorRequest(data) {\r\n return {\r\n type: 'ALTERAR_USUARIO_FORNECEDOR_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirUsuarioFornecedorRequest(id) {\r\n return {\r\n type: 'EXCLUIR_USUARIO_FORNECEDOR_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function RodarScriptTelefoneInteressado() {\r\n return {\r\n type: 'RODAR_SCRIPT_TELEFONE_INTERESSADO',\r\n }\r\n}\r\n\r\n\r\nexport function CriarTxt(text) {\r\n return {\r\n type: 'CRIAR_TXT',\r\n text\r\n }\r\n}\r\n\r\nexport function ErrorResponse(text) {\r\n return {\r\n type: 'ERROR_RESPONSE',\r\n text\r\n }\r\n}\r\n\r\nexport function BaixarDocumentoRequest(id) {\r\n return {\r\n type: 'BAIXAR_DOCUMENTO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function AtualizarToken() {\r\n return {\r\n type: 'ATUALIZAR_TOKEN'\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}\r\n","import { Container, Row, Form, Col, Card, Button, Modal } from \"react-bootstrap\";\r\nimport { MdOutlinePerson } from 'react-icons/md';\r\nimport { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { ListarMunicipiosRequest } from \"../../../store/modules/municipio/actions\";\r\nimport { ListarGrupoAcessoRequest } from '../../../store/modules/grupoAcesso/actions';\r\nimport { ListarClienteRequest } from '../../../store/modules/cliente/actions';\r\nimport { ListarTipoDocumentoRequest } from '../../../store/modules/tipoDocumento/actions';\r\nimport { InserirUsuarioRequest, BuscarUsuarioPorIdRequest, AlterarUsuarioRequest, InserirNovaSenhaPageUsuarioRequest } from '../../../store/modules/usuario/actions';\r\nimport { Link, useHistory, useParams } from \"react-router-dom\";\r\nimport { ListarFornecedorRequest } from \"../../../store/modules/fornecedor/actions\";\r\nimport { ListarContratoRequest } from \"../../../store/modules/contrato/actions\";\r\nimport { ListarCompletoUsuarioFornecedorRequest } from \"../../../store/modules/usuarioFornecedor/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport InputMask from \"react-input-mask\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport 'moment/locale/pt-br';\r\nimport moment from 'moment';\r\nimport { RodarScriptTelefoneInteressado } from \"../../../store/modules/global/actions\";\r\n\r\nexport default function Usuario() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const { id } = useParams();\r\n let [usuarioAtual] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const usuario = useSelector(state => state.usuario.usuario);\r\n const listaMunicipio = useSelector(state => state.municipio.listaMunicipio);\r\n const listaGrupoAcesso = useSelector(state => state.grupoAcesso.listaGrupoAcesso);\r\n const listaCliente = useSelector(state => state.cliente.listaCliente);\r\n const listaTipoDocumento = useSelector(state => state.tipoDocumento.listaTipoDocumento);\r\n const listaFornecedor = useSelector(state => state.fornecedor.listaFornecedor);\r\n const listaUsuarioFornecedor = useSelector(state => state.usuarioFornecedor.listaUsuarioFornecedor);\r\n const listaContrato = useSelector(state => state.contrato.listaContrato);\r\n const senha = useSelector(state => state.usuario.senha);\r\n\r\n const [nome, setNome] = useState('');\r\n const [username, setUsername] = useState('');\r\n const [cliente, setCliente] = useState('');\r\n const [grupoAcesso, setGrupoAcesso] = useState('');\r\n const [tipoDocumento, setTipoDocumento] = useState('');\r\n const [documento, setDocumento] = useState('');\r\n const [email, setEmail] = useState('');\r\n const [ddd, setDdd] = useState('');\r\n const [telefone, setTelefone] = useState('');\r\n const [cep, setCep] = useState('');\r\n const [logradouro, setLogradouro] = useState('');\r\n const [numero, setNumero] = useState('');\r\n const [complemento, setComplemento] = useState('');\r\n const [municipio, setMunicipio] = useState('');\r\n const [ativo, setAtivo] = useState(true);\r\n const [fornecedor, setFornecedor] = useState(true);\r\n const [idFornecedor, setIdFornecedor] = useState(0);\r\n const [idUsuarioFornecedor, setIdUsuarioFornecedor] = useState(0);\r\n const [bairro, setBairro] = useState('');\r\n const [preferencia, setPreferencia] = useState(true);\r\n const [idContrato, setIdContrato] = useState(0);\r\n const [cargo, setCargo] = useState('');\r\n const [historicoFiltro, setHistoricoFiltro] = useState(false);\r\n const [validarConta, setValidarConta] = useState(false);\r\n const [modalSenha, setModalSenha] = useState(false);\r\n\r\n const [validated, setValidated] = useState(false);\r\n const [validatedDocumento, setValidatedDocumento] = useState(true);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"UsuarioVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"UsuarioInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"UsuarioAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarContratoRequest());\r\n dispatch(ListarFornecedorRequest());\r\n\r\n if (id != undefined) {\r\n if (usuario == null || usuario.id != parseInt(id)) {\r\n dispatch(BuscarUsuarioPorIdRequest(id));\r\n dispatch(ListarCompletoUsuarioFornecedorRequest(id))\r\n }\r\n }\r\n\r\n\r\n dispatch(ListarMunicipiosRequest());\r\n dispatch(ListarGrupoAcessoRequest());\r\n dispatch(ListarClienteRequest());\r\n dispatch(ListarTipoDocumentoRequest());\r\n\r\n\r\n }, [usuario])\r\n\r\n useEffect(() => {\r\n\r\n if (id != null && usuario != null) {\r\n\r\n var ObjetoJsonPreferencias = JSON.parse(usuario.jsonPreferencias);\r\n\r\n setNome(usuario.nome);\r\n setUsername(usuario.userName);\r\n setCliente(usuario.idCliente);\r\n setGrupoAcesso(usuario.idGrupo);\r\n setTipoDocumento(usuario.idTipoDocumento);\r\n setDocumento(usuario.documento);\r\n setEmail(usuario.email);\r\n setDdd(usuario.ddd);\r\n setTelefone(usuario.telefone);\r\n setCep(usuario.cep);\r\n setLogradouro(usuario.logradouro);\r\n setNumero(usuario.numero);\r\n setComplemento(usuario.complemento);\r\n setMunicipio(usuario.idMunicipio);\r\n setBairro(usuario.bairro);\r\n setAtivo(usuario.ativo);\r\n setFornecedor(usuario.usuarioFornecedor);\r\n setCargo(usuario.cargo);\r\n setIdContrato(ObjetoJsonPreferencias.IdContrato);\r\n setHistoricoFiltro(usuario.historicoFiltro);\r\n setValidarConta(usuario.validado);\r\n\r\n }\r\n\r\n if (id != null && usuario != null && ObjetoJsonPreferencias != null && ObjetoJsonPreferencias.IdContrato == 0) {\r\n setPreferencia(false);\r\n }\r\n\r\n if (listaUsuarioFornecedor != undefined && listaUsuarioFornecedor.length > 0) {\r\n setIdFornecedor(listaUsuarioFornecedor[0].idFornecedor);\r\n setIdUsuarioFornecedor(listaUsuarioFornecedor[0].id);\r\n }\r\n\r\n }, [usuario, listaUsuarioFornecedor])\r\n\r\n\r\n function CadastrarUsuario(e) {\r\n\r\n e.preventDefault();\r\n\r\n //validação do campo Nome\r\n if (nome.trim() == '' || nome == null || nome == undefined) {\r\n toast.error(`Nome Inválido`);\r\n return;\r\n }\r\n if (nome.length > 100) {\r\n toast.error(`O Nome não pode conter mais que 100 caracteres`);\r\n return;\r\n }\r\n\r\n //validação do campo username\r\n if (username.trim() == ''\r\n || username == null || username == undefined) {\r\n toast.error(`Username Inválido`);\r\n return;\r\n }\r\n if (username.length > 100) {\r\n toast.error(`O campo \"username\" não pode conter mais que 100 caracteres`);\r\n return;\r\n }\r\n\r\n //validação do campo email\r\n if (email.trim() == ''\r\n || email == null || email == undefined) {\r\n toast.error(`Email Inválido`);\r\n return;\r\n }\r\n if (email.length > 150) {\r\n toast.error(`O email não pode conter mais que 150 caracteres`);\r\n return;\r\n }\r\n\r\n //validação do campo logradouro\r\n if (logradouro.trim() == ''\r\n || logradouro == null || logradouro == undefined) {\r\n toast.error(`Logradouro Inválido`);\r\n return;\r\n }\r\n if (logradouro.length > 150) {\r\n toast.error(`O logradouro não pode conter mais que 150 caracteres`);\r\n return;\r\n }\r\n\r\n //validação do campo numero\r\n if (numero.trim() == ''\r\n || numero == null || numero == undefined) {\r\n toast.error(`Numero Inválido`);\r\n return;\r\n }\r\n if (numero.length > 10) {\r\n toast.error(`O numero não pode conter mais que 10 caracteres`);\r\n return;\r\n }\r\n\r\n //validação do campo bairro\r\n if (bairro.trim() == ''\r\n || bairro == null || bairro == undefined) {\r\n toast.error(`Bairro Inválido`);\r\n return;\r\n }\r\n if (bairro.length > 100) {\r\n toast.error(`O bairro não pode conter mais que 100 caracteres`);\r\n return;\r\n }\r\n\r\n //validação do cargo\r\n if (cargo.trim() == '' || cargo == null || cargo == undefined) {\r\n toast.error(`Cargo Inválido`);\r\n return;\r\n }\r\n if (cargo.length > 150) {\r\n toast.error(`O Cargo não pode conter mais que 150 caracteres`);\r\n return;\r\n }\r\n\r\n var jsonString = JSON.stringify({ \"IdContrato\": idContrato }, null, ' ');\r\n\r\n var data = {\r\n 'Id': 0,\r\n 'IdCliente': cliente,\r\n 'Nome': nome.trim(),\r\n 'UserName': username,\r\n 'Senha': \"\",\r\n 'IdGrupo': grupoAcesso,\r\n 'VersaoMaiorUltimoAcesso': 0,\r\n 'VersaoMenorUltimoAcesso': 0,\r\n 'VersaoPatchUltimoAcesso': 0,\r\n 'ApiRefreshToken': '0',\r\n 'JsonPreferencias': jsonString.toString(),\r\n 'Salt1': \"\",\r\n 'Salt2': \"\",\r\n 'IdTipoDocumento': tipoDocumento,\r\n 'Documento': documento,\r\n 'Email': email,\r\n 'DDD': ddd,\r\n 'Telefone': telefone,\r\n 'Logradouro': logradouro,\r\n 'Numero': numero,\r\n 'Complemento': complemento,\r\n 'Bairro': bairro,\r\n 'Cep': cep,\r\n 'IdMunicipio': municipio,\r\n 'Ativo': ativo,\r\n 'DataAtivacao': moment((new Date())).add('hours', 2),\r\n 'DataInclusao': moment((new Date())).add('hours', 2),\r\n 'DataAlteracao': moment((new Date())).add('hours', 2),\r\n 'CodigoAtivacao': '',\r\n 'UsuarioFornecedor': fornecedor,\r\n 'Cargo': cargo,\r\n 'HistoricoFiltro': historicoFiltro,\r\n 'Validado': validarConta\r\n }\r\n\r\n var usuarioFornecedor = {\r\n Id: idUsuarioFornecedor,\r\n IdUsuario: id == undefined ? 0 : id,\r\n IdFornecedor: parseInt(idFornecedor)\r\n }\r\n\r\n if (id != null) {\r\n data.Id = usuario.id;\r\n data.Senha = usuario.senha;\r\n data.VersaoMaiorUltimoAcesso = usuario.versaoMaiorUltimoAcesso;\r\n data.VersaoMenorUltimoAcesso = usuario.versaoMenorUltimoAcesso;\r\n data.VersaoPatchUltimoAcesso = usuario.versaoPatchUltimoAcesso;\r\n data.ApiRefreshToken = usuario.apiRefreshToken;\r\n data.Salt1 = usuario.salt1;\r\n data.Salt2 = usuario.salt2;\r\n data.DataInclusao = usuario.dataInclusao;\r\n data.DataAlteracao = moment((new Date())).add('hours', 2);\r\n data.Ativo = ativo;\r\n if(usuario.validado !== validarConta){\r\n data.Validado = validarConta;\r\n data.DataAtivacao = moment((new Date())).add('hours', 2);\r\n }\r\n else{\r\n data.Validado = validarConta;\r\n data.DataAtivacao = usuario.DataAtivacao;\r\n }\r\n data.IdUsuarioAtual = usuarioAtual.id;\r\n if (usuario.cargo.trim() != '') {\r\n data.Cargo = usuario.cargo;\r\n }\r\n data.HistoricoFiltro = historicoFiltro;\r\n\r\n dispatch(AlterarUsuarioRequest(data, usuarioFornecedor));\r\n\r\n } else {\r\n dispatch(InserirUsuarioRequest(data, usuarioFornecedor));\r\n }\r\n\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n\r\n const form = event.currentTarget;\r\n\r\n if (form.checkValidity() === false || ValidaTelefone() === false\r\n || ValidaDdd() === false || ValidaCep() === false\r\n || ValidaEmail() === false || (!isValidCPF(documento) && tipoDocumento === '3') === true\r\n || (!isValidCPF(documento) && tipoDocumento === 3) === true) {\r\n event.preventDefault();\r\n } else {\r\n CadastrarUsuario(event);\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n function VerificarTipoDocumento(event) {\r\n setTipoDocumento(event.target.value);\r\n setDocumento(\"\");\r\n setValidatedDocumento(false);\r\n }\r\n\r\n function ValidarDocumento(event) {\r\n setDocumento(event.target.value);\r\n\r\n if (tipoDocumento === '3' || tipoDocumento === 3) {\r\n if (isValidCPF(event.target.value)) {\r\n setValidatedDocumento(true);\r\n } else {\r\n setValidatedDocumento(false);\r\n }\r\n }\r\n }\r\n\r\n function isValidCPF(cpf) {\r\n if (typeof cpf !== \"string\") return false\r\n cpf = cpf.replace(/[\\s.-]*/igm, '')\r\n if (\r\n !cpf ||\r\n cpf.length !== 11 ||\r\n cpf === \"00000000000\" ||\r\n cpf === \"11111111111\" ||\r\n cpf === \"22222222222\" ||\r\n cpf === \"33333333333\" ||\r\n cpf === \"44444444444\" ||\r\n cpf === \"55555555555\" ||\r\n cpf === \"66666666666\" ||\r\n cpf === \"77777777777\" ||\r\n cpf === \"88888888888\" ||\r\n cpf === \"99999999999\"\r\n ) {\r\n return false\r\n }\r\n var soma = 0\r\n var resto\r\n for (var i = 1; i <= 9; i++)\r\n soma = soma + parseInt(cpf.substring(i - 1, i)) * (11 - i)\r\n resto = (soma * 10) % 11\r\n if ((resto === 10) || (resto === 11)) resto = 0\r\n if (resto !== parseInt(cpf.substring(9, 10))) return false\r\n soma = 0\r\n for (var i = 1; i <= 10; i++)\r\n soma = soma + parseInt(cpf.substring(i - 1, i)) * (12 - i)\r\n resto = (soma * 10) % 11\r\n if ((resto === 10) || (resto === 11)) resto = 0\r\n if (resto !== parseInt(cpf.substring(10, 11))) return false\r\n return true\r\n }\r\n\r\n function ValidaDdd() {\r\n const dddRegex = /^\\d{2}$/;\r\n if (dddRegex.test(String(ddd))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidaTelefone() {\r\n const telefoneRegex = /^\\d{1}\\d{4} \\d{4}$/;\r\n const telefoneRegex2 = /^\\d{1}\\d{4}\\d{4}$/;\r\n if (telefoneRegex.test(String(telefone)) || telefoneRegex2.test(String(telefone))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidaCep() {\r\n const cepRegex = /^\\d{2}.\\d{3}-\\d{3}$/;\r\n if (cepRegex.test(String(cep))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidaEmail() {\r\n const emailRegex = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/;\r\n if (emailRegex.test(String(email))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidaContrato(idContrato) {\r\n if (listaContrato !== undefined && listaContrato !== null) {\r\n var lista = listaContrato.filter(x => x.id == idContrato);\r\n if (lista.length > 0) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n function ValidaFornecedor(idFornecedor) {\r\n if (listaFornecedor !== undefined && listaFornecedor !== null) {\r\n var lista = listaFornecedor.filter(x => x.id == idFornecedor);\r\n if (lista.length > 0) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n function rodaScriptInteressadoTelefone() {\r\n dispatch(RodarScriptTelefoneInteressado());\r\n }\r\n\r\n\r\n function novaSenha (){\r\n dispatch(InserirNovaSenhaPageUsuarioRequest(email));\r\n setModalSenha(true)\r\n }\r\n function fecharModalSenha(){\r\n setModalSenha(false);\r\n localStorage.removeItem('novaSenha');\r\n }\r\n \r\n \r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Usuário\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 setNome(e.target.value)}\r\n required\r\n maxLength=\"100\"\r\n isInvalid={validated && nome.trim() === \"\" ? true : false}\r\n isValid={validated && nome.trim() !== \"\" ? true : false} />\r\n O campo Nome é obrigatório.\r\n \r\n\r\n \r\n Username\r\n setUsername(e.target.value)}\r\n required\r\n maxLength=\"100\"\r\n isInvalid={validated && username.trim() === \"\" ? true : false}\r\n isValid={validated && username.trim() !== \"\" ? true : false} />\r\n O campo Username é obrigatório.\r\n \r\n \r\n \r\n \r\n E-mail\r\n setEmail(e.target.value)}\r\n required\r\n maxLength=\"150\"\r\n isInvalid={validated && !/^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/.test(String(email)) ? true : false}\r\n isValid={validated && /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/.test(String(email)) ? true : false} />\r\n \r\n {\r\n email === \"\" ? \"O campo Email é obrigatório.\" : \"Forneça um Email válido\"\r\n }\r\n \r\n \r\n \r\n \r\n \r\n Cliente\r\n setCliente(e.target.value)}\r\n value={cliente}\r\n required\r\n isInvalid={validated && cliente === \"\" ? true : false}\r\n isValid={validated && cliente !== \"\" ? true : false}>\r\n \r\n {\r\n listaCliente != undefined && listaCliente != null ?\r\n listaCliente.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Cliente é obrigatório.\r\n \r\n\r\n \r\n Grupo de Acesso\r\n setGrupoAcesso(e.target.value)}\r\n value={grupoAcesso}\r\n required\r\n isInvalid={validated && grupoAcesso === \"\" ? true : false}\r\n isValid={validated && grupoAcesso !== \"\" ? true : false}>\r\n \r\n {\r\n listaGrupoAcesso != undefined ?\r\n listaGrupoAcesso.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Grupo de Acesso é obrigatório.\r\n \r\n \r\n \r\n \r\n Tipo de Documento\r\n \r\n \r\n {\r\n listaTipoDocumento != undefined ?\r\n listaTipoDocumento.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Tipo de Documento é obrigatório.\r\n \r\n\r\n \r\n Documento\r\n \r\n \r\n {\r\n documento === \"\" ? \"O campo Documento é obrigatório.\" : \"Forneça um Documento válido\"\r\n }\r\n \r\n \r\n \r\n \r\n \r\n DDD\r\n setDdd(e.target.value)}\r\n required\r\n isInvalid={validated && !/^\\d{2}$/.test(String(ddd)) ? true : false}\r\n isValid={validated && /^\\d{2}$/.test(String(ddd)) ? true : false}\r\n />\r\n O campo DDD é obrigatório.\r\n \r\n\r\n \r\n Telefone
\r\n setTelefone(e.target.value)}\r\n required\r\n isInvalid={validated && !/^\\d{1}\\d{4} \\d{4}$/.test(String(telefone))\r\n && !/^\\d{1}\\d{4}\\d{4}$/.test(String(telefone))\r\n ? true : false}\r\n isValid={(validated && /^\\d{1}\\d{4} \\d{4}$/.test(String(telefone)))\r\n || (validated && /^\\d{1}\\d{4}\\d{4}$/.test(String(telefone)))\r\n ? true : false} >\r\n \r\n O campo Telefone é obrigatório.\r\n
\r\n\r\n \r\n Cep
\r\n setCep(e.target.value)}\r\n required\r\n isInvalid={validated && !/^\\d{2}.\\d{3}-\\d{3}$/.test(String(cep)) ? true : false}\r\n isValid={validated && /^\\d{2}.\\d{3}-\\d{3}$/.test(String(cep)) ? true : false}>\r\n \r\n O campo Cep é obrigatório.\r\n
\r\n
\r\n \r\n \r\n Logradouro\r\n setLogradouro(e.target.value)}\r\n required\r\n isInvalid={validated && logradouro.trim() === \"\" ? true : false}\r\n isValid={validated && logradouro.trim() !== \"\" ? true : false} />\r\n O campo Logradouro é obrigatório.\r\n \r\n\r\n \r\n Número\r\n setNumero(e.target.value)}\r\n required\r\n isInvalid={validated && numero.trim() === \"\" ? true : false}\r\n isValid={validated && numero.trim() !== \"\" ? true : false} />\r\n O campo Número é obrigatório.\r\n \r\n\r\n \r\n Complemento\r\n setComplemento(e.target.value)}\r\n maxLength=\"250\" />\r\n \r\n \r\n \r\n \r\n Bairro\r\n setBairro(e.target.value)}\r\n required\r\n maxLength=\"100\"\r\n isInvalid={validated && bairro.trim() === \"\" ? true : false}\r\n isValid={validated && bairro.trim() !== \"\" ? true : false} />\r\n O campo Bairro é obrigatório.\r\n \r\n\r\n \r\n Município\r\n setMunicipio(e.target.value)}\r\n value={municipio}\r\n required\r\n isInvalid={validated && municipio === \"\" ? true : false}\r\n isValid={validated && municipio !== \"\" ? true : false}>\r\n \r\n {\r\n listaMunicipio != undefined ?\r\n listaMunicipio.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Município é obrigatório.\r\n \r\n \r\n \r\n \r\n setAtivo(!ativo)}\r\n checked={ativo}\r\n />\r\n \r\n \r\n { setPreferencia(!preferencia); setIdContrato(0); }}\r\n checked={preferencia}\r\n />\r\n \r\n \r\n { setFornecedor(!fornecedor); setIdFornecedor(0); }}\r\n checked={fornecedor}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n preferencia ?\r\n
\r\n \r\n Preferência contrato\r\n setIdContrato(e.target.value)}\r\n value={idContrato}\r\n required\r\n isInvalid={(validated && idContrato == 0) || (validated && idContrato !== 0 && !ValidaContrato(idContrato)) ? true : false}\r\n isValid={validated && ValidaContrato(idContrato) && idContrato != 0 ? true : false}>\r\n \r\n {\r\n listaContrato != undefined ?\r\n listaContrato.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Preferências é obrigatório.\r\n \r\n
\r\n :\r\n
\r\n }\r\n
\r\n \r\n {\r\n fornecedor ?\r\n
\r\n \r\n Fornecedor\r\n setIdFornecedor(e.target.value)}\r\n value={idFornecedor}\r\n required\r\n isInvalid={(validated && idFornecedor == 0) || (validated && idFornecedor !== 0 && !ValidaFornecedor(idFornecedor)) ? true : false}\r\n isValid={validated && ValidaFornecedor(idFornecedor) && idFornecedor != 0 ? true : false}>\r\n \r\n {\r\n listaFornecedor != undefined ?\r\n listaFornecedor.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Fornecedor é obrigatório.\r\n \r\n
\r\n :\r\n
\r\n }\r\n
\r\n
\r\n \r\n \r\n Cargo\r\n setCargo(e.target.value)}\r\n required\r\n maxLength=\"150\"\r\n isInvalid={validated && cargo.trim() === \"\" ? true : false}\r\n isValid={validated && cargo.trim() !== \"\" ? true : false} />\r\n \r\n O campo Cargo é obrigatório.\r\n \r\n \r\n \r\n \r\n { setHistoricoFiltro(!historicoFiltro); }}\r\n checked={historicoFiltro}\r\n />\r\n \r\n \r\n \r\n { setValidarConta(!validarConta); }}\r\n checked={validarConta}\r\n disabled={validarConta}\r\n />\r\n \r\n setModalSenha(false)}\r\n dialogClassName=\"modal-90w\"\r\n aria-labelledby=\"example-custom-modal-styling-title\"\r\n >\r\n \r\n \r\n Nova Senha\r\n \r\n \r\n \r\n {senha}\r\n \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 == true && id == undefined ?\r\n \r\n :\r\n ''\r\n\r\n }\r\n {\r\n alterar == true && id != undefined ?\r\n \r\n :\r\n ''\r\n }\r\n {\r\n \r\n }\r\n {\r\n localStorage.getItem('script') != 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
\r\n \r\n
\r\n\r\n \r\n );\r\n}","export function ListarOrigemContratoRequest() {\r\n return {\r\n type: 'LISTAR_ORIGEM_CONTRATO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarOrigemContratoResponse(listaOrigemContrato) {\r\n return {\r\n type: 'LISTAR_ORIGEM_CONTRATO_RESPONSE',\r\n listaOrigemContrato\r\n }\r\n}\r\n\r\nexport function InserirOrigemContratoRequest(data) {\r\n return {\r\n type: 'INSERIR_ORIGEM_CONTRATO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarOrigemContratoRequest(data) {\r\n return {\r\n type: 'ALTERAR_ORIGEM_CONTRATO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirOrigemContratoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_ORIGEM_CONTRATO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarContratoUsuarioRequest() {\r\n return {\r\n type: 'LISTAR_CONTRATO_USUARIO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarContratoUsuarioResponse(listaContratoUsuario) {\r\n return {\r\n type: 'LISTAR_CONTRATO_USUARIO_RESPONSE',\r\n listaContratoUsuario\r\n }\r\n}\r\n\r\nexport function InserirContratoUsuarioRequest(data) {\r\n return {\r\n type: 'INSERIR_CONTRATO_USUARIO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarContratoUsuarioRequest(data) {\r\n return {\r\n type: 'ALTERAR_CONTRATO_USUARIO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirContratoUsuarioRequest(id) {\r\n return {\r\n type: 'EXCLUIR_CONTRATO_USUARIO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { Col, Button, Card } from \"react-bootstrap\";\r\nimport { IoDocumentText } from 'react-icons/io5';\r\nimport { FaSearchPlus } from \"react-icons/fa\";\r\nimport { Link } from 'react-router-dom';\r\nimport { ListarClienteRequest } from '../../../store/modules/cliente/actions';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { ListarContratoRequest } from '../../../store/modules/contrato/actions';\r\nimport { ListarOrigemContratoRequest } from '../../../store/modules/origemContrato/actions';\r\nimport { useEffect, useState } from \"react\";\r\nimport { ListarContratoUsuarioRequest } from '../../../store/modules/contratoUsuario/actions';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { toast } from \"react-toastify\";\r\nimport Header from '../../../components/Header/header';\r\nimport Loading from '../../../components/Loading/loading';\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\nimport './listar.css';\r\n\r\nexport default function Listar() {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const listaContrato = useSelector(state => state.contrato.listaContrato);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const carregando = useSelector(state => state.contrato.carregando);\r\n const listaCliente = useSelector(state => state.cliente.listaCliente);\r\n const listaOrigemContrato = useSelector(state => state.origemContrato.listaOrigemContrato);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n //Permissão de Visualizar\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n useEffect(() => {\r\n if (token.role.filter(r => r == \"ContratoMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n dispatch(ListarClienteRequest());\r\n dispatch(ListarContratoRequest());\r\n dispatch(ListarOrigemContratoRequest());\r\n dispatch(ListarContratoUsuarioRequest());\r\n\r\n }, [])\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Contratos\r\n \r\n \r\n \r\n
\r\n {\r\n carregando ?\r\n }\r\n columns={[\r\n {\r\n title: 'Número do Contrato', field: 'id', defaultSort: 'desc', cellStyle: {\r\n width: '10%',\r\n }\r\n },\r\n {\r\n title: 'Descrição', field: 'descricao', cellStyle: {\r\n width: '15%',\r\n }\r\n },\r\n {\r\n title: 'Cliente', field: 'idCliente', cellStyle: {\r\n width: '15%',\r\n }\r\n },\r\n {\r\n title: 'Origem', field: 'idOrigemContrato', cellStyle: {\r\n width: '15%',\r\n }\r\n },\r\n {\r\n title: 'Número Origem', field: 'numeroOrigemContrato', cellStyle: {\r\n width: '15%',\r\n }\r\n },\r\n {\r\n title: 'Data Criação', field: 'dataContrato', cellStyle: {\r\n width: '15%',\r\n }\r\n },\r\n {\r\n title: 'Observação', field: 'observacao', cellStyle: {\r\n width: '15%',\r\n }\r\n }\r\n ]}\r\n data={\r\n listaContrato != undefined && listaCliente != undefined && listaOrigemContrato != undefined && listaContratoUsuario != undefined ?\r\n listaContrato.map(contrato => {\r\n\r\n // Para mostrar na lista, verifica se o contrato é privado e se o usuario tem permissão\r\n if (contrato.privado && (listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contrato.id).length === 0)) {\r\n return null\r\n }\r\n else {\r\n return {\r\n id: contrato.id,\r\n idCliente: contrato.cliente.nome,\r\n descricao: contrato.descricao,\r\n observacao: contrato.observacao,\r\n numeroOrigemContrato: contrato.numeroOrigemContrato,\r\n idOrigemContrato:\r\n contrato.origemContrato != null ?\r\n contrato.origemContrato.descricao\r\n : '',\r\n dataContrato: moment(contrato.dataInclusaoSistema).format('L LT')\r\n }\r\n }\r\n }).filter(Boolean)\r\n :\r\n []\r\n }\r\n actions={[\r\n rowData => ({\r\n icon: () => ,\r\n onClick: (event, rowData) => { history.push(`/alterarGeralContrato/${rowData.id}`); }\r\n })\r\n ]}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n style={{\r\n lineBreak: \"strict\",\r\n fontSize: \"13px\"\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n}","export function ListarTipoContratoVersaoRequest() {\r\n return {\r\n type: 'LISTAR_TIPO_CONTRATO_VERSAO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarTipoContratoVersaoResponse(listaTipoContratoVersao) {\r\n return {\r\n type: 'LISTAR_TIPO_CONTRATO_VERSAO_RESPONSE',\r\n listaTipoContratoVersao\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarContratoVersaoRequest(idContrato) {\r\n return {\r\n type: 'LISTAR_CONTRATO_VERSAO_REQUEST', idContrato\r\n }\r\n}\r\n\r\nexport function ListarContratoVersaoResponse(listaContratoVersao) {\r\n return {\r\n type: 'LISTAR_CONTRATO_VERSAO_RESPONSE',\r\n listaContratoVersao\r\n }\r\n}\r\n\r\nexport function BuscarContratoVersaoPorIdRequest(id) {\r\n return {\r\n type: 'BUSCAR_CONTRATO_VERSAO_POR_ID_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function BuscarContratoVersaoPorIdResponse(contratoVersaoCompleto) {\r\n return {\r\n type: 'BUSCAR_CONTRATO_VERSAO_POR_ID_RESPONSE',\r\n contratoVersaoCompleto\r\n }\r\n}\r\n\r\nexport function InserirContratoVersaoRequest(data) {\r\n return {\r\n type: 'INSERIR_CONTRATO_VERSAO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function InserirItensContratoVersaoRequest(data, idContrato) {\r\n return {\r\n type: 'INSERIR_ITENS_CONTRATO_VERSAO_REQUEST',\r\n data, idContrato\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarSolicitacaoFornecimentoRequest() {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarSolicitacaoFornecimentoResponse(listaSolicitacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_RESPONSE',\r\n listaSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function BuscarSolicitacaoFornecimentoPorIdRequest(id) {\r\n return {\r\n type: 'BUSCAR_SOLICITACAO_FORNECIMENTO_POR_ID_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function BuscarSolicitacaoFornecimentoPorIdResponse(solicitacaoFornecimentoCompleto) {\r\n return {\r\n type: 'BUSCAR_SOLICITACAO_FORNECIMENTO_POR_ID_RESPONSE',\r\n solicitacaoFornecimentoCompleto\r\n }\r\n}\r\n\r\nexport function InserirSolicitacaoFornecimentoRequest(data) {\r\n return {\r\n type: 'INSERIR_SOLICITACAO_FORNECIMENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarSolicitacaoFornecimentoRequest(data) {\r\n return {\r\n type: 'ALTERAR_SOLICITACAO_FORNECIMENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarPrazoSolicitacaoFornecimentoRequest(data) {\r\n return {\r\n type: 'ALTERAR_PRAZO_SOLICITACAO_FORNECIMENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirSolicitacaoFornecimentoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_SOLICITACAO_FORNECIMENTO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ListarCompletoSolicitacaoFornecimentoRequest(data) {\r\n return {\r\n type: 'LISTAR_COMPLETO_SOLICITACAO_FORNECIMENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function InserirCoordenadasdSolicitacaoFornecimentoRequest(data) {\r\n return {\r\n type: 'INSERIR_COORDENADAS_SOLICITACAO_FORNECECIMENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ReajustaOuCancelaSolicitacaoContrato(data) {\r\n return {\r\n type: 'REAJUSTA_OU_CANCELA_SOLICITACAO_CONTRATO',\r\n data\r\n }\r\n}\r\n\r\nexport function LimparSolicitacaoFornecimento() {\r\n return {\r\n type: 'LIMPAR_SOLICITACAO_FORNECIMENTO'\r\n }\r\n}\r\n\r\nexport function ListarSolicitacaoFornecimentoCamposVerificacaoRapidaRequest() {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_CAMPOS_VERIFICACAO_RAPIDA_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarSolicitacaoFornecimentoCamposVerificacaoRapidaResponse(listarSolicitacaoFornecimentoCamposVerificacaoRapida) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_CAMPOS_VERIFICACAO_RAPIDA_RESPONSE',\r\n listarSolicitacaoFornecimentoCamposVerificacaoRapida\r\n }\r\n}\r\n\r\nexport function BuscarCoordenadasPorEnderecoRequest(Endereco) {\r\n return {\r\n type: 'BUSCAR_COORDENADAS_POR_ENDERECO_REQUEST',\r\n Endereco\r\n }\r\n}\r\n\r\nexport function BuscarCoordenadasPorEnderecoResponse(coordenadasPorEndereco) {\r\n return {\r\n type: 'BUSCAR_COORDENADAS_POR_ENDERECO_RESPONSE',\r\n coordenadasPorEndereco\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}\r\n\r\nexport function GerarOficioRequest(id, numero) {\r\n return {\r\n type: 'GERAR_OFICIO_REQUEST',\r\n id, numero\r\n }\r\n}","import { Button, Modal } from \"react-bootstrap\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { ListarCompletoSolicitacaoFornecimentoRequest } from '../../store/modules/solicitacaoFornecimento/actions';\r\nimport { PatchedPagination } from \"../PatchedPagination/patchedPagination\";\r\nimport { InserirItensContratoVersaoRequest } from \"../../store/modules/contratoVersao/actions\";\r\nimport moment from 'moment';\r\nimport MaterialTable from \"material-table\";\r\nimport { ImportarContratoExcelRequest } from \"../../store/modules/contrato/actions\";\r\n\r\n\r\nexport default function ModalSolicitacaoAjusteImportacao({ idContrato, show, onHide, dados, tipo }) {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const listaSolicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.listaSolicitacaoFornecimento);\r\n const carregando = useSelector(state => state.solicitacaoFornecimento.carregando);\r\n const [idsCancelados, setIdsCancelados] = useState([]);\r\n const [idsReajustados, setIdsReajustados] = useState([]);\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [dispatch])\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarCompletoSolicitacaoFornecimentoRequest({\r\n IdSolicitacaoFornecimento: null,\r\n IdContrato: idContrato,\r\n Servico: true\r\n }));\r\n\r\n }, [idContrato])\r\n\r\n function Salvar() {\r\n\r\n if (tipo == \"Importacao\") {\r\n\r\n var data = {\r\n 'ListaObjeto': dados,\r\n 'ListaIdSolicitacaoFornecimento': idsReajustados,\r\n 'ListaIdSolicitacaoFornecimentoCancelar': idsCancelados\r\n }\r\n\r\n dispatch(ImportarContratoExcelRequest(data, idContrato));\r\n\r\n } else if (tipo == \"Ajustes\" && dados != undefined) {\r\n\r\n var data = {\r\n 'Id': dados.Id,\r\n 'IdContrato': dados.IdContrato,\r\n 'IdTipoContratoVersao': dados.IdTipoContratoVersao,\r\n 'DataVersao': dados.DataVersao,\r\n 'DataInicioContrato': dados.DataInicioContrato,\r\n 'DataFimContrato': dados.DataFimContrato,\r\n 'ValorIndiceReajuste': dados.ValorIndiceReajuste,\r\n 'ValorIndiceMulta': dados.ValorIndiceMulta,\r\n 'GruposCusto': dados.GruposCusto,\r\n 'AdicionarSubItemCusto': dados.AdicionarSubItemCusto,\r\n 'AlterarSub': dados.AlterarSub,\r\n 'IdUsuario': dados.IdUsuario,\r\n 'ValorIndiceQuantidadeItemExcedente': dados.ValorIndiceQuantidadeItemExcedente,\r\n 'ListaIdSolicitacaoFornecimento': idsReajustados,\r\n 'ListaIdSolicitacaoFornecimentoCancelar': idsCancelados\r\n }\r\n\r\n dispatch(InserirItensContratoVersaoRequest(data, idContrato));\r\n }\r\n\r\n onHide();\r\n\r\n }\r\n\r\n function cancelar(rowData) {\r\n\r\n var id = idsCancelados.filter(i => i.id == rowData.id);\r\n if (id.length == 0) {\r\n var lista = idsCancelados;\r\n lista.push(rowData.id)\r\n setIdsCancelados(lista);\r\n }\r\n }\r\n\r\n function reajustar(rowData) {\r\n\r\n var id = idsReajustados.filter(i => i.id == rowData.id);\r\n if (id.length == 0) {\r\n var lista = idsReajustados;\r\n lista.push(rowData.id)\r\n setIdsReajustados(lista);\r\n }\r\n }\r\n\r\n return (\r\n carregando && listaSolicitacaoFornecimento != undefined &&\r\n listaSolicitacaoFornecimento.filter(s => s.statusAtual != \"Solicitação Finalizada\" && s.statusAtual != \"\").length > 0 ?\r\n \r\n \r\n \r\n Solicitações a partir deste Contrato\r\n \r\n \r\n \r\n \r\n (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { reajustar(rowData) }} />)\r\n },\r\n {\r\n title: \"Cancelar\", field: 'cancelar', cellStyle: {\r\n width: '5%'\r\n },\r\n searchable: false,\r\n filtering: false,\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { cancelar(rowData) }} />)\r\n },\r\n {\r\n title: \"Código\", field: 'id', defaultSort: 'desc', cellStyle: {\r\n width: '5%'\r\n }\r\n },\r\n {\r\n title: \"Descrição\", field: 'descricao', sorting: true, cellStyle: {\r\n width: '10%'\r\n }\r\n },\r\n {\r\n title: \"Número Processo\", field: 'numeroProcesso', sorting: true, cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: \"Endereço\", field: 'endereco', sorting: true, cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: \"Número Ofício\", field: 'numeroOficio', sorting: true, cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: \"Status\", field: 'status', sorting: true, cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: \"Data Criação\", field: 'dataInclusao', sorting: true, cellStyle: {\r\n width: '15%'\r\n }\r\n }\r\n ]}\r\n data={\r\n listaSolicitacaoFornecimento != undefined ?\r\n listaSolicitacaoFornecimento.filter(s => s.statusAtual != \"Solicitação Finalizada\" && s.statusAtual != \"\")\r\n .map((lista) => {\r\n return {\r\n reajustar: lista.reajustar,\r\n cancelar: lista.cancelar,\r\n id: lista.id,\r\n descricao: lista.descricaoSolicitacao,\r\n numeroProcesso: lista.numeroProcesso,\r\n endereco: lista.endereco,\r\n numeroOficio: lista.numeroOficio,\r\n status: lista.statusAtual,\r\n dataInclusao: moment(lista.dataInclusao).format('L LT'),\r\n }\r\n })\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n }),\r\n //selection: true\r\n }}\r\n /*actions={[\r\n {\r\n tooltip: 'Reajustar solicitações selecionadas',\r\n icon: 'save',\r\n onClick: (evt, data) => { Salvar(data) }\r\n }\r\n ]}*/\r\n localization={{\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n nRowsSelected: '{0} linha(s) selecionadas'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\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 { Container, Row, Col, Form, Button, Modal, Tabs, Tab } from \"react-bootstrap\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { InserirItensContratoVersaoRequest } from '../../store/modules/contratoVersao/actions';\r\nimport { ImportarContratoExcelRequest } from \"../../store/modules/contrato/actions\";\r\nimport { CriarTxt } from \"../../store/modules/global/actions\";\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport { toast } from \"react-toastify\";\r\nimport { ListarCompletoSolicitacaoFornecimentoRequest } from '../../store/modules/solicitacaoFornecimento/actions';\r\nimport * as XLSX from \"xlsx\";\r\nimport moment from 'moment';\r\nimport ModalSolicitacaoAjusteImportacao from \"../ModalSolicitacaoAjusteImportacao/modalSolicitacaoAjusteImportacao\";\r\n\r\nexport default function ModalContratoVersao({ idContratoCompleto, listaTipoContratoVersao,\r\n dataInicioContratoForm, dataFimContratoForm, valorIndiceReajusteForm, valorIndiceMultaForm, valorIndiceQuantidadeItemExcedenteForm, show, onHide, liberaExcedenteGlobal }) {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const contratoCompleto = useSelector(state => state.contrato.contratoCompleto);\r\n const listaSolicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.listaSolicitacaoFornecimento);\r\n\r\n const [dataInicioContrato, setDataInicioContrato] = useState(moment((new Date())).add('hours', 2).toISOString().substr(0, 10));\r\n const [dataFimContrato, setDataFimContrato] = useState(moment((new Date())).add('hours', 2).toISOString().substr(0, 10));\r\n const [valorIndiceReajuste, setValorIndiceReajuste] = useState('');\r\n const [valorIndiceMulta, setValorIndiceMulta] = useState('');\r\n const [valorIndiceQuantidadeItemExcedente, setValorIndiceQuantidadeItemExcedente] = useState('');\r\n const [idTipoContratoVersao, setIdTipoContratoVersao] = useState('');\r\n const [validated, setValidated] = useState(false);\r\n const [validatedDataFim, setValidatedDataFim] = useState(true);\r\n const [dados, setDados] = useState('');\r\n const [tipo, setTipo] = useState('');\r\n const [items, setItems] = useState([]);\r\n\r\n const [modal, setModal] = useState(false);\r\n const [messageError, setMessageError] = useState('');\r\n const [showError, setShowError] = useState(false);\r\n const [showSolicitacao, setShowSolicitacao] = useState(false);\r\n const [showSolicitacaoImportacao, setShowSolicitacaoImportacao] = useState(false);\r\n\r\n const handleCloseError = () => setShowError(false);\r\n const handleShowError = () => setShowError(true);\r\n\r\n const handleSolicitacaoImportacaoClose = () => setShowSolicitacaoImportacao(false);\r\n const handleSolicitacaoImportacaoShow = () => setShowSolicitacaoImportacao(true);\r\n\r\n const readExcel = (file) => {\r\n const promise = new Promise((resolve, reject) => {\r\n const fileReader = new FileReader();\r\n fileReader.readAsArrayBuffer(file);\r\n\r\n fileReader.onload = (e) => {\r\n const bufferArray = e.target.result;\r\n\r\n const wb = XLSX.read(bufferArray, { type: \"buffer\" });\r\n\r\n const wsname = wb.SheetNames[0];\r\n\r\n const ws = wb.Sheets[wsname];\r\n\r\n const data = XLSX.utils.sheet_to_json(ws);\r\n\r\n resolve(data);\r\n };\r\n\r\n fileReader.onerror = (error) => {\r\n reject(error);\r\n };\r\n });\r\n\r\n promise.then((d) => {\r\n setItems(d);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n if (idContratoCompleto != null && idContratoCompleto != undefined) {\r\n\r\n dispatch(ListarCompletoSolicitacaoFornecimentoRequest({\r\n IdSolicitacaoFornecimento: null,\r\n IdContrato: idContratoCompleto,\r\n Servico: true\r\n }));\r\n }\r\n\r\n }, [idContratoCompleto])\r\n\r\n useEffect(() => {\r\n\r\n setDataInicioContrato(dataInicioContratoForm);\r\n setDataFimContrato(dataFimContratoForm);\r\n setValorIndiceReajuste(valorIndiceReajusteForm);\r\n setValorIndiceMulta(valorIndiceMultaForm);\r\n setValorIndiceQuantidadeItemExcedente(valorIndiceQuantidadeItemExcedenteForm);\r\n\r\n }, [dataInicioContratoForm, dataFimContratoForm, valorIndiceReajusteForm, valorIndiceMultaForm, valorIndiceQuantidadeItemExcedenteForm])\r\n\r\n const handleSubmit = (event) => {\r\n\r\n const form = event.currentTarget;\r\n\r\n if (form.checkValidity() === false || ValidaDataInicioFim() === false ||\r\n (valorIndiceMulta > 1 || valorIndiceMulta < 0 || valorIndiceMulta === \"\") === true ||\r\n (valorIndiceReajuste > 1 || valorIndiceReajuste < -1 || valorIndiceReajuste === \"\") === true ||\r\n (valorIndiceQuantidadeItemExcedente > 1 || valorIndiceQuantidadeItemExcedente < 0 || valorIndiceQuantidadeItemExcedente === \"\") === true) {\r\n event.preventDefault();\r\n } else {\r\n\r\n event.preventDefault();\r\n\r\n var data = {\r\n 'Id': 0,\r\n 'IdContrato': idContratoCompleto,\r\n 'IdTipoContratoVersao': idTipoContratoVersao,\r\n 'DataVersao': moment((new Date())).add('hours', 2),\r\n 'DataInicioContrato': dataInicioContrato,\r\n 'DataFimContrato': dataFimContrato,\r\n 'ValorIndiceReajuste': parseFloat(valorIndiceReajuste),\r\n 'ValorIndiceMulta': parseFloat(valorIndiceMulta),\r\n 'GruposCusto': contratoCompleto.gruposCusto,\r\n 'AlterarSub': false,\r\n 'IdUsuario': usuario.id,\r\n 'ValorIndiceQuantidadeItemExcedente': parseFloat(valorIndiceQuantidadeItemExcedente),\r\n 'LiberaExcedenteGlobal': liberaExcedenteGlobal,\r\n 'ListaIdSolicitacaoFornecimento': null,\r\n 'ListaIdSolicitacaoFornecimentoCancelar': null\r\n }\r\n\r\n if ((listaSolicitacaoFornecimento == undefined) || (listaSolicitacaoFornecimento != undefined &&\r\n listaSolicitacaoFornecimento.filter(s => s.statusAtual != \"Solicitação Finalizada\" && s.statusAtual != \"\").length == 0)) {\r\n\r\n //dispatch(InserirItensContratoVersaoRequest(data, idContratoCompleto));\r\n\r\n }\r\n\r\n setDados(data);\r\n setTipo(\"Ajustes\");\r\n handleSolicitacaoImportacaoShow();\r\n onHide(true);\r\n\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n function ValidaDataInicioFim() {\r\n\r\n var verificarDatainicio = dataInicioContrato.split(\"-\");\r\n var verificarDatafim = dataFimContrato.split(\"-\");\r\n\r\n if (verificarDatafim >= verificarDatainicio) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function VerificarDataInicioContrato(event) {\r\n setDataInicioContrato(event.target.value);\r\n\r\n var verificarDatainicio = event.target.value.split(\"-\");\r\n var verificarDatafim = dataFimContrato.split(\"-\");\r\n\r\n if (verificarDatafim >= verificarDatainicio) {\r\n setValidatedDataFim(true);\r\n } else {\r\n setValidatedDataFim(false);\r\n }\r\n }\r\n\r\n function VerificarDataFimContrato(event) {\r\n setDataFimContrato(event.target.value);\r\n\r\n var verificarDatafim = event.target.value.split(\"-\");\r\n var verificarDatainicio = dataInicioContrato.split(\"-\");\r\n\r\n if (verificarDatafim >= verificarDatainicio) {\r\n setValidatedDataFim(true);\r\n } else {\r\n setValidatedDataFim(false);\r\n }\r\n }\r\n\r\n function handleImport() {\r\n if (idTipoContratoVersao === '' || ValidaDataInicioFim() === false ||\r\n (valorIndiceMulta === 0 || valorIndiceMulta === \"\") === true ||\r\n (valorIndiceReajuste === 0 || valorIndiceReajuste === \"\") === true ||\r\n (valorIndiceQuantidadeItemExcedente === 0 || valorIndiceQuantidadeItemExcedente === \"\") === true) {\r\n toast.error('Preencha todos os campos.');\r\n } else {\r\n setModal(!modal)\r\n }\r\n }\r\n\r\n function vezesLetraAparece(frase, letra) {\r\n var resultado = 0;\r\n\r\n for (const letraAtual of frase) {\r\n if (letraAtual === letra) {\r\n resultado++;\r\n }\r\n }\r\n\r\n return resultado;\r\n }\r\n\r\n function ImportarArquivo(e) {\r\n\r\n e.preventDefault();\r\n\r\n if (idTipoContratoVersao === '' || ValidaDataInicioFim() === false ||\r\n (valorIndiceMulta === 0 || valorIndiceMulta === \"\") === true ||\r\n (valorIndiceReajuste === 0 || valorIndiceReajuste === \"\") === true ||\r\n (valorIndiceQuantidadeItemExcedente === 0 || valorIndiceQuantidadeItemExcedente === \"\") === true) {\r\n toast.error('Preencha todos os campos.');\r\n } else {\r\n try {\r\n\r\n if (items.length > 0) {\r\n\r\n let lista = [];\r\n let continued = true;\r\n let wrongText = \"\";\r\n let count = 0;\r\n\r\n var data = {\r\n 'idPrimeiraVersaoContrato': contratoCompleto.contratoVersaoApiModel.id,\r\n 'idTipoContratoVersao': idTipoContratoVersao,\r\n 'dataInicioContrato': dataInicioContrato,\r\n 'dataFimContrato': dataFimContrato,\r\n 'valorIndiceReajuste': parseFloat(valorIndiceReajuste),\r\n 'valorIndiceMulta': parseFloat(valorIndiceMulta),\r\n 'pageImport': true,\r\n 'idUsuario': usuario.id,\r\n 'valorIndiceQuantidadeItemExcedente': parseFloat(valorIndiceQuantidadeItemExcedente),\r\n 'liberaExcedenteGlobal': liberaExcedenteGlobal\r\n }\r\n\r\n items.forEach(item => {\r\n\r\n if (item.__EMPTY_5 != undefined &&\r\n vezesLetraAparece(item.__EMPTY_1.toString(), '.') == 0 &&\r\n Number.isInteger(item.__EMPTY_1)) {\r\n lista.push({ 'item': item, 'tipo': 'grupo', 'contrato': data });\r\n }\r\n\r\n if (vezesLetraAparece(item.__EMPTY_1.toString(), '.') == 1 &&\r\n (item.__EMPTY_7 == undefined || item.__EMPTY_7 == '') &&\r\n (item.__EMPTY_8 == undefined || item.__EMPTY_8 == '')) {\r\n lista.push({ 'item': item, 'tipo': 'item', 'contrato': data });\r\n\r\n } else\r\n if (vezesLetraAparece(item.__EMPTY_1.toString(), '.') == 1 &&\r\n item.__EMPTY_7 != undefined &&\r\n item.__EMPTY_8 != undefined) {\r\n lista.push({ 'item': item, 'tipo': 'subitemSemItem', 'contrato': data });\r\n }\r\n\r\n if (vezesLetraAparece(item.__EMPTY_1.toString(), '.') == 2 && item.__EMPTY_7 != undefined) {\r\n\r\n if (item.__EMPTY_1 == undefined) {\r\n continued = false;\r\n wrongText += `linha com erro: Linha: ${count - 2} campo \"ITEM\". \\n`;\r\n }\r\n if (item.__EMPTY_2 == undefined) {\r\n continued = false;\r\n wrongText += `linha com erro: Linha: ${count - 2} campo \"FONTE\". \\n`;\r\n }\r\n if (item.__EMPTY_3 == undefined) {\r\n continued = false;\r\n wrongText += `linha com erro: Linha: ${count - 2} campo \"COMPOSIÇÃO\". \\n`;\r\n }\r\n if (item.__EMPTY_4 == undefined) {\r\n continued = false;\r\n wrongText += `linha com erro: Linha: ${count - 2} campo \"CÓDIGO\". \\n`;\r\n }\r\n if (item.__EMPTY_5 == undefined) {\r\n continued = false;\r\n wrongText += `linha com erro: Linha: ${count - 2} campo \"DESCRIÇÃO\". \\n`;\r\n }\r\n if (item.__EMPTY_6 == undefined) {\r\n continued = false;\r\n wrongText += `linha com erro: Linha: ${count - 2} campo \"UNIDADE\". \\n`;\r\n }\r\n if (item.__EMPTY_7 == undefined) {\r\n continued = false;\r\n wrongText += `linha com erro: Linha: ${count - 2} campo \"QUANTIDADE\". \\n`;\r\n }\r\n if (item.__EMPTY_8 == undefined) {\r\n continued = false;\r\n wrongText += `linha com erro: Linha: ${count - 2} campo \"VALOR UNITÁRIO\". \\n`;\r\n }\r\n if (item.__EMPTY_9 == undefined) {\r\n continued = false;\r\n wrongText += `linha com erro: Linha: ${count - 2} campo \"VALOR TOTAL\". \\n`;\r\n }\r\n if (item.__EMPTY_10 == undefined) {\r\n continued = false;\r\n wrongText += `linha com erro: Linha: ${count - 2} campo \"VALOR PREVISÃO MENSAL\". \\n`;\r\n }\r\n\r\n lista.push({ 'item': item, 'tipo': 'subitem', 'contrato': data });\r\n }\r\n\r\n count++;\r\n });\r\n\r\n if (!continued) {\r\n lista = [];\r\n continued = true;\r\n }\r\n\r\n if (lista.length > 0) {\r\n\r\n if ((listaSolicitacaoFornecimento == undefined) || (listaSolicitacaoFornecimento != undefined &&\r\n listaSolicitacaoFornecimento.filter(s => s.statusAtual != \"Solicitação Finalizada\" && s.statusAtual != \"\").length == 0)) {\r\n\r\n dispatch(ImportarContratoExcelRequest({\r\n 'ListaObjeto': lista,\r\n 'ListaIdSolicitacaoFornecimento': null,\r\n 'ListaIdSolicitacaoFornecimentoCancelar': null\r\n }, id));\r\n\r\n }\r\n setModal(false);\r\n setDados(lista);\r\n setTipo(\"Importacao\");\r\n handleSolicitacaoImportacaoShow();\r\n onHide();\r\n } else {\r\n handleShowError();\r\n dispatch(CriarTxt(wrongText));\r\n setMessageError(`Existe algo errado com o excel importado. \\nLINHA INFORMADA A PARTIR DO CABEÇALHO DA TABELA: \\nERROS: \\n\\n${wrongText}`);\r\n }\r\n } else {\r\n handleShowError();\r\n setMessageError(\"Selecione o Excel antes de Importar!\");\r\n }\r\n\r\n } catch (error) {\r\n handleShowError();\r\n setMessageError(\"CAMPOS IMPORTANTES ESTÃO FALTANDO NO EXCEL, VERIFIQUE NOVAMENTE ANTES DE IMPORTAR\");\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Nova Versão Contrato\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Data início contrato\r\n \r\n \r\n \r\n Data fim contrato\r\n \r\n A data do fim não pode ser antes da data do início do contrato.\r\n \r\n \r\n \r\n \r\n Valor índice reajuste\r\n setValorIndiceReajuste(e.target.value)}\r\n isInvalid={validated && valorIndiceReajuste === \"\"\r\n || validated && valorIndiceReajuste > 1\r\n || validated && valorIndiceReajuste < -1 ? true : false}\r\n isValid={validated && valorIndiceReajuste !== \"\"\r\n || validated && valorIndiceReajuste < 1\r\n || validated && valorIndiceReajuste > -1 ? true : false}\r\n required\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n {\r\n valorIndiceReajuste === \"\" ?\r\n 'O campo Valor índice reajuste é obrigatório.'\r\n :\r\n 'O Valor índice reajuste deve estar no intervalo de -1 a 1.'\r\n\r\n }\r\n \r\n \r\n \r\n Valor índice multa\r\n setValorIndiceMulta(e.target.value)}\r\n isInvalid={validated && valorIndiceMulta < 0\r\n || validated && valorIndiceMulta > 1\r\n || validated && valorIndiceMulta === \"\" ? true : false}\r\n isValid={validated && valorIndiceMulta > 0\r\n || validated && valorIndiceMulta < 1\r\n || validated && valorIndiceMulta !== \"\" ? true : false}\r\n required\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n {\r\n valorIndiceMulta === \"\" ?\r\n 'O campo Valor índice multa é obrigatório.'\r\n :\r\n 'O Valor índice multa deve estar no intervalo de 0 a 1.'\r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n Tipo Contrato Versão\r\n setIdTipoContratoVersao(e.target.value)}\r\n value={idTipoContratoVersao}\r\n required\r\n isInvalid={validated && idTipoContratoVersao === \"\" ? true : false}\r\n isValid={validated && idTipoContratoVersao !== \"\" ? true : false}>\r\n \r\n {\r\n listaTipoContratoVersao !== null ?\r\n listaTipoContratoVersao.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Tipo Contrato Versão é obrigatório.\r\n \r\n \r\n Valor índice qtd. itens excedentes\r\n setValorIndiceQuantidadeItemExcedente(e.target.value)}\r\n isInvalid={validated && valorIndiceQuantidadeItemExcedente < 0\r\n || validated && valorIndiceQuantidadeItemExcedente > 1\r\n || validated && valorIndiceQuantidadeItemExcedente === \"\" ? true : false}\r\n isValid={validated && valorIndiceQuantidadeItemExcedente > 0\r\n || validated && valorIndiceQuantidadeItemExcedente < 1\r\n || validated && valorIndiceQuantidadeItemExcedente !== \"\" ? true : false}\r\n required\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n {\r\n valorIndiceQuantidadeItemExcedente === \"\" ?\r\n 'O campo Valor índice quantidade de itens excedente é obrigatório.'\r\n :\r\n 'O Valor índice quantidade de itens excedente deve estar no intervalo de 0 a 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 \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Data início contrato\r\n \r\n \r\n \r\n Data fim contrato\r\n \r\n A data do fim não pode ser antes da data do início do contrato.\r\n \r\n \r\n \r\n \r\n Valor índice reajuste\r\n setValorIndiceReajuste(e.target.value)}\r\n isInvalid={validated && valorIndiceReajuste === \"\"\r\n || validated && valorIndiceReajuste > 1\r\n || validated && valorIndiceReajuste < -1 ? true : false}\r\n isValid={validated && valorIndiceReajuste !== \"\"\r\n || validated && valorIndiceReajuste < 1\r\n || validated && valorIndiceReajuste > -1 ? true : false}\r\n required\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n {\r\n valorIndiceReajuste === \"\" ?\r\n 'O campo Valor índice reajuste é obrigatório.'\r\n :\r\n 'O Valor índice reajuste deve estar no intervalo de -1 a 1.'\r\n\r\n }\r\n \r\n \r\n \r\n Valor índice multa\r\n setValorIndiceMulta(e.target.value)}\r\n isInvalid={validated && valorIndiceMulta < 0\r\n || validated && valorIndiceMulta > 1\r\n || validated && valorIndiceMulta === \"\" ? true : false}\r\n isValid={validated && valorIndiceMulta > 0\r\n || validated && valorIndiceMulta < 1\r\n || validated && valorIndiceMulta !== \"\" ? true : false}\r\n required\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n {\r\n valorIndiceMulta === \"\" ?\r\n 'O campo Valor índice multa é obrigatório.'\r\n :\r\n 'O Valor índice multa deve estar no intervalo de 0 a 1.'\r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n Tipo Contrato Versão\r\n setIdTipoContratoVersao(e.target.value)}\r\n value={idTipoContratoVersao}\r\n required\r\n isInvalid={validated && idTipoContratoVersao === \"\" ? true : false}\r\n isValid={validated && idTipoContratoVersao !== \"\" ? true : false}>\r\n \r\n {\r\n listaTipoContratoVersao !== null ?\r\n listaTipoContratoVersao.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Tipo Contrato Versão é obrigatório.\r\n \r\n \r\n Valor índice qtd. itens excedentes\r\n setValorIndiceQuantidadeItemExcedente(e.target.value)}\r\n isInvalid={validated && valorIndiceQuantidadeItemExcedente < 0\r\n || validated && valorIndiceQuantidadeItemExcedente > 1\r\n || validated && valorIndiceQuantidadeItemExcedente === \"\" ? true : false}\r\n isValid={validated && valorIndiceQuantidadeItemExcedente > 0\r\n || validated && valorIndiceQuantidadeItemExcedente < 1\r\n || validated && valorIndiceQuantidadeItemExcedente !== \"\" ? true : false}\r\n required\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n {\r\n valorIndiceQuantidadeItemExcedente === \"\" ?\r\n 'O campo Valor índice quantidade de itens excedente é obrigatório.'\r\n :\r\n 'O Valor índice quantidade de itens excedente deve estar no intervalo de 0 a 1.'\r\n\r\n }\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n if (files.length > 0) {\r\n readExcel(files[0])\r\n } else {\r\n setItems([])\r\n }\r\n }}\r\n filesLimit={1}\r\n acceptedFiles={[\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"]}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 1 arquivo`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={30000000}\r\n />\r\n
\r\n
\r\n
\r\n Importar\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n
\r\n

{messageError}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n}","import { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Button } from \"react-bootstrap\";\r\nimport { ListarClienteRequest } from '../../../store/modules/cliente/actions';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { InserirContratoRequest, AlterarContratoRequest, BuscarContratoPorIdRequest } from \"../../../store/modules/contrato/actions\";\r\nimport { ListarOrigemContratoRequest } from '../../../store/modules/origemContrato/actions';\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport { ListarTipoContratoVersaoRequest } from '../../../store/modules/tipoContratoVersao/actions';\r\nimport { toast } from \"react-toastify\";\r\nimport ModalContratoVersao from \"../../../components/ModalContratoVersao/modalContratoVersao\";\r\nimport './contrato.css';\r\nimport 'moment/locale/pt-br';\r\nimport moment from 'moment';\r\n\r\nexport default function Contrato() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const listaCliente = useSelector(state => state.cliente.listaCliente);\r\n const listaOrigemContrato = useSelector(state => state.origemContrato.listaOrigemContrato);\r\n const listaTipoContratoVersao = useSelector(state => state.tipoContratoVersao.listaTipoContratoVersao);\r\n const contratoCompleto = useSelector(state => state.contrato.contratoCompleto);\r\n\r\n const [idCliente, setIdCliente] = useState('');\r\n const [descricao, setDescricao] = useState('');\r\n const [numeroInterno, setNumeroInterno] = useState('');\r\n const [idOrigem, setIdOrigem] = useState('');\r\n const [numeroOrigem, setNumeroOrigem] = useState('');\r\n const [privado, setPrivado] = useState(false);\r\n const [dataInicioContrato, setDataInicioContrato] = useState('');\r\n const [dataFimContrato, setDataFimContrato] = useState('');\r\n const [valorIndiceReajuste, setValorIndiceReajuste] = useState('');\r\n const [valorIndiceMulta, setValorIndiceMulta] = useState('');\r\n const [valorIndiceQuantidadeItemExcedente, setValorIndiceQuantidadeItemExcedente] = useState('');\r\n const [observacao, setObservacao] = useState('');\r\n const [liberaExcedenteGlobal, setLiberaExcedenteGlobal] = useState(false);\r\n const [liberaExcedenteSubitem, setLiberaExcedenteSubitem] = useState(false);\r\n const [liberaExcedenteAutorizacao, setLiberaExcedenteAutorizacao] = useState(false);\r\n\r\n const [show, setShow] = useState(false);\r\n const [validated, setValidated] = useState(false);\r\n const [validatedDataFim, setValidatedDataFim] = useState(true);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"ContratoMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"ContratoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"ContratoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n const date = moment((new Date())).add('hours', 2).toISOString().substr(0, 10);\r\n setDataInicioContrato(date);\r\n setDataFimContrato(date);\r\n\r\n dispatch(ListarClienteRequest());\r\n dispatch(ListarOrigemContratoRequest());\r\n dispatch(ListarTipoContratoVersaoRequest());\r\n if (id != undefined)\r\n dispatch(BuscarContratoPorIdRequest(id));\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (contratoCompleto != null && contratoCompleto.id == parseInt(id)) {\r\n carregaContrato();\r\n }\r\n\r\n }, [contratoCompleto])\r\n\r\n const handleSubmit = (event) => {\r\n\r\n const form = event.currentTarget;\r\n\r\n if (form.checkValidity() === false || ValidaDataInicioFim() === false ||\r\n (valorIndiceMulta > 1 || valorIndiceMulta < 0 || valorIndiceMulta === \"\") === true ||\r\n (valorIndiceReajuste > 1 || valorIndiceReajuste < -1 || valorIndiceReajuste === \"\") === true ||\r\n (valorIndiceQuantidadeItemExcedente > 1 || valorIndiceQuantidadeItemExcedente < 0 || valorIndiceQuantidadeItemExcedente === \"\") === true) {\r\n\r\n event.preventDefault();\r\n } else {\r\n InserirContrato(event);\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n function ValidaDataInicioFim() {\r\n\r\n var verificarDatainicio = dataInicioContrato.split(\"-\");\r\n var verificarDatafim = dataFimContrato.split(\"-\");\r\n\r\n if (verificarDatafim >= verificarDatainicio) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function VerificarDataInicioContrato(event) {\r\n\r\n setDataInicioContrato(event.target.value);\r\n\r\n var verificarDatainicio = event.target.value.split(\"-\");\r\n var verificarDatafim = dataFimContrato.split(\"-\");\r\n\r\n if (verificarDatafim >= verificarDatainicio) {\r\n setValidatedDataFim(true);\r\n } else {\r\n setValidatedDataFim(false);\r\n }\r\n }\r\n\r\n function VerificarDataFimContrato(event) {\r\n setDataFimContrato(event.target.value);\r\n\r\n var verificarDatafim = event.target.value.split(\"-\");\r\n var verificarDatainicio = dataInicioContrato.split(\"-\");\r\n\r\n if (verificarDatafim >= verificarDatainicio) {\r\n setValidatedDataFim(true);\r\n } else {\r\n setValidatedDataFim(false);\r\n }\r\n }\r\n\r\n function InserirContrato(e) {\r\n\r\n e.preventDefault();\r\n\r\n //validação do campo observação\r\n if (observacao.length > 500) {\r\n toast.error(`A observação não pode conter mais que 500 caracteres`);\r\n return;\r\n }\r\n\r\n //validação do campo descrição\r\n if (descricao == null || descricao == undefined\r\n || descricao == ' ' || descricao == '') {\r\n toast.error(`Descrição inválida`);\r\n return;\r\n }\r\n if (descricao.length > 200) {\r\n toast.error(`A descrição não pode conter mais que 200 caracteres`);\r\n return;\r\n }\r\n\r\n //validação do campo numeroInterno\r\n if (numeroInterno == null || numeroInterno == undefined\r\n || numeroInterno == ' ' || numeroInterno == '') {\r\n toast.error(`Numero Interno inválido`);\r\n return;\r\n }\r\n\r\n //validação do campo numeroOrigem\r\n if (numeroOrigem == null || numeroOrigem == undefined\r\n || numeroOrigem == ' ' || numeroOrigem == '') {\r\n toast.error(`Numero Origem inválido`);\r\n return;\r\n }\r\n\r\n var data = {\r\n 'Id': contratoCompleto == null ? parseInt(0) : contratoCompleto.id,\r\n 'IdCliente': parseInt(idCliente),\r\n 'Descricao': descricao.trim(),\r\n 'NumeroInternoContrato': numeroInterno,\r\n 'IdOrigemContrato': parseInt(idOrigem),\r\n 'NumeroOrigemContrato': numeroOrigem,\r\n 'Privado': privado,\r\n 'IdUsuario': parseInt(usuario.id),\r\n 'DataAlteracaoSistema': moment((new Date())).add('hours', 2),\r\n 'DataInclusaoSistema': moment((new Date())).add('hours', 2),\r\n 'Observacao': observacao,\r\n 'ContratoVersaoApiModel': {\r\n 'Id': contratoCompleto == null ? parseInt(0) : contratoCompleto.contratoVersaoApiModel.id,\r\n 'IdTipoContratoVersao': contratoCompleto == null ? parseInt(0) : contratoCompleto.contratoVersaoApiModel.idTipoContratoVersao,\r\n 'DataVersao': moment((new Date())).add('hours', 2),\r\n 'DataInicioContrato': dataInicioContrato,\r\n 'DataFimContrato': dataFimContrato,\r\n 'ValorIndiceReajuste': parseFloat(valorIndiceReajuste),\r\n 'ValorIndiceMulta': parseFloat(valorIndiceMulta),\r\n 'ValorIndiceQuantidadeItemExcedente': parseFloat(valorIndiceQuantidadeItemExcedente),\r\n 'LiberaExcedenteGlobal': liberaExcedenteGlobal,\r\n 'LiberaExcedenteSubitem': liberaExcedenteSubitem,\r\n 'LiberaExcedenteAutorizacao': liberaExcedenteAutorizacao\r\n }\r\n }\r\n\r\n if (id == undefined) {\r\n dispatch(InserirContratoRequest(data));\r\n } else {\r\n dispatch(AlterarContratoRequest(data));\r\n }\r\n }\r\n\r\n function carregaContrato() {\r\n\r\n // Contrato\r\n setIdCliente(contratoCompleto.idCliente);\r\n setDescricao(contratoCompleto.descricao);\r\n setIdOrigem(contratoCompleto.idOrigemContrato);\r\n setNumeroInterno(contratoCompleto.numeroInternoContrato);\r\n setNumeroOrigem(contratoCompleto.numeroOrigemContrato);\r\n setPrivado(contratoCompleto.privado);\r\n setObservacao(contratoCompleto.observacao);\r\n\r\n // Contrato Versão\r\n setDataInicioContrato(contratoCompleto.contratoVersaoApiModel.dataInicioContrato.split('T')[0]);\r\n setDataFimContrato(contratoCompleto.contratoVersaoApiModel.dataFimContrato.split('T')[0]);\r\n setValorIndiceReajuste(contratoCompleto.contratoVersaoApiModel.valorIndiceReajuste);\r\n setValorIndiceMulta(contratoCompleto.contratoVersaoApiModel.valorIndiceMulta);\r\n setValorIndiceQuantidadeItemExcedente(contratoCompleto.contratoVersaoApiModel.valorIndiceQuantidadeItemExcedente);\r\n setLiberaExcedenteGlobal(contratoCompleto.contratoVersaoApiModel.liberaExcedenteGlobal);\r\n setLiberaExcedenteSubitem(contratoCompleto.contratoVersaoApiModel.liberaExcedenteSubitem);\r\n setLiberaExcedenteAutorizacao(contratoCompleto.contratoVersaoApiModel.liberaExcedenteAutorizacao);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n Descrição\r\n setDescricao(e.target.value)}\r\n required\r\n isInvalid={validated && descricao === \"\" ? true : false}\r\n isValid={validated && descricao !== \"\" ? true : false} />\r\n O campo Descrição é obrigatório.\r\n \r\n\r\n \r\n Cliente\r\n setIdCliente(e.target.value)}\r\n value={idCliente}\r\n required\r\n isInvalid={validated && idCliente === \"\" ? true : false}\r\n isValid={validated && idCliente !== \"\" ? true : false}>\r\n \r\n {\r\n listaCliente != undefined ?\r\n listaCliente.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Cliente é obrigatório.\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Origem\r\n setIdOrigem(e.target.value)} value={idOrigem} required\r\n isInvalid={validated && idOrigem === \"\" ? true : false}\r\n isValid={validated && idOrigem !== \"\" ? true : false}>\r\n \r\n {\r\n listaOrigemContrato != undefined ?\r\n listaOrigemContrato.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Origem é obrigatório.\r\n \r\n\r\n \r\n Número Origem\r\n setNumeroOrigem(e.target.value)}\r\n required\r\n maxLength=\"500\"\r\n isInvalid={validated && numeroOrigem === \"\" ? true : false}\r\n isValid={validated && numeroOrigem !== \"\" ? true : false} />\r\n O campo Número Origem é obrigatório.\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Número Interno\r\n setNumeroInterno(e.target.value)}\r\n required\r\n maxLength=\"50\"\r\n isInvalid={validated && numeroInterno === \"\" ? true : false}\r\n isValid={validated && numeroInterno !== \"\" ? true : false} />\r\n O campo Número Interno é obrigatório.\r\n \r\n\r\n \r\n Observação\r\n setObservacao(e.target.value)} />\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Data início contrato\r\n \r\n \r\n\r\n \r\n Data fim contrato\r\n \r\n A data do fim não pode ser antes da data do início do contrato.\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Valor índice reajuste\r\n setValorIndiceReajuste(e.target.value)}\r\n isInvalid={validated && valorIndiceReajuste === \"\"\r\n || validated && valorIndiceReajuste > 1\r\n || validated && valorIndiceReajuste < -1 ? true : false}\r\n isValid={validated && valorIndiceReajuste !== \"\"\r\n || validated && valorIndiceReajuste < 1\r\n || validated && valorIndiceReajuste > -1 ? true : false}\r\n required\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n {\r\n valorIndiceReajuste === \"\" ?\r\n 'O campo valor índice reajuste é obrigatório.'\r\n :\r\n 'O valor índice reajuste deve estar no intervalo de -1 a 1.'\r\n\r\n }\r\n \r\n \r\n\r\n \r\n Valor índice multa\r\n setValorIndiceMulta(e.target.value)}\r\n isInvalid={validated && valorIndiceMulta < 0\r\n || validated && valorIndiceMulta > 1\r\n || validated && valorIndiceMulta === \"\" ? true : false}\r\n isValid={validated && valorIndiceMulta > 0\r\n || validated && valorIndiceMulta < 1\r\n || validated && valorIndiceMulta !== \"\" ? true : false}\r\n required\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n {\r\n valorIndiceMulta === \"\" ?\r\n 'O campo valor índice multa é obrigatório.'\r\n :\r\n 'O valor índice multa deve estar no intervalo de 0 a 1.'\r\n\r\n }\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Valor índice qtd. itens excedentes\r\n setValorIndiceQuantidadeItemExcedente(e.target.value)}\r\n isInvalid={validated && valorIndiceQuantidadeItemExcedente < 0\r\n || validated && valorIndiceQuantidadeItemExcedente > 1\r\n || validated && valorIndiceQuantidadeItemExcedente === \"\" ? true : false}\r\n isValid={validated && valorIndiceQuantidadeItemExcedente > 0\r\n || validated && valorIndiceQuantidadeItemExcedente < 1\r\n || validated && valorIndiceQuantidadeItemExcedente !== \"\" ? true : false}\r\n required\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n {\r\n valorIndiceQuantidadeItemExcedente === \"\" ?\r\n 'O campo valor índice quantidade de item excedente é obrigatório.'\r\n :\r\n 'O valor índice quantidade de item excedente deve estar no intervalo de 0 a 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 setPrivado(e.target.checked)} />\r\n \r\n\r\n \r\n \r\n setLiberaExcedenteSubitem(e.target.checked)} />\r\n \r\n\r\n \r\n \r\n setLiberaExcedenteAutorizacao(e.target.checked)} />\r\n \r\n\r\n \r\n \r\n setLiberaExcedenteGlobal(e.target.checked)} />\r\n \r\n \r\n\r\n \r\n {\r\n id == undefined && inserir == true\r\n ?\r\n \r\n \r\n \r\n\r\n : alterar == true\r\n ?\r\n \r\n \r\n \r\n :\r\n ''\r\n }\r\n {\r\n id != undefined ?\r\n \r\n \r\n \r\n :\r\n ''\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 { Col, Row, Form, Accordion } from \"react-bootstrap\";\r\nimport { Table, Thead, Tbody, Tr, Th, Td } from 'react-super-responsive-table';\r\nimport { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport Multiselect from 'multiselect-react-dropdown';\r\nimport { ListarUsuarioRequest } from '../../../store/modules/usuario/actions';\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport {\r\n AlterarContratoUsuarioRequest, InserirContratoUsuarioRequest,\r\n ListarContratoUsuarioRequest, ExcluirContratoUsuarioRequest\r\n} from '../../../store/modules/contratoUsuario/actions'\r\nimport { toast } from \"react-toastify\";\r\nimport 'react-super-responsive-table/dist/SuperResponsiveTableStyle.css';\r\nimport './usuarioPermissao.css';\r\n\r\nexport default function UsuarioPermissao() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const listaUsuario = useSelector(state => state.usuario.listaUsuario);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const contratoCompleto = useSelector(state => state.contrato.contratoCompleto);\r\n const [listaAtualContratoUsuario, setListaAtualContratoUsuario] = useState([]);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n const [excluir, setExcluir] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"ContratoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"ContratoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"ContratoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n if (token.role.filter(r => r == \"ContratoExcluir\").length == 1) {\r\n setExcluir(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarUsuarioRequest());\r\n dispatch(ListarContratoUsuarioRequest());\r\n\r\n }, [id])\r\n\r\n useEffect(() => {\r\n if (listaContratoUsuario != undefined) {\r\n carregaLista();\r\n }\r\n }, [contratoCompleto, listaContratoUsuario])\r\n\r\n // Carrega lista atual de usuários (e suas permissões) que estão inclusos no contrato\r\n function carregaLista() {\r\n\r\n if (contratoCompleto != null && listaContratoUsuario != undefined && listaUsuario != undefined) {\r\n let idUsuariosContrato = listaContratoUsuario.filter((contratoUsu) => contratoUsu.idContrato === contratoCompleto.id)\r\n .map((contratoUsu) => {\r\n return contratoUsu.idUsuario\r\n });\r\n\r\n let listaCompleta = listaUsuario.filter((usuario) => idUsuariosContrato.includes(usuario.id))\r\n .map((usuario) => {\r\n\r\n let contrato = listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id);\r\n\r\n return {\r\n nome: usuario.nome,\r\n id: usuario.id,\r\n analisaOrcamentoSolicitacao: contrato[0].analisaOrcamentoSolicitacao,\r\n aprovaSolicitacao: contrato[0].aprovaSolicitacao,\r\n finalizaSolicitacao: contrato[0].finalizaSolicitacao,\r\n criaItemSolicitacao: contrato[0].criaItemSolicitacao,\r\n cancelaSolicitacao: contrato[0].cancelaSolicitacao,\r\n finalizaAutorizacao: contrato[0].finalizaAutorizacao,\r\n editaPrazoAutorizacao: contrato[0].editaPrazoAutorizacao,\r\n cancelaAutorizacao: contrato[0].cancelaAutorizacao,\r\n reabrirAutorizacao: contrato[0].reabrirAutorizacao,\r\n finalizaMedicao: contrato[0].finalizaMedicao,\r\n cancelaMedicao: contrato[0].cancelaMedicao,\r\n iniciarMedicao: contrato[0].iniciarMedicao,\r\n editaQuantidadeSubitemMedicao: contrato[0].editaQuantidadeSubitemMedicao,\r\n editaQuantidadeSubitemAutorizacao: contrato[0].editaQuantidadeSubitemAutorizacao,\r\n cancelaEmpenho: contrato[0].cancelaEmpenho,\r\n finalizaEmpenho: contrato[0].finalizaEmpenho,\r\n analisaSubitemEmpenho: contrato[0].analisaSubitemEmpenho,\r\n faturamentoEmpenho: contrato[0].faturamentoEmpenho,\r\n idContratoUsuario: contrato[0].id,\r\n editaExcedenteSubitemAutorizacao: contrato[0].editaExcedenteSubitemAutorizacao,\r\n }\r\n });\r\n\r\n setListaAtualContratoUsuario(listaCompleta);\r\n }\r\n }\r\n\r\n function AdicionarContratoUsuario(event, e) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'IdContrato': contratoCompleto.id,\r\n 'IdUsuario': e.id,\r\n 'AnalisaOrcamentoSolicitacao': false,\r\n 'AprovaSolicitacao': false,\r\n 'FinalizaSolicitacao': false,\r\n 'CriaItemSolicitacao': false,\r\n 'CancelaSolicitacao': false,\r\n 'FinalizaAutorizacao': false,\r\n 'EditaPrazoAutorizacao': false,\r\n 'CancelaAutorizacao': false,\r\n 'ReabrirAutorizacao': false,\r\n 'FinalizaMedicao': false,\r\n 'CancelaMedicao': false,\r\n 'IniciarMedicao': false,\r\n 'EditaQuantidadeSubitemMedicao': false,\r\n 'EditaQuantidadeSubitemAutorizacao': false,\r\n 'CancelaEmpenho': false,\r\n 'FinalizaEmpenho': false,\r\n 'AnalisaSubitemEmpenho': false,\r\n 'FaturamentoEmpenho': false,\r\n 'EditaExcedenteSubitemAutorizacao': false,\r\n }\r\n\r\n dispatch(InserirContratoUsuarioRequest(data));\r\n }\r\n\r\n function ExcluirContratoUsuario(event, e) {\r\n\r\n if (e.id != undefined) {\r\n\r\n let contrato = listaContratoUsuario.find(contrato => contrato.idContrato === contratoCompleto.id\r\n && contrato.idUsuario === e.id);\r\n\r\n if (e.id === contratoCompleto.idUsuario) {\r\n toast.error('Não é possível excluir o criador do contrato!');\r\n setListaAtualContratoUsuario(event);\r\n dispatch(ListarContratoUsuarioRequest());\r\n } else {\r\n dispatch(ExcluirContratoUsuarioRequest(contrato.id));\r\n }\r\n } else {\r\n\r\n let contrato = listaContratoUsuario.find(contrato => contrato.idContrato === contratoCompleto.id\r\n && contrato.idUsuario === e);\r\n\r\n if (e === contratoCompleto.idUsuario) {\r\n toast.error('Não é possível excluir o criador do contrato!');\r\n setListaAtualContratoUsuario(event);\r\n dispatch(ListarContratoUsuarioRequest());\r\n } else {\r\n dispatch(ExcluirContratoUsuarioRequest(contrato.id));\r\n }\r\n }\r\n }\r\n\r\n function AlterarContratoUsuario(e, contratoUsuario, permissao) {\r\n\r\n let data = {\r\n 'Id': contratoUsuario.idContratoUsuario,\r\n 'IdContrato': contratoCompleto.id,\r\n 'IdUsuario': contratoUsuario.id,\r\n 'AprovaSolicitacao': contratoUsuario.aprovaSolicitacao,\r\n 'FinalizaSolicitacao': contratoUsuario.finalizaSolicitacao,\r\n 'CriaItemSolicitacao': contratoUsuario.criaItemSolicitacao,\r\n 'CancelaSolicitacao': contratoUsuario.cancelaSolicitacao,\r\n 'AnalisaOrcamentoSolicitacao': contratoUsuario.analisaOrcamentoSolicitacao,\r\n 'FinalizaAutorizacao': contratoUsuario.finalizaAutorizacao,\r\n 'EditaPrazoAutorizacao': contratoUsuario.editaPrazoAutorizacao,\r\n 'CancelaAutorizacao': contratoUsuario.cancelaAutorizacao,\r\n 'ReabrirAutorizacao': contratoUsuario.reabrirAutorizacao,\r\n 'FinalizaMedicao': contratoUsuario.finalizaMedicao,\r\n 'CancelaMedicao': contratoUsuario.cancelaMedicao,\r\n 'IniciarMedicao': contratoUsuario.iniciarMedicao,\r\n 'EditaQuantidadeSubitemMedicao': contratoUsuario.editaQuantidadeSubitemMedicao,\r\n 'EditaQuantidadeSubitemAutorizacao': contratoUsuario.editaQuantidadeSubitemAutorizacao,\r\n 'CancelaEmpenho': contratoUsuario.cancelaEmpenho,\r\n 'FinalizaEmpenho': contratoUsuario.finalizaEmpenho,\r\n 'AnalisaSubitemEmpenho': contratoUsuario.analisaSubitemEmpenho,\r\n 'FaturamentoEmpenho': contratoUsuario.faturamentoEmpenho,\r\n 'EditaExcedenteSubitemAutorizacao': contratoUsuario.editaExcedenteSubitemAutorizacao,\r\n }\r\n\r\n switch (permissao) {\r\n\r\n case 'aprovaSolicitacao':\r\n contratoUsuario.aprovaSolicitacao = e.target.checked;\r\n data.AprovaSolicitacao = !data.AprovaSolicitacao;\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'finalizaSolicitacao':\r\n contratoUsuario.finalizaSolicitacao = e.target.checked;\r\n data.FinalizaSolicitacao = !data.FinalizaSolicitacao;\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'criaItemSolicitacao':\r\n contratoUsuario.criaItemSolicitacao = e.target.checked;\r\n data.CriaItemSolicitacao = !data.CriaItemSolicitacao;\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'cancelaSolicitacao':\r\n contratoUsuario.cancelaSolicitacao = e.target.checked;\r\n data.CancelaSolicitacao = !data.CancelaSolicitacao\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'analisaOrcamentoSolicitacao':\r\n contratoUsuario.analisaOrcamentoSolicitacao = e.target.checked;\r\n data.AnalisaOrcamentoSolicitacao = !data.AnalisaOrcamentoSolicitacao\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'finalizaAutorizacao':\r\n contratoUsuario.finalizaAutorizacao = e.target.checked;\r\n data.FinalizaAutorizacao = !data.FinalizaAutorizacao\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'editaPrazoAutorizacao':\r\n contratoUsuario.editaPrazoAutorizacao = e.target.checked;\r\n data.EditaPrazoAutorizacao = !data.EditaPrazoAutorizacao\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'cancelaAutorizacao':\r\n contratoUsuario.cancelaAutorizacao = e.target.checked;\r\n data.CancelaAutorizacao = !data.CancelaAutorizacao\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'reabrirAutorizacao':\r\n contratoUsuario.reabrirAutorizacao = e.target.checked;\r\n data.ReabrirAutorizacao = !data.ReabrirAutorizacao\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'finalizaMedicao':\r\n contratoUsuario.finalizaMedicao = e.target.checked;\r\n data.FinalizaMedicao = !data.FinalizaMedicao\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'cancelaMedicao':\r\n contratoUsuario.cancelaMedicao = e.target.checked;\r\n data.CancelaMedicao = !data.CancelaMedicao\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'iniciarMedicao':\r\n contratoUsuario.iniciarMedicao = e.target.checked;\r\n data.IniciarMedicao = !data.IniciarMedicao\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'editaQuantidadeSubitemMedicao':\r\n contratoUsuario.editaQuantidadeSubitemMedicao = e.target.checked;\r\n data.EditaQuantidadeSubitemMedicao = !data.EditaQuantidadeSubitemMedicao\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'editaQuantidadeSubitemAutorizacao':\r\n contratoUsuario.editaQuantidadeSubitemAutorizacao = e.target.checked;\r\n data.EditaQuantidadeSubitemAutorizacao = !data.EditaQuantidadeSubitemAutorizacao\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'cancelaEmpenho':\r\n contratoUsuario.cancelaEmpenho = e.target.checked;\r\n data.CancelaEmpenho = !data.CancelaEmpenho\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'finalizaEmpenho':\r\n contratoUsuario.finalizaEmpenho = e.target.checked;\r\n data.FinalizaEmpenho = !data.FinalizaEmpenho\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'analisaSubitemEmpenho':\r\n contratoUsuario.analisaSubitemEmpenho = e.target.checked;\r\n data.AnalisaSubitemEmpenho = !data.AnalisaSubitemEmpenho\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'faturamentoEmpenho':\r\n contratoUsuario.faturamentoEmpenho = e.target.checked;\r\n data.FaturamentoEmpenho = !data.FaturamentoEmpenho\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n case 'editaExcedenteSubitemAutorizacao':\r\n contratoUsuario.editaExcedenteSubitemAutorizacao = e.target.checked;\r\n data.EditaExcedenteSubitemAutorizacao = !data.EditaExcedenteSubitemAutorizacao\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n break;\r\n }\r\n }\r\n\r\n function AlterarContratoUsuarioTodos(e, contratoUsuario, tabela) {\r\n\r\n let data = {\r\n 'Id': contratoUsuario.idContratoUsuario,\r\n 'IdContrato': contratoCompleto.id,\r\n 'IdUsuario': contratoUsuario.id,\r\n 'AprovaSolicitacao': contratoUsuario.aprovaSolicitacao,\r\n 'FinalizaSolicitacao': contratoUsuario.finalizaSolicitacao,\r\n 'CriaItemSolicitacao': contratoUsuario.criaItemSolicitacao,\r\n 'CancelaSolicitacao': contratoUsuario.cancelaSolicitacao,\r\n 'AnalisaOrcamentoSolicitacao': contratoUsuario.analisaOrcamentoSolicitacao,\r\n 'FinalizaAutorizacao': contratoUsuario.finalizaAutorizacao,\r\n 'EditaPrazoAutorizacao': contratoUsuario.editaPrazoAutorizacao,\r\n 'CancelaAutorizacao': contratoUsuario.cancelaAutorizacao,\r\n 'ReabrirAutorizacao': contratoUsuario.reabrirAutorizacao,\r\n 'FinalizaMedicao': contratoUsuario.finalizaMedicao,\r\n 'CancelaMedicao': contratoUsuario.cancelaMedicao,\r\n 'IniciarMedicao': contratoUsuario.iniciarMedicao,\r\n 'EditaQuantidadeSubitemMedicao': contratoUsuario.editaQuantidadeSubitemMedicao,\r\n 'EditaQuantidadeSubitemAutorizacao': contratoUsuario.editaQuantidadeSubitemAutorizacao,\r\n 'CancelaEmpenho': contratoUsuario.cancelaEmpenho,\r\n 'FinalizaEmpenho': contratoUsuario.finalizaEmpenho,\r\n 'AnalisaSubitemEmpenho': contratoUsuario.analisaSubitemEmpenho,\r\n 'FaturamentoEmpenho': contratoUsuario.faturamentoEmpenho,\r\n 'EditaExcedenteSubitemAutorizacao': contratoUsuario.editaExcedenteSubitemAutorizacao,\r\n }\r\n\r\n switch (tabela) {\r\n\r\n case 'tabelaSolicitacaoFornecimento':\r\n data.AnalisaOrcamentoSolicitacao = e.target.checked;\r\n data.AprovaSolicitacao = e.target.checked;\r\n data.FinalizaSolicitacao = e.target.checked;\r\n data.CancelaSolicitacao = e.target.checked;\r\n data.CriaItemSolicitacao = e.target.checked;\r\n break;\r\n\r\n case 'tabelaAutorizacaoFornecimento':\r\n data.EditaQuantidadeSubitemAutorizacao = e.target.checked;\r\n data.EditaPrazoAutorizacao = e.target.checked;\r\n data.FinalizaAutorizacao = e.target.checked;\r\n data.CancelaAutorizacao = e.target.checked;\r\n data.ReabrirAutorizacao = e.target.checked;\r\n data.EditaExcedenteSubitemAutorizacao = e.target.checked;\r\n break;\r\n\r\n case 'tabelaMedicaoAutorizacaoFornecimento':\r\n data.EditaQuantidadeSubitemMedicao = e.target.checked;\r\n data.FinalizaMedicao = e.target.checked;\r\n data.CancelaMedicao = e.target.checked;\r\n data.IniciarMedicao = e.target.checked;\r\n break;\r\n case 'tabelaEmpenho':\r\n data.CancelaEmpenho = e.target.checked;\r\n data.FinalizaEmpenho = e.target.checked;\r\n data.AnalisaSubitemEmpenho = e.target.checked;\r\n data.FaturamentoEmpenho = e.target.checked;\r\n break;\r\n }\r\n\r\n dispatch(AlterarContratoUsuarioRequest(data));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n Selecione os usuários que terão permissão\r\n (contratoCompleto.idUsuario !== usuario.id))\r\n .map((usuario) => {\r\n return {\r\n nome: usuario.nome,\r\n id: usuario.id,\r\n aprovaSolicitacao: false,\r\n finalizaSolicitacao: false,\r\n criaItemSolicitacao: false,\r\n cancelaSolicitacao: false,\r\n analisaOrcamentoSolicitacao: false,\r\n finalizaAutorizacao: false,\r\n editaPrazoAutorizacao: false,\r\n cancelaAutorizacao: false,\r\n reabrirAutorizacao: false,\r\n finalizaMedicao: false,\r\n cancelaMedicao: false,\r\n iniciarMedicao: false,\r\n editaQuantidadeSubitemMedicao: false,\r\n editaQuantidadeSubitemAutorizacao: false,\r\n cancelaEmpenho: false,\r\n finalizaEmpenho: false,\r\n analisaSubitemEmpenho: false,\r\n faturamentoEmpenho: false,\r\n editaExcedenteSubitemAutorizacao: false,\r\n idContratoUsuario: 0\r\n }\r\n })\r\n :\r\n []\r\n }\r\n avoidHighlightFirstOption={true}\r\n selectedValues={listaAtualContratoUsuario}\r\n disablePreSelectedValues={false}\r\n placeholder=\"Selecione...\"\r\n displayValue=\"nome\"\r\n onSelect={inserir == true ? AdicionarContratoUsuario : undefined}\r\n onRemove={excluir == true ? ExcluirContratoUsuario : undefined}\r\n emptyRecordMsg=\"Nenhuma opção disponível.\"\r\n >\r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n \r\n Permissões Solicitação Fornecimento\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n contratoCompleto ?\r\n listaAtualContratoUsuario.map((contratoUsuario) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n
#NomeSelecionar TodosOrçamentoAprovaFinalizaCancelaCria Item
{contratoUsuario.id}{contratoUsuario.nome}\r\n alterar == true ? AlterarContratoUsuarioTodos(e, contratoUsuario, 'tabelaSolicitacaoFornecimento') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'analisaOrcamentoSolicitacao') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'aprovaSolicitacao') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'finalizaSolicitacao') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'cancelaSolicitacao') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'criaItemSolicitacao') : ''} />\r\n
\r\n
\r\n
\r\n \r\n Permissões Autorização Fornecimento\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n contratoCompleto ?\r\n listaAtualContratoUsuario.map((contratoUsuario) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n
#NomeSelecionar TodosEdita SubitemEdita PrazoFinalizaCancelaReabrirEdita Excedente Subitem
{contratoUsuario.id}{contratoUsuario.nome}\r\n alterar == true ? AlterarContratoUsuarioTodos(e, contratoUsuario, 'tabelaAutorizacaoFornecimento') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'editaQuantidadeSubitemAutorizacao') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'editaPrazoAutorizacao') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'finalizaAutorizacao') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'cancelaAutorizacao') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'reabrirAutorizacao') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'editaExcedenteSubitemAutorizacao') : ''} />\r\n
\r\n
\r\n
\r\n \r\n Permissões Medição Autorização Fornecimento\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n contratoCompleto ?\r\n listaAtualContratoUsuario.map((contratoUsuario) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n
#NomeSelecionar TodosIniciar MediçãoEdita SubitemFinalizaCancela
{contratoUsuario.id}{contratoUsuario.nome}\r\n alterar == true ? AlterarContratoUsuarioTodos(e, contratoUsuario, 'tabelaMedicaoAutorizacaoFornecimento') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'iniciarMedicao') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'editaQuantidadeSubitemMedicao') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'finalizaMedicao') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'cancelaMedicao') : ''} />\r\n
\r\n
\r\n
\r\n \r\n Permissões Empenho\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n contratoCompleto ?\r\n listaAtualContratoUsuario.map((contratoUsuario) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n
#NomeSelecionar TodosAnalisa SubitemFaturamentoFinalizaCancela
{contratoUsuario.id}{contratoUsuario.nome}\r\n alterar == true ? AlterarContratoUsuarioTodos(e, contratoUsuario, 'tabelaEmpenho') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'analisaSubitemEmpenho') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'faturamentoEmpenho') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'finalizaEmpenho') : ''} />\r\n \r\n alterar == true ? AlterarContratoUsuario(e, contratoUsuario, 'cancelaEmpenho') : ''} />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}","export function ListarGrupoCustoRequest() {\r\n return {\r\n type: 'LISTAR_GRUPO_CUSTO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarGrupoCustoResponse(listaGrupoCusto) {\r\n return {\r\n type: 'LISTAR_GRUPO_CUSTO_SUCCESS',\r\n listaGrupoCusto\r\n }\r\n}\r\n\r\nexport function InserirGrupoCustoRequest(data, idContrato) {\r\n return {\r\n type: 'INSERIR_GRUPO_CUSTO_REQUEST',\r\n data, idContrato\r\n }\r\n}\r\n\r\nexport function AlterarGrupoCustoRequest(data, idContrato) {\r\n return {\r\n type: 'ALTERAR_GRUPO_CUSTO_REQUEST',\r\n data, idContrato\r\n }\r\n}\r\n\r\nexport function ExcluirGrupoCustoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_GRUPO_CUSTO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ListarGrupoCustoCompletoRequest(id) {\r\n return {\r\n type: 'LISTAR_GRUPO_CUSTO_COMPLETO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ListarGrupoCustoCompletoResponse(listaCompletaGrupoCusto) {\r\n return {\r\n type: 'LISTAR_GRUPO_CUSTO_COMPLETO_RESPONSE',\r\n listaCompletaGrupoCusto\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { useEffect, useState } from \"react\";\r\nimport { Row, Col, Form, Button } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { InserirGrupoCustoRequest } from \"../../../store/modules/grupoCusto/actions\";\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function GrupoCusto() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const contratoCompleto = useSelector(state => state.contrato.contratoCompleto);\r\n\r\n const [descricaoCodigoInterno, setDescricaoCodigoInterno] = useState('');\r\n const [descricao, setDescricao] = useState('');\r\n const [validated, setValidated] = useState(false);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"ContratoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir\r\n if (token.role.filter(r => r == \"ContratoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n\r\n }, [])\r\n\r\n function CadastrarGrupoCusto(e) {\r\n\r\n e.preventDefault();\r\n\r\n if (descricao == null || descricao == undefined\r\n || descricao.trim() == '') {\r\n toast.error(`Descrição inválida`);\r\n return;\r\n }\r\n\r\n if (descricaoCodigoInterno == null || descricaoCodigoInterno == undefined\r\n || descricaoCodigoInterno.trim() == '') {\r\n toast.error(`Número Interno inválido`);\r\n return;\r\n }\r\n\r\n var data = {\r\n 'Id': parseInt(0),\r\n 'Descricao': descricao.trim(),\r\n 'DescricaoCodigoInterno': descricaoCodigoInterno.trim(),\r\n 'IdContratoVersao': contratoCompleto.contratoVersaoApiModel.id\r\n }\r\n\r\n dispatch(InserirGrupoCustoRequest(data, id));\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n\r\n if (event.currentTarget.checkValidity() === false) {\r\n\r\n event.preventDefault();\r\n setValidated(true);\r\n } else {\r\n\r\n CadastrarGrupoCusto(event);\r\n setDescricao(\"\");\r\n setDescricaoCodigoInterno(\"\");\r\n setValidated(false);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n Descrição\r\n setDescricao(e.target.value)}\r\n maxLength=\"100\"\r\n isInvalid={validated && descricao.trim() === \"\" ? true : false}\r\n isValid={validated && descricao.trim() !== \"\" ? true : false}\r\n required />\r\n O campo descrição é obrigatório.\r\n \r\n\r\n \r\n Número Interno\r\n setDescricaoCodigoInterno(e.target.value)}\r\n maxLength=\"70\"\r\n isInvalid={validated && descricaoCodigoInterno.trim() === \"\" ? true : false}\r\n isValid={validated && descricaoCodigoInterno.trim() !== \"\" ? true : false}\r\n required />\r\n O campo número interno é obrigatório.\r\n \r\n\r\n \r\n\r\n {\r\n inserir == 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}","export function ListarItemCustoRequest(){\r\n return {\r\n type: 'LISTAR_ITEM_CUSTO_REQUEST'\r\n }\r\n }\r\n \r\n\r\nexport function ListarItemCustoResponse(listaItemCusto){\r\n return {\r\n type: 'LISTAR_ITEM_CUSTO_RESPONSE',\r\n listaItemCusto\r\n }\r\n}\r\n\r\nexport function InserirItemCustoRequest(data, idContrato){\r\n return {\r\n type: 'INSERIR_ITEM_CUSTO_REQUEST',\r\n data, idContrato\r\n }\r\n}\r\n\r\nexport function AlterarItemCustoRequest(data, idContrato){\r\n return {\r\n type: 'ALTERAR_ITEM_CUSTO_REQUEST',\r\n data, idContrato\r\n }\r\n}\r\n\r\nexport function ExcluirItemCustoRequest(id){\r\n return {\r\n type: 'EXCLUIR_ITEM_CUSTOREQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ListarItemCustoCompletoRequest(id) {\r\n return {\r\n type: 'LISTAR_ITEM_CUSTO_COMPLETO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ListarItemCustoCompletoResponse(listaCompletaItemCusto) {\r\n return {\r\n type: 'LISTAR_ITEM_CUSTO_COMPLETO_RESPONSE',\r\n listaCompletaItemCusto\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Button } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { InserirItemCustoRequest } from \"../../../store/modules/itemCusto/actions\";\r\nimport { ListarGrupoCustoCompletoRequest } from \"../../../store/modules/grupoCusto/actions\";\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function ItemCusto() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n let listaGrupoCusto = useSelector(state => state.grupoCusto.listaCompletaGrupoCusto);\r\n const contratoCompleto = useSelector(state => state.contrato.contratoCompleto);\r\n\r\n const [idGrupoCusto, setIdGrupoCusto] = useState('');\r\n const [descricaoCodigoInterno, setDescricaoCodigoInterno] = useState('');\r\n const [descricao, setDescricao] = useState('');\r\n const [validated, setValidated] = useState(false);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"ContratoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (contratoCompleto != null) {\r\n var model = {\r\n IdContratoVersao: contratoCompleto.contratoVersaoApiModel.id\r\n }\r\n dispatch(ListarGrupoCustoCompletoRequest(model));\r\n }\r\n\r\n }, [contratoCompleto])\r\n\r\n function CadastrarItemCusto(e) {\r\n\r\n if (descricaoCodigoInterno == null || descricaoCodigoInterno == undefined\r\n || descricaoCodigoInterno.trim() == '') {\r\n toast.error(`Descrição Número Interno inválida`);\r\n return;\r\n }\r\n\r\n if (descricao == null || descricao == undefined\r\n || descricao.trim() == '') {\r\n toast.error(`Descrição inválida`);\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n\r\n var data = {\r\n 'Id': 0,\r\n 'IdGrupoCusto': idGrupoCusto,\r\n 'DescricaoCodigoInterno': descricaoCodigoInterno.trim(),\r\n 'Descricao': descricao.trim(),\r\n 'IdContratoVersao': contratoCompleto.contratoVersaoApiModel.id\r\n }\r\n\r\n dispatch(InserirItemCustoRequest(data, id));\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n\r\n if (event.currentTarget.checkValidity() === false) {\r\n\r\n event.preventDefault();\r\n setValidated(true);\r\n } else {\r\n\r\n CadastrarItemCusto(event);\r\n setDescricao(\"\");\r\n setDescricaoCodigoInterno(\"\");\r\n setIdGrupoCusto(\"\");\r\n setValidated(false);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n Grupo Custo\r\n setIdGrupoCusto(e.target.value)} value={idGrupoCusto} id=\"selectItem\"\r\n required\r\n isInvalid={validated && idGrupoCusto === \"\" ? true : false}\r\n isValid={validated && idGrupoCusto !== \"\" ? true : false}>\r\n \r\n {\r\n listaGrupoCusto != undefined ?\r\n listaGrupoCusto.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo grupo custo é obrigatório.\r\n \r\n\r\n \r\n Número Interno\r\n setDescricaoCodigoInterno(e.target.value)}\r\n maxLength=\"150\"\r\n isInvalid={validated && descricaoCodigoInterno.trim() === \"\" ? true : false}\r\n isValid={validated && descricaoCodigoInterno.trim() !== \"\" ? true : false}\r\n required />\r\n O campo número interno é obrigatório.\r\n \r\n\r\n \r\n\r\n \r\n \r\n Descrição\r\n setDescricao(e.target.value)}\r\n maxLength=\"500\"\r\n isInvalid={validated && descricao.trim() === \"\" ? true : false}\r\n isValid={validated && descricao.trim() !== \"\" ? true : false}\r\n required />\r\n O campo descrição é obrigatório.\r\n \r\n \r\n\r\n \r\n \r\n {\r\n inserir == 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}","export function ListarSubitemCustoRequest() {\r\n return {\r\n type: 'LISTAR_SUBITEM_CUSTO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarSubitemCustoResponse(listaSubitemCusto) {\r\n return {\r\n type: 'LISTAR_SUBITEM_CUSTO_RESPONSE',\r\n listaSubitemCusto\r\n }\r\n}\r\n\r\nexport function InserirSubitemCustoRequest(data, idContrato, idContratoVersao) {\r\n return {\r\n type: 'INSERIR_SUBITEM_CUSTO_REQUEST',\r\n data, idContrato, idContratoVersao\r\n }\r\n}\r\n\r\nexport function AlterarSubitemCustoRequest(data, idContrato) {\r\n return {\r\n type: 'ALTERAR_SUBITEM_CUSTO_REQUEST',\r\n data, idContrato\r\n }\r\n}\r\n\r\nexport function ExcluirSubitemCustoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_SUBITEM_CUSTO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ListarSubitemCustoCompletoRequest(data) {\r\n return {\r\n type: 'LISTAR_SUBITEM_CUSTO_COMPLETO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ListarSubitemCustoCompletoResponse(listaCompletaSubitemCusto) {\r\n return {\r\n type: 'LISTAR_SUBITEM_CUSTO_COMPLETO_RESPONSE',\r\n listaCompletaSubitemCusto\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarUnidadeMedidaRequest() {\r\n return {\r\n type: 'LISTAR_UNIDADE_MEDIDA_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarUnidadeMedidaResponse(listaUnidadeMedida) {\r\n return {\r\n type: 'LISTAR_UNIDADE_MEDIDA_RESPONSE',\r\n listaUnidadeMedida\r\n }\r\n}\r\n\r\nexport function InserirUnidadeMedidaRequest(data) {\r\n return {\r\n type: 'INSERIR_UNIDADE_MEDIDA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarUnidadeMedidaRequest(data) {\r\n return {\r\n type: 'ALTERAR_UNIDADE_MEDIDA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirUnidadeMedidaRequest(id) {\r\n return {\r\n type: 'EXCLUIR_UNIDADE_MEDIDA_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarComposicaoCustoRequest() {\r\n return {\r\n type: 'LISTAR_COMPOSICAO_CUSTO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarComposicaoCustoResponse(listaComposicaoCusto) {\r\n return {\r\n type: 'LISTAR_COMPOSICAO_CUSTO_RESPONSE',\r\n listaComposicaoCusto\r\n }\r\n}\r\n\r\nexport function InserirComposicaoCustoRequest(data) {\r\n return {\r\n type: 'INSERIR_COMPOSICAO_CUSTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarComposicaoCustoRequest(data) {\r\n return {\r\n type: 'ALTERAR_COMPOSICAO_CUSTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirComposicaoCustoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_COMPOSICAO_CUSTO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarFonteReceitaRequest() {\r\n return {\r\n type: 'LISTAR_FONTE_RECEITA_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarFonteReceitaResponse(listaFonteReceita) {\r\n return {\r\n type: 'LISTAR_FONTE_RECEITA_RESPONSE',\r\n listaFonteReceita\r\n }\r\n}\r\n\r\nexport function BuscarFonteReceitaPorIdRequest(id) {\r\n return {\r\n type: 'BUSCAR_FONTE_RECEITA_POR_ID_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function BuscarFonteReceitaPorIdResponse(fonteReceitaCompleta) {\r\n return {\r\n type: 'BUSCAR_FONTE_RECEITA_POR_ID_RESPONSE',\r\n fonteReceitaCompleta\r\n }\r\n}\r\n\r\nexport function InserirFonteReceitaRequest(data) {\r\n return {\r\n type: 'INSERIR_FONTE_RECEITA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarFonteReceitaRequest(data) {\r\n return {\r\n type: 'ALTERAR_FONTE_RECEITA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirFonteReceitaRequest(id) {\r\n return {\r\n type: 'EXCLUIR_FONTE_RECEITA_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}\r\n","import { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Button } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { InserirSubitemCustoRequest } from \"../../../store/modules/subitemCusto/actions\";\r\nimport { ListarItemCustoCompletoRequest } from \"../../../store/modules/itemCusto/actions\";\r\nimport { ListarUnidadeMedidaRequest } from \"../../../store/modules/unidadeMedida/actions\";\r\nimport { ListarComposicaoCustoRequest } from \"../../../store/modules/composicaoCusto/actions\";\r\nimport { ListarFonteReceitaRequest } from \"../../../store/modules/fonteReceita/actions\";\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport { toast } from \"react-toastify\";\r\nimport IntlCurrencyInput from \"react-intl-currency-input\";\r\n\r\nexport default function SubitemCusto() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const listaUnidadeMedida = useSelector(state => state.unidadeMedida.listaUnidadeMedida);\r\n const listaComposicaoCusto = useSelector(state => state.composicaoCusto.listaComposicaoCusto);\r\n const listaFonteReceita = useSelector(state => state.fonteReceita.listaFonteReceita);\r\n const contratoCompleto = useSelector(state => state.contrato.contratoCompleto);\r\n let listaItem = useSelector(state => state.itemCusto.listaCompletaItemCusto);\r\n\r\n const [descricaoCodigoInterno, setDescricaoCodigoInterno] = useState('');\r\n const [descricao, setDescricao] = useState('');\r\n const [unidadeMedida, setUnidadeMedida] = useState('');\r\n const [composicaoCusto, setComposicaoCusto] = useState('');\r\n const [fonteReceita, setFonteReceita] = useState('');\r\n const [itemCusto, setItemCusto] = useState('');\r\n const [valorUnitario, setValorUnitario] = useState(0);\r\n const [valorPrevisaoMensal, setValorPrevisaoMensal] = useState(0);\r\n const [quantidade, setQuantidade] = useState('');\r\n const [validated, setValidated] = useState(false);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"ContratoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n\r\n }, [])\r\n\r\n const currencyConfig = {\r\n locale: \"pt-BR\",\r\n formats: {\r\n number: {\r\n BRL: {\r\n style: \"currency\",\r\n currency: \"BRL\",\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4,\r\n },\r\n },\r\n },\r\n };\r\n\r\n const handleChangeValorUnitario = (event, value, maskedValue) => {\r\n\r\n event.preventDefault();\r\n setValorUnitario(value);\r\n };\r\n\r\n const handleChangeValorPrevisaoMensal = (event, value, maskedValue) => {\r\n\r\n event.preventDefault();\r\n setValorPrevisaoMensal(value);\r\n };\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarUnidadeMedidaRequest());\r\n dispatch(ListarComposicaoCustoRequest());\r\n dispatch(ListarFonteReceitaRequest());\r\n\r\n if (contratoCompleto != null) {\r\n var model = {\r\n IdContratoVersao: contratoCompleto.contratoVersaoApiModel.id\r\n }\r\n dispatch(ListarItemCustoCompletoRequest(model));\r\n }\r\n\r\n }, [contratoCompleto])\r\n\r\n function CadastrarSubitem(e) {\r\n\r\n e.preventDefault();\r\n\r\n //validação do campo descricaoCodigoInterno\r\n if (descricaoCodigoInterno == null || descricaoCodigoInterno == undefined\r\n || descricaoCodigoInterno.trim() == '') {\r\n toast.error(`Descrição Número Interno inválido`);\r\n return;\r\n }\r\n\r\n //validação do campo descricao\r\n if (descricao == null || descricao == undefined\r\n || descricao.trim() == '') {\r\n toast.error(`Descrição inválida`);\r\n return;\r\n }\r\n\r\n var data = {\r\n 'Id': 0,\r\n 'IdItemCusto': itemCusto,\r\n 'Descricao': descricao.trim(),\r\n 'DescricaoCodigoInterno': descricaoCodigoInterno.trim(),\r\n 'Ativo': true,\r\n 'IdUnidadeMedida': parseInt(unidadeMedida),\r\n 'ValorUnitario': valorUnitario,\r\n 'ValorPrevisaoMensal': valorPrevisaoMensal,\r\n 'Quantidade': quantidade,\r\n 'IdFonteReceita': fonteReceita,\r\n 'IdComposicaoCusto': composicaoCusto,\r\n 'IdContrato': contratoCompleto.id,\r\n 'IdContratoVersao': contratoCompleto.contratoVersaoApiModel.id\r\n }\r\n\r\n dispatch(InserirSubitemCustoRequest(data, contratoCompleto.id, contratoCompleto.contratoVersaoApiModel.id));\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n\r\n if (event.currentTarget.checkValidity() === false ||\r\n (valorPrevisaoMensal === 0 || valorPrevisaoMensal === \"\") === true ||\r\n (valorUnitario === 0 || valorUnitario === \"\") === true) {\r\n\r\n event.preventDefault();\r\n setValidated(true);\r\n } else {\r\n\r\n CadastrarSubitem(event);\r\n setDescricao(\"\");\r\n setDescricaoCodigoInterno(\"\");\r\n setUnidadeMedida(\"\");\r\n setComposicaoCusto(\"\");\r\n setItemCusto(\"\");\r\n setValorUnitario(0);\r\n setValorPrevisaoMensal(0);\r\n setQuantidade(\"\");\r\n setFonteReceita(\"\");\r\n setValidated(false);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n Item Custo\r\n setItemCusto(e.target.value)} id=\"selectGrupoCusto\"\r\n value={itemCusto}\r\n required\r\n isInvalid={validated && itemCusto === \"\" ? true : false}\r\n isValid={validated && itemCusto !== \"\" ? true : false}>\r\n \r\n {\r\n listaItem != undefined ?\r\n listaItem.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo item custo é obrigatório.\r\n \r\n\r\n \r\n Número Interno\r\n setDescricaoCodigoInterno(e.target.value)}\r\n maxLength=\"70\"\r\n isInvalid={validated && descricaoCodigoInterno.trim() === \"\" ? true : false}\r\n isValid={validated && descricaoCodigoInterno.trim() !== \"\" ? true : false}\r\n required />\r\n O campo número interno é obrigatório.\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Descrição\r\n setDescricao(e.target.value)}\r\n maxLength=\"20\"\r\n isInvalid={validated && descricao.trim() === \"\" ? true : false}\r\n isValid={validated && descricao.trim() !== \"\" ? true : false}\r\n required />\r\n O campo descrição é obrigatório.\r\n \r\n\r\n \r\n Unidade de Medida\r\n setUnidadeMedida(e.target.value)}\r\n required\r\n isInvalid={validated && unidadeMedida === \"\" ? true : false}\r\n isValid={validated && unidadeMedida !== \"\" ? true : false}\r\n value={unidadeMedida}>\r\n \r\n {\r\n listaUnidadeMedida != undefined ?\r\n listaUnidadeMedida.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo unidade de medida é obrigatório.\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Valor Unitário\r\n \r\n \r\n {\r\n valorUnitario === \"\" ? \"O campo Valor Unitário é obrigatório.\" :\r\n \"O valor precisa ser válido.\"\r\n }\r\n \r\n \r\n\r\n \r\n Valor Previsão Mensal\r\n \r\n \r\n {\r\n valorPrevisaoMensal === \"\" ? \"O campo valor previsão mensal é obrigatório.\" :\r\n \"O valor precisa ser válido.\"\r\n }\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Quantidade\r\n setQuantidade(e.target.value)}\r\n type=\"number\"\r\n maxLength=\"10\"\r\n isInvalid={(validated && quantidade) === \"\"\r\n || (validated && quantidade === '0')\r\n || (validated && quantidade.includes('-'))\r\n || (validated && !(quantidade.replaceAll(\",\", \".\") > 0)) ? true : false}\r\n isValid={validated && quantidade !== \"\" ? true : false}\r\n required\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n {\r\n quantidade === \"\" ? \"O campo quantidade é obrigatório.\" :\r\n \"O valor precisa ser válido.\"\r\n }\r\n \r\n \r\n\r\n \r\n Fonte Receita\r\n setFonteReceita(e.target.value)}\r\n required\r\n isInvalid={validated && fonteReceita === \"\" ? true : false}\r\n isValid={validated && fonteReceita !== \"\" ? true : false}\r\n value={fonteReceita}>\r\n \r\n {\r\n listaFonteReceita != undefined ?\r\n listaFonteReceita.map(fonte => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo fonte receita é obrigatório.\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Composicão Custo\r\n setComposicaoCusto(e.target.value)}\r\n required\r\n isInvalid={validated && composicaoCusto === \"\" ? true : false}\r\n isValid={validated && composicaoCusto !== \"\" ? true : false}\r\n value={composicaoCusto}>\r\n \r\n {\r\n listaComposicaoCusto != undefined ?\r\n listaComposicaoCusto.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo composicao custo é obrigatório.\r\n \r\n\r\n \r\n\r\n \r\n \r\n {\r\n inserir == 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}","import { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Button, Modal, DropdownButton } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { ListarUnidadeMedidaRequest } from \"../../../store/modules/unidadeMedida/actions\";\r\nimport { InserirItensContratoVersaoRequest } from '../../../store/modules/contratoVersao/actions';\r\nimport { AlterarItemCustoRequest } from \"../../../store/modules/itemCusto/actions\";\r\nimport { AlterarGrupoCustoRequest } from \"../../../store/modules/grupoCusto/actions\";\r\nimport { AlterarSubitemCustoRequest } from \"../../../store/modules/subitemCusto/actions\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { useParams } from 'react-router-dom';\r\nimport { ListarCompletoSolicitacaoFornecimentoRequest } from \"../../../store/modules/solicitacaoFornecimento/actions\";\r\nimport Select from 'react-select';\r\nimport MaterialTable from 'material-table';\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport moment from 'moment';\r\nimport ModalSolicitacaoAjusteImportacao from \"../../../components/ModalSolicitacaoAjusteImportacao/modalSolicitacaoAjusteImportacao\";\r\nimport './visualizar.css';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function Visualizar() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n const listaUnidadeMedida = useSelector(state => state.unidadeMedida.listaUnidadeMedida);\r\n const contratoCompleto = useSelector(state => state.contrato.contratoCompleto);\r\n const carregando = useSelector(state => state.contrato.carregando);\r\n const listaSolicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.listaSolicitacaoFornecimento);\r\n const [dados, setDados] = useState('');\r\n const [listaHierarquiaCompleta, setListaHierarquiaCompleta] = useState('');\r\n const [versaoSubItem, setVersaoSubItem] = useState('');\r\n const [oldVersaoSubItem, setOldVersaoSubItem] = useState('');\r\n const [show, setShow] = useState(false);\r\n const [showSolicitacao, setShowSolicitacao] = useState(false);\r\n const [unidMedida, setUnidMedida] = useState('');\r\n\r\n const [codigoInterno, setCodigoInterno] = useState(true);\r\n const [descricao, setDescricao] = useState(true);\r\n const [quantidadeSubitem, setQuantidadeSubitem] = useState(true);\r\n const [valorUnitarioSubitem, setValorUnitarioSubitem] = useState(true);\r\n const [quantidadeSubitemExc, setQuantidadeSubitemExc] = useState(true);\r\n const [quantidadeSubitemConsumido, setQuantidadeSubitemConsumido] = useState(true);\r\n const [saldoDeQuantidade, setSaldoDeQuantidade] = useState(true);\r\n const [saldoDeQuantidadeExc, setSaldoDeQuantidadeExc] = useState(true);\r\n const [quantidadeAF, setQuantidadeAF] = useState(true);\r\n const [valorTotalConsumido, setValorTotalConsumido] = useState(true);\r\n const [valorPrevisaoMensal, setValorPrevisaoMensal] = useState(true);\r\n const [ativo, setAtivo] = useState(true);\r\n const [unidadeDeMedida, setUnidadeDeMedida] = useState(true);\r\n const [camposEditaveis, setCamposEditaveis] = useState(false);\r\n const [tipo, setTipo] = useState('');\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const handleSolicitacaoClose = () => setShowSolicitacao(false);\r\n const handleSolicitacaoShow = () => setShowSolicitacao(true);\r\n\r\n const options = listaUnidadeMedida ?\r\n listaUnidadeMedida.map(unidadeMedida => ({\r\n value: unidadeMedida.id, label: unidadeMedida.descricao\r\n }))\r\n :\r\n [];\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarUnidadeMedidaRequest());\r\n\r\n if (contratoCompleto != null) {\r\n constroiHierarquia();\r\n }\r\n\r\n }, [contratoCompleto])\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarCompletoSolicitacaoFornecimentoRequest({\r\n IdSolicitacaoFornecimento: null,\r\n IdContrato: id,\r\n Servico: true\r\n }));\r\n\r\n }, [id])\r\n\r\n function constroiHierarquia() {\r\n\r\n let hierarquiaCompleta = [];\r\n\r\n contratoCompleto.gruposCusto.map((grupo) => {\r\n hierarquiaCompleta.push({\r\n id: grupo.id,\r\n descricaoCodigoInterno: grupo.descricaoCodigoInterno,\r\n descricao: grupo.descricao,\r\n idContratoVersao: grupo.idContratoVersao,\r\n quantidade: null,\r\n valorUnitario: null,\r\n valorPrevisaoMensal: null,\r\n marcadorSub: null,\r\n valorConsumido: null,\r\n ativo: null,\r\n unidadeMedida: null,\r\n marcadorItem: null,\r\n saldoProjetado: null,\r\n saldo: null,\r\n quantidadeConsumida: null,\r\n quantidadeExcedente: null,\r\n saldoExcedente: null\r\n });\r\n grupo.itens.map((item) => {\r\n hierarquiaCompleta.push({\r\n id: item.id,\r\n descricaoCodigoInterno: item.descricaoCodigoInterno,\r\n descricao: item.descricao,\r\n parentId: item.idGrupoCusto,\r\n idContratoVersao: null,\r\n quantidade: null,\r\n valorUnitario: null,\r\n valorPrevisaoMensal: null,\r\n valorConsumido: null,\r\n marcadorSub: null,\r\n ativo: null,\r\n unidadeMedida: null,\r\n marcadorItem: true,\r\n saldoProjetado: null,\r\n saldo: null,\r\n quantidadeConsumida: null,\r\n quantidadeExcedente: null,\r\n saldoExcedente: null\r\n });\r\n item.subItens.map((subItem) => {\r\n hierarquiaCompleta.push({\r\n id: subItem.id,\r\n descricaoCodigoInterno: subItem.descricaoCodigoInterno,\r\n descricao: subItem.descricao,\r\n parentId: subItem.idItemCusto,\r\n quantidade: parseFloat(subItem.quantidade),\r\n valorUnitario: parseFloat(subItem.valorUnitario),\r\n valorPrevisaoMensal: parseFloat(subItem.valorPrevisaoMensal),\r\n marcadorSub: true,\r\n ativo: subItem.ativo,\r\n valorConsumido: parseFloat(subItem.valorUnitario * subItem.quantidadeConsumida),\r\n idUnidadeMedida: subItem.idUnidadeMedida,\r\n idItemCusto: subItem.idItemCusto,\r\n idFonteReceita: subItem.idFonteReceita,\r\n idComposicaoCusto: subItem.idComposicaoCusto,\r\n saldoProjetado: subItem.saldoProjetado,\r\n marcadorItem: null,\r\n unidadeMedida: subItem.idUnidadeMedida,\r\n saldo: subItem.saldo,\r\n quantidadeConsumida: subItem.quantidadeConsumida,\r\n idContratoVersao: null,\r\n quantidadeExcedente: parseFloat(subItem.quantidade) + parseFloat(subItem.quantidade) * parseFloat(subItem.valorIndiceQuantidadeItemExcedente),\r\n saldoExcedente: subItem.saldoExcedente\r\n });\r\n })\r\n })\r\n })\r\n\r\n setListaHierarquiaCompleta(hierarquiaCompleta);\r\n }\r\n\r\n function EditarSubItem(contratoVersaoSubItem, oldData, unidadeMedidaSelect) {\r\n\r\n // Alterar Grupo Custo e Item Custo\r\n if (contratoVersaoSubItem.marcadorSub === null) {\r\n\r\n // Grupo Custo\r\n if (contratoVersaoSubItem.marcadorItem === null) {\r\n\r\n dispatch(AlterarGrupoCustoRequest({\r\n 'Id': contratoVersaoSubItem.id,\r\n 'Descricao': contratoVersaoSubItem.descricao.trim(),\r\n 'DescricaoCodigoInterno': contratoVersaoSubItem.descricaoCodigoInterno.trim(),\r\n 'IdContratoVersao': contratoVersaoSubItem.idContratoVersao\r\n }, contratoCompleto.id));\r\n\r\n\r\n } else {\r\n\r\n // Item Custo\r\n dispatch(AlterarItemCustoRequest({\r\n 'Id': contratoVersaoSubItem.id,\r\n 'Descricao': contratoVersaoSubItem.descricao.trim(),\r\n 'DescricaoCodigoInterno': contratoVersaoSubItem.descricaoCodigoInterno.trim(),\r\n 'IdGrupoCusto': contratoVersaoSubItem.parentId\r\n }, contratoCompleto.id));\r\n }\r\n\r\n // Alterar Subitem Custo\r\n } else {\r\n\r\n let select = listaUnidadeMedida.filter(soli => soli.descricao == unidadeMedidaSelect);\r\n let idUnidadeMedida = versaoSubItem.unidadeMedida;\r\n if (select.length > 0) {\r\n idUnidadeMedida = parseInt(select[0].id);\r\n }\r\n\r\n if (contratoVersaoSubItem.quantidade != undefined &&\r\n contratoVersaoSubItem.quantidade == oldData.quantidade) {\r\n\r\n dispatch(AlterarSubitemCustoRequest({\r\n 'Id': parseInt(contratoVersaoSubItem.id),\r\n 'IdItemCusto': parseInt(contratoVersaoSubItem.idItemCusto),\r\n 'Descricao': contratoVersaoSubItem.descricao.trim(),\r\n 'DescricaoCodigoInterno': contratoVersaoSubItem.descricaoCodigoInterno.trim(),\r\n 'Ativo': contratoVersaoSubItem.ativo,\r\n 'IdUnidadeMedida': idUnidadeMedida,\r\n 'ValorUnitario': parseFloat(contratoVersaoSubItem.valorUnitario),\r\n 'ValorPrevisaoMensal': parseFloat(contratoVersaoSubItem.valorPrevisaoMensal),\r\n 'Quantidade': contratoVersaoSubItem.quantidade,\r\n 'IdFonteReceita': parseInt(contratoVersaoSubItem.idFonteReceita),\r\n 'IdComposicaoCusto': parseInt(contratoVersaoSubItem.idComposicaoCusto)\r\n }, contratoCompleto.id));\r\n }\r\n\r\n // Alterar Subitem Custo criando nova versão (Altera quantidade e valor unitário)\r\n else if (versaoSubItem.quantidade != oldVersaoSubItem.quantidade ||\r\n versaoSubItem.valorUnitario != oldVersaoSubItem.valorUnitario) {\r\n\r\n let selectUnidMedida = listaUnidadeMedida.filter(soli => soli.descricao == unidMedida);\r\n let idUnidMedida = versaoSubItem.unidadeMedida;\r\n if (selectUnidMedida.length > 0) {\r\n idUnidMedida = parseInt(selectUnidMedida[0].id);\r\n }\r\n\r\n setDados({\r\n 'Id': 0,\r\n 'IdContrato': contratoCompleto.id,\r\n 'IdTipoContratoVersao': contratoCompleto.contratoVersaoApiModel.idTipoContratoVersao,\r\n 'DataVersao': moment((new Date())).add('hours', 2),\r\n 'DataInicioContrato': contratoCompleto.contratoVersaoApiModel.dataInicioContrato,\r\n 'DataFimContrato': contratoCompleto.contratoVersaoApiModel.dataFimContrato,\r\n 'ValorIndiceReajuste': parseFloat(contratoCompleto.contratoVersaoApiModel.valorIndiceReajuste),\r\n 'ValorIndiceMulta': parseFloat(contratoCompleto.contratoVersaoApiModel.valorIndiceMulta),\r\n 'GruposCusto': contratoCompleto.gruposCusto,\r\n 'AdicionarSubItemCusto': {\r\n 'Id': versaoSubItem.id,\r\n 'IdItemCusto': versaoSubItem.idItemCusto,\r\n 'Descricao': versaoSubItem.descricao.trim(),\r\n 'DescricaoCodigoInterno': versaoSubItem.descricaoCodigoInterno.trim(),\r\n 'Ativo': versaoSubItem.ativo,\r\n 'IdUnidadeMedida': idUnidMedida,\r\n 'ValorUnitario': parseFloat(versaoSubItem.valorUnitario),\r\n 'ValorPrevisaoMensal': parseFloat(versaoSubItem.valorPrevisaoMensal),\r\n 'Quantidade': versaoSubItem.quantidade,\r\n 'IdFonteReceita': versaoSubItem.idFonteReceita,\r\n 'IdComposicaoCusto': versaoSubItem.idComposicaoCusto\r\n },\r\n 'AlterarSub': true,\r\n 'IdUsuario': usuario.id,\r\n 'ValorIndiceQuantidadeItemExcedente': parseFloat(contratoCompleto.contratoVersaoApiModel.valorIndiceQuantidadeItemExcedente),\r\n 'ListaIdSolicitacaoFornecimento': null,\r\n 'ListaIdSolicitacaoFornecimentoCancelar': null\r\n });\r\n\r\n setTipo(\"Ajustes\");\r\n handleSolicitacaoShow();\r\n\r\n if ((listaSolicitacaoFornecimento == undefined) || (listaSolicitacaoFornecimento != undefined &&\r\n listaSolicitacaoFornecimento.filter(s => s.statusAtual != \"Solicitação Finalizada\" && s.statusAtual != \"\").length == 0)) {\r\n\r\n dispatch(InserirItensContratoVersaoRequest(dados, id));\r\n\r\n }\r\n\r\n }\r\n }\r\n\r\n if (contratoCompleto != null) {\r\n constroiHierarquia();\r\n }\r\n\r\n handleClose();\r\n }\r\n\r\n function AbrirModalNovaVersao(newSubitem, oldSubitem, unidadeMedidaSelect) {\r\n\r\n setVersaoSubItem(newSubitem);\r\n setOldVersaoSubItem(oldSubitem);\r\n setUnidMedida(unidadeMedidaSelect);\r\n\r\n // Abre o modal caso tenha alterado quantidade ou valor unitário no subitem\r\n if (newSubitem.quantidade != oldSubitem.quantidade ||\r\n newSubitem.valorUnitario != oldSubitem.valorUnitario) {\r\n\r\n handleShow();\r\n\r\n } else {\r\n\r\n EditarSubItem(newSubitem, oldSubitem, unidadeMedidaSelect);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n {\r\n carregando ?\r\n\r\n contratoCompleto != undefined && contratoCompleto != null && contratoCompleto.gruposCusto.length > 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 setCodigoInterno(!codigoInterno)} />\r\n Número Interno\r\n \r\n \r\n \r\n \r\n setDescricao(!descricao)} />\r\n Descricao\r\n \r\n \r\n \r\n \r\n setQuantidadeSubitem(!quantidadeSubitem)} />\r\n Quantidade Subitem\r\n \r\n \r\n \r\n \r\n setQuantidadeSubitemExc(!quantidadeSubitemExc)} />\r\n Quantidade Subitem Excedente\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setQuantidadeSubitemConsumido(!quantidadeSubitemConsumido)} />\r\n Quantidade Subitem Consumido\r\n \r\n \r\n \r\n \r\n setSaldoDeQuantidade(!saldoDeQuantidade)} />\r\n Saldo De Quantidade\r\n \r\n \r\n \r\n \r\n setSaldoDeQuantidadeExc(!saldoDeQuantidadeExc)} />\r\n Saldo De Quantidade Excedente\r\n \r\n \r\n \r\n \r\n setQuantidadeAF(!quantidadeAF)} />\r\n Quantidade AF\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setValorUnitarioSubitem(!valorUnitarioSubitem)} />\r\n Valor Unitário Subitem\r\n \r\n \r\n \r\n \r\n setValorTotalConsumido(!valorTotalConsumido)} />\r\n Valor Total Consumido\r\n \r\n \r\n \r\n \r\n setValorPrevisaoMensal(!valorPrevisaoMensal)} />\r\n Valor Previsao Mensal\r\n \r\n \r\n \r\n \r\n setAtivo(!ativo)} />\r\n Ativo\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setUnidadeDeMedida(!unidadeDeMedida)} />\r\n Unidade De Medida\r\n \r\n \r\n \r\n \r\n setCamposEditaveis(!camposEditaveis)} />\r\n Campos Editáveis\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n

\r\n (linha.quantidade != undefined && linha.quantidade != null)\r\n },\r\n {\r\n title: 'Quantidade Subitem com Excedente', field: 'quantidadeExcedente',\r\n hidden: camposEditaveis ? true : quantidadeSubitemExc ? false : true,\r\n searchable: false,\r\n filtering: false,\r\n editable: 'never'\r\n },\r\n {\r\n title: 'Quantidade Subitem Consumida', field: 'quantidadeConsumida',\r\n hidden: camposEditaveis ? true : quantidadeSubitemConsumido ? false : true,\r\n searchable: false,\r\n filtering: false,\r\n editable: 'never'\r\n },\r\n {\r\n title: 'Saldo de Quantidade', field: 'saldo',\r\n hidden: camposEditaveis ? true : saldoDeQuantidade ? false : true,\r\n searchable: false,\r\n filtering: false,\r\n editable: 'never'\r\n },\r\n {\r\n title: 'Saldo de Quantidade (com o valor índice excedente)', field: 'saldoExcedente',\r\n hidden: camposEditaveis ? true : saldoDeQuantidadeExc ? false : true,\r\n searchable: false,\r\n filtering: false,\r\n editable: 'never'\r\n },\r\n {\r\n title: 'Quantidade em AF', field: 'saldoProjetado',\r\n hidden: camposEditaveis ? true : quantidadeAF ? false : true,\r\n searchable: false,\r\n filtering: false,\r\n editable: 'never'\r\n },\r\n {\r\n title: 'Valor Unitário Subitem', field: 'valorUnitario',\r\n hidden: valorUnitarioSubitem ? false : true,\r\n searchable: false,\r\n filtering: false,\r\n editable: (coluna, linha) => (linha.valorUnitario != undefined && linha.valorUnitario != null),\r\n render: rowData =>\r\n rowData.valorUnitario === null ?\r\n null\r\n :\r\n rowData.valorUnitario.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n })\r\n },\r\n {\r\n title: 'Valor Total Consumido', field: 'valorConsumido',\r\n hidden: camposEditaveis ? true : valorTotalConsumido ? false : true,\r\n searchable: false,\r\n filtering: false,\r\n editable: 'never',\r\n render: rowData =>\r\n rowData.valorConsumido === null ?\r\n null\r\n :\r\n rowData.valorConsumido.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n })\r\n },\r\n {\r\n title: 'Valor Previsão Mensal', field: 'valorPrevisaoMensal',\r\n hidden: valorPrevisaoMensal ? false : true,\r\n searchable: false,\r\n filtering: false,\r\n editable: (coluna, linha) => (linha.valorPrevisaoMensal != undefined && linha.valorPrevisaoMensal != null),\r\n render: rowData =>\r\n rowData.valorPrevisaoMensal === null ?\r\n null\r\n :\r\n rowData.valorPrevisaoMensal.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n })\r\n\r\n },\r\n {\r\n title: 'Ativo', field: 'ativo',\r\n hidden: ativo ? false : true,\r\n editable: (coluna, linha) => (linha.ativo != undefined && linha.ativo != null),\r\n searchable: false,\r\n filtering: false,\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData =>\r\n rowData.ativo === null ?\r\n null\r\n :\r\n ()\r\n\r\n },\r\n {\r\n title: 'Unidade de Medida', field: 'unidadeMedida',\r\n hidden: unidadeDeMedida ? false : true,\r\n filtering: false,\r\n searchable: false,\r\n editable: (coluna, linha) => (linha.ativo != undefined && linha.ativo != null),\r\n lookup:\r\n listaUnidadeMedida != undefined && listaUnidadeMedida.length > 0 ?\r\n\r\n listaUnidadeMedida.map(unidadeMedida => {\r\n return {\r\n id: unidadeMedida.id, descricao: unidadeMedida.descricao\r\n }\r\n }).reduce(function (acc, cur, i) {\r\n acc[cur.id] = cur.descricao;\r\n return acc;\r\n }, {})\r\n :\r\n null,\r\n editComponent: (props) => (\r\n soli.id == props.value).length > 0\r\n ? listaTipoRecurso.filter(soli => soli.id == props.value)[0].descricao\r\n : 'Selecione...'\r\n }}\r\n />\r\n ),\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value ? e.value.toString() : false)\r\n }}\r\n />\r\n )\r\n },\r\n },\r\n {\r\n title: \"Valor\", field: 'valorFonteReceita', type: 'currency', currencySetting: { currencyCode: \"BRL\" }, align: 'left',\r\n validate: rowData => {\r\n if (rowData.valorFonteReceita === undefined || rowData.valorFonteReceita === \"\" || isNaN(rowData.valorFonteReceita)) {\r\n return \"Campo Obrigatório\"\r\n } else if (rowData.valorFonteReceita.toString().length > 10) {\r\n return \"O valor não pode conter mais que 10 números\"\r\n }\r\n return true\r\n }, cellStyle: {\r\n width: '33%'\r\n }\r\n },\r\n ]}\r\n data={\r\n listaFonteReceitaVersaoUltimoAno != undefined ?\r\n listaFonteReceitaVersaoUltimoAno.map((fonteVersao) => {\r\n return {\r\n id: fonteVersao.id,\r\n ano: fonteVersao.ano,\r\n idRecurso: fonteVersao.idRecurso,\r\n valorFonteReceita: fonteVersao.valorFonteReceita\r\n }\r\n })\r\n :\r\n []\r\n }\r\n editable={{\r\n\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n inserir == true ?\r\n setTimeout(() => {\r\n InserirFonteVersao(newRow);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowDelete: oldData => new Promise((resolve, reject) => {\r\n excluir == true ?\r\n setTimeout(() => {\r\n ExcluirFonteReceita(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowUpdate: (newRow) => new Promise((resolve, reject) => {\r\n alterar == true ?\r\n setTimeout(() => {\r\n AlterarFonteVersao(newRow);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n }}\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n addRowPosition: \"first\",\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n localization={{\r\n header: {\r\n actions: ''\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n
\r\n \r\n );\r\n}","import { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Button } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n InserirFonteReceitaRequest, AlterarFonteReceitaRequest,\r\n BuscarFonteReceitaPorIdRequest\r\n} from \"../../../store/modules/fonteReceita/actions\";\r\nimport { useParams } from 'react-router-dom';\r\n\r\nexport default function FonteReceita() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const fonteReceitaCompleta = useSelector(state => state.fonteReceita.fonteReceitaCompleta);\r\n\r\n const [nomeFonteReceita, setNomeFonteReceita] = useState('');\r\n const [numeroCodigoReceita, setNumeroCodigoReceita] = useState('');\r\n const [validated, setValidated] = useState(false); \r\n\r\n useEffect(() => {\r\n if (id != undefined)\r\n dispatch(BuscarFonteReceitaPorIdRequest(id));\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (fonteReceitaCompleta != null && fonteReceitaCompleta.id == parseInt(id)) {\r\n setNomeFonteReceita(fonteReceitaCompleta.nomeFonteReceita);\r\n setNumeroCodigoReceita(fonteReceitaCompleta.numeroCodigoReceita);\r\n }\r\n\r\n }, [fonteReceitaCompleta])\r\n\r\n function InserirFonteReceita(e) {\r\n\r\n e.preventDefault();\r\n\r\n let data = {\r\n 'Id': fonteReceitaCompleta == null ? parseInt(0) : fonteReceitaCompleta.id,\r\n 'NumeroCodigoReceita': numeroCodigoReceita,\r\n 'NomeFonteReceita': nomeFonteReceita.trim()\r\n }\r\n\r\n if (id == undefined) {\r\n dispatch(InserirFonteReceitaRequest(data));\r\n } else {\r\n dispatch(AlterarFonteReceitaRequest(data));\r\n }\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n\r\n if (event.currentTarget.checkValidity() === false) {\r\n event.preventDefault();\r\n } else {\r\n InserirFonteReceita(event);\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n Nome Fonte Receita\r\n setNomeFonteReceita(e.target.value)}\r\n required\r\n isInvalid={validated && nomeFonteReceita === \"\" ? true : false}\r\n isValid={validated && nomeFonteReceita !== \"\" ? true : false} \r\n disabled />\r\n O campo nome fonte receita é obrigatório.\r\n \r\n\r\n \r\n Número Código Receita\r\n setNumeroCodigoReceita(e.target.value)}\r\n required\r\n isInvalid={validated && numeroCodigoReceita === \"\" ? true : false}\r\n isValid={validated && numeroCodigoReceita !== \"\" ? true : false}\r\n disabled />\r\n O campo número código receita é obrigatório.\r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n}","import { Col, Card, Tabs, Tab } from \"react-bootstrap\";\r\nimport { MdAttachMoney } from 'react-icons/md';\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport Versao from '../Versao/versao';\r\nimport Header from \"../../../components/Header/header\";\r\nimport FonteReceita from '../FonteReceita/fonteReceita';\r\nimport { useEffect, useState } from \"react\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function Abas() {\r\n\r\n const { id } = useParams();\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Fonte Receita\r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 React, { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card, Button } from \"react-bootstrap\";\r\nimport {\r\n ListarUnidadeMedidaRequest, ExcluirUnidadeMedidaRequest,\r\n InserirUnidadeMedidaRequest, AlterarUnidadeMedidaRequest\r\n} from '../../../store/modules/unidadeMedida/actions';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { IoResize } from \"react-icons/io5\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport MaterialTable from 'material-table';\r\nimport './unidadeMedida.css';\r\nimport { FaPlus } from \"react-icons/fa\";\r\n\r\n\r\nexport default function UnidadeMedida() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const listaUnidadeMedida = useSelector(state => state.unidadeMedida.listaUnidadeMedida);\r\n const carregando = useSelector(state => state.unidadeMedida.carregando);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n // const myTextIcon = React.useRef(null);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n useEffect(() => {\r\n // myTextIcon.current.parentNode.parentNode.classList.remove('MuiIconButton-root');\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"AuxiliaresMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"AuxiliaresInserir\").length == 1 && token.role.filter(r => r == \"AuxiliaresAlterar\").length == 1) {\r\n setTodasOperacoes(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(ListarUnidadeMedidaRequest());\r\n }, [])\r\n\r\n function ValidacoesInserir(unidadeMedida) {\r\n\r\n //Validação do campo descrição\r\n if (unidadeMedida.descricao == null || unidadeMedida.descricao == undefined\r\n || unidadeMedida.descricao.trim() == '' || unidadeMedida.descricao.length > 50) {\r\n toast.error(`Unidade de medida inválida`);\r\n return;\r\n }\r\n\r\n //Validação do campo abreviação\r\n if (unidadeMedida.abreviacao == null || unidadeMedida.abreviacao == undefined\r\n || unidadeMedida.abreviacao.trim() == '' || unidadeMedida.abreviacao.length > 2) {\r\n toast.error(`Abreviação inválida`);\r\n return;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function InserirUnidadeMedida(unidadeMedida) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'Descricao': unidadeMedida.descricao.trim(),\r\n 'Abreviacao': unidadeMedida.abreviacao.trim(),\r\n }\r\n\r\n dispatch(InserirUnidadeMedidaRequest(data))\r\n }\r\n\r\n function AlterarUnidadeMedida(unidadeMedida) {\r\n\r\n let data = {\r\n 'Id': unidadeMedida.id,\r\n 'Descricao': unidadeMedida.descricao.trim(),\r\n 'Abreviacao': unidadeMedida.abreviacao.trim(),\r\n };\r\n\r\n dispatch(AlterarUnidadeMedidaRequest(data))\r\n }\r\n\r\n function ExcluirUnidadeMedida(idUnidadeMedida) {\r\n dispatch(ExcluirUnidadeMedidaRequest(idUnidadeMedida));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Unidades de Medida\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregando ?\r\n\r\n {\r\n if (rowData.descricao === undefined || rowData.descricao.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n } else if (rowData.descricao.trim().length > 50) {\r\n return \"O nome não pode conter mais que 50 caracteres\"\r\n }\r\n return true\r\n }, cellStyle: { width: '40%' },\r\n\r\n },\r\n {\r\n title: 'Abreviação', field: 'abreviacao', sorting: true, editPlaceholder: 'Abreviação', validate: rowData => {\r\n if (rowData.abreviacao === undefined || rowData.abreviacao.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n } else if (rowData.abreviacao.trim().length > 2) {\r\n return \"A abreviação não pode conter mais que 2 caracteres\"\r\n }\r\n return true\r\n }, cellStyle: { width: '40%' }\r\n },\r\n ]}\r\n data={\r\n listaUnidadeMedida != undefined ?\r\n listaUnidadeMedida.map(unidadeMedida => {\r\n return {\r\n id: unidadeMedida.id,\r\n descricao: unidadeMedida.descricao,\r\n abreviacao: unidadeMedida.abreviacao\r\n }\r\n })\r\n :\r\n []\r\n }\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n editable={{\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n InserirUnidadeMedida(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowUpdate: (newRow, oldRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AlterarUnidadeMedida(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowDelete: oldData => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n ExcluirUnidadeMedida(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n actionsColumnIndex: -1,\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\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 { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card, Button } from \"react-bootstrap\";\r\nimport {\r\n ListarComposicaoCustoRequest, ExcluirComposicaoCustoRequest,\r\n InserirComposicaoCustoRequest, AlterarComposicaoCustoRequest\r\n} from '../../../store/modules/composicaoCusto/actions';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { RiMenuAddLine } from \"react-icons/ri\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport MaterialTable from 'material-table';\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { FaPlus } from \"react-icons/fa\";\r\n\r\nexport default function ComposicaoCusto() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const listaComposicaoCusto = useSelector(state => state.composicaoCusto.listaComposicaoCusto);\r\n const carregando = useSelector(state => state.composicaoCusto.carregando);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"AuxiliaresMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"AuxiliaresInserir\").length == 1 && token.role.filter(r => r == \"AuxiliaresAlterar\").length == 1) {\r\n setTodasOperacoes(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(ListarComposicaoCustoRequest());\r\n }, [])\r\n\r\n function ValidacoesInserir(composicaoCusto) {\r\n\r\n //valida o campo descrição\r\n if (composicaoCusto.descricao == null || composicaoCusto.descricao == undefined ||\r\n composicaoCusto.descricao.trim() == '' || composicaoCusto.descricao.length > 50) {\r\n toast.error(`Composição custo inválida`);\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function InserirComposicaoCusto(composicaoCusto) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'Descricao': composicaoCusto.descricao.trim(),\r\n }\r\n\r\n dispatch(InserirComposicaoCustoRequest(data))\r\n }\r\n\r\n function AlterarComposicaoCusto(composicaoCusto) {\r\n\r\n let data = {\r\n 'Id': composicaoCusto.id,\r\n 'Descricao': composicaoCusto.descricao.trim(),\r\n }\r\n\r\n dispatch(AlterarComposicaoCustoRequest(data))\r\n }\r\n\r\n function ExcluirComposicaoCusto(id) {\r\n dispatch(ExcluirComposicaoCustoRequest(id));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Composição Custo\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregando ?\r\n\r\n {\r\n if (rowData.descricao === undefined || rowData.descricao.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n } else if (rowData.descricao.trim().length > 50) {\r\n return \"A descrição não pode conter mais que 50 caracteres\"\r\n }\r\n return true\r\n }, cellStyle: { width: '80%' }\r\n },\r\n ]}\r\n data={\r\n listaComposicaoCusto != undefined ?\r\n listaComposicaoCusto.map(composicaoCusto => {\r\n return {\r\n id: composicaoCusto.id,\r\n descricao: composicaoCusto.descricao,\r\n }\r\n })\r\n :\r\n []\r\n }\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n editable={{\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n InserirComposicaoCusto(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowUpdate: (newRow, oldRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AlterarComposicaoCusto(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowDelete: oldData => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n ExcluirComposicaoCusto(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \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 { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card, Button } from \"react-bootstrap\";\r\nimport {\r\n ListarTipoRecursoRequest, ExcluirTipoRecursoRequest,\r\n InserirTipoRecursoRequest, AlterarTipoRecursoRequest\r\n} from '../../../store/modules/tipoRecurso/actions';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { GrResources } from \"react-icons/gr\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport MaterialTable from 'material-table';\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { FaPlus } from \"react-icons/fa\";\r\n\r\nexport default function TipoRecurso() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const listaTipoRecurso = useSelector(state => state.tipoRecurso.listaTipoRecurso);\r\n const carregando = useSelector(state => state.tipoRecurso.carregando);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"AuxiliaresMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"AuxiliaresInserir\").length == 1 && token.role.filter(r => r == \"AuxiliaresAlterar\").length == 1) {\r\n setTodasOperacoes(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(ListarTipoRecursoRequest());\r\n }, [])\r\n\r\n function ValidacoesInserir(tipoRecurso) {\r\n\r\n //validação do campo descrição\r\n if (tipoRecurso.descricao == null || tipoRecurso.descricao == undefined\r\n || tipoRecurso.descricao.trim() == ''\r\n || tipoRecurso.descricao.length > 50) {\r\n toast.error(`Recurso inválido`);\r\n return;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function InserirTipoRecurso(tipoRecurso) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'Descricao': tipoRecurso.descricao.trim(),\r\n }\r\n\r\n dispatch(InserirTipoRecursoRequest(data))\r\n }\r\n\r\n function AlterarTipoRecurso(tipoRecurso) {\r\n\r\n let data = {\r\n 'Id': tipoRecurso.id,\r\n 'Descricao': tipoRecurso.descricao.trim(),\r\n }\r\n\r\n dispatch(AlterarTipoRecursoRequest(data))\r\n }\r\n\r\n function ExcluirTipoRecurso(idTipoRecurso) {\r\n dispatch(ExcluirTipoRecursoRequest(idTipoRecurso));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Recursos\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregando ?\r\n\r\n {\r\n if (rowData.descricao === undefined || rowData.descricao.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n }\r\n else if (rowData.descricao.trim().length > 50) {\r\n return \"A descrição não pode conter mais que 50 caracteres\"\r\n }\r\n return true\r\n }, cellStyle: { width: '80%' }\r\n },\r\n ]}\r\n data={\r\n listaTipoRecurso != undefined ?\r\n listaTipoRecurso.map(recurso => {\r\n return {\r\n id: recurso.id,\r\n descricao: recurso.descricao,\r\n }\r\n })\r\n :\r\n []\r\n }\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n editable={{\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n InserirTipoRecurso(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowUpdate: (newRow, oldRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AlterarTipoRecurso(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowDelete: oldData => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n ExcluirTipoRecurso(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n )\r\n}","export function ListarEventoAdicionalRequest(idSolicitacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_EVENTO_ADICIONAL_REQUEST', idSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarEventoAdicionalResponse(listaEventoAdicional) {\r\n return {\r\n type: 'LISTAR_EVENTO_ADICIONAL_RESPONSE',\r\n listaEventoAdicional\r\n }\r\n}\r\n\r\nexport function BuscarEventoAdicionalPorIdRequest(id) {\r\n return {\r\n type: 'BUSCAR_EVENTO_ADICIONAL_POR_ID_REQUEST', id\r\n }\r\n}\r\n\r\nexport function BuscarEventoAdicionalPorIdResponse(eventoAdicionalCompleto) {\r\n return {\r\n type: 'BUSCAR_EVENTO_ADICIONAL_POR_ID_RESPONSE',\r\n eventoAdicionalCompleto\r\n }\r\n}\r\n\r\nexport function InserirEventoAdicionalRequest(data, idSolicitacaoFornecimento) {\r\n return {\r\n type: 'INSERIR_EVENTO_ADICIONAL_REQUEST',\r\n data, idSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function AlterarEventoAdicionalRequest(data, idSolicitacaoFornecimento) {\r\n return {\r\n type: 'ALTERAR_EVENTO_ADICIONAL_REQUEST',\r\n data, idSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ExcluirEventoAdicionalRequest(id, idSolicitacaoFornecimento) {\r\n return {\r\n type: 'EXCLUIR_EVENTO_ADICIONAL_REQUEST',\r\n id, idSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function LimparEventoAdicional() {\r\n return {\r\n type: 'LIMPAR_EVENTO_ADICIONAL'\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarSolicitacaoFornecimentoVersaoRequest() {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_VERSAO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarSolicitacaoFornecimentoVersaoResponse(listaSolicitacaoFornecimentoVersao) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_VERSAO_RESPONSE',\r\n listaSolicitacaoFornecimentoVersao\r\n }\r\n}\r\n\r\nexport function InserirSolicitacaoFornecimentoVersaoRequest(data) {\r\n return {\r\n type: 'INSERIR_SOLICITACAO_FORNECIMENTO_VERSAO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ListarCompletoSolicitacaoFornecimentoVersaoRequest(idSolicitacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_COMPLETO_SOLICITACAO_FORNECIMENTO_VERSAO_REQUEST', idSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarCompletoSolicitacaoFornecimentoVersaoResponse(listaCompletaSolicitacaoFornecimentoVersao) {\r\n return {\r\n type: 'LISTAR_COMPLETO_SOLICITACAO_FORNECIMENTO_VERSAO_RESPONSE', listaCompletaSolicitacaoFornecimentoVersao\r\n }\r\n}\r\n \r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarRegiaoRequest() {\r\n return {\r\n type: 'LISTAR_REGIAO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarRegiaoResponse(listaRegiao) {\r\n return {\r\n type: 'LISTAR_REGIAO_RESPONSE',\r\n listaRegiao\r\n }\r\n}\r\n\r\nexport function InserirRegiaoRequest(data) {\r\n return {\r\n type: 'INSERIR_REGIAO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarRegiaoRequest(data) {\r\n return {\r\n type: 'ALTERAR_REGIAO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirRegiaoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_REGIAO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarTipoSolicitacaoRequest() {\r\n return {\r\n type: 'LISTAR_TIPO_SOLICITACAO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarTipoSolicitacaoResponse(listaTipoSolicitacao) {\r\n return {\r\n type: 'LISTAR_TIPO_SOLICITACAO_RESPONSE',\r\n listaTipoSolicitacao\r\n }\r\n}\r\n\r\nexport function BuscarTipoSolicitacaoRequest(id, idSolicitacaoFornecimento) {\r\n return {\r\n type: 'BUSCAR_TIPO_SOLICITACAO_REQUEST', id, idSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function BuscarTipoSolicitacaoResponse(tipoSolicitacaoCompleto) {\r\n return {\r\n type: 'BUSCAR_TIPO_SOLICITACAO_RESPONSE',\r\n tipoSolicitacaoCompleto\r\n }\r\n}\r\n\r\nexport function InserirTipoSolicitacaoRequest(data) {\r\n return {\r\n type: 'INSERIR_TIPO_SOLICITACAO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarTipoSolicitacaoRequest(data) {\r\n return {\r\n type: 'ALTERAR_TIPO_SOLICITACAO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirTipoSolicitacaoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_TIPO_SOLICITACAO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarSolicitacaoFornecimentoVersaoStatusRequest(IdSolicitacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_REQUEST',\r\n IdSolicitacaoFornecimento\r\n }\r\n}\r\nexport function ListarSolicitacaoFornecimentoVersaoStatusResponse(listaSolicitacaoFornecimentoVersaoStatus) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_RESPONSE',\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n }\r\n}\r\n\r\nexport function InserirSolicitacaoFornecimentoVersaoStatusRequest(data, IdSolicitacaoFornecimento, verificacao) {\r\n return {\r\n type: 'INSERIR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_REQUEST',\r\n data, IdSolicitacaoFornecimento, verificacao\r\n }\r\n}\r\n\r\nexport function AlterarSolicitacaoFornecimentoVersaoStatusRequest(data, IdSolicitacaoFornecimento, validacao) {\r\n return {\r\n type: 'ALTERAR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_REQUEST',\r\n data, IdSolicitacaoFornecimento, validacao\r\n }\r\n}\r\n\r\nexport function ExcluirSolicitacaoFornecimentoVersaoStatusRequest(id, IdSolicitacaoFornecimento) {\r\n return {\r\n type: 'EXCLUIR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_REQUEST',\r\n id, IdSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ExcluirSolicitacaoFornecimentoVersaoStatusMantendoOsItensRequest(id, IdSolicitacaoFornecimento) {\r\n return {\r\n type: 'EXCLUIR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_MANTENDO_OS_ITENS_REQUEST',\r\n id, IdSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ValidarSolicitacaoFornecimentoVersaoStatusResponse(listaValidacaoSolicitacaoStatus) {\r\n return {\r\n type: 'VALIDAR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_RESPONSE',\r\n listaValidacaoSolicitacaoStatus\r\n }\r\n}\r\n\r\nexport function LimparListaValidacaoSolicitacao() {\r\n return {\r\n type: 'LIMPAR_LISTA_VALIDACAO_SOLICITACAO'\r\n }\r\n}\r\n\r\nexport function LimparSolicitacaoStatus() {\r\n return {\r\n type: 'LIMPAR_SOLICITACAO_STATUS'\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarPrioridadeRequest() {\r\n return {\r\n type: 'LISTAR_PRIORIDADE_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarPrioridadeResponse(listaPrioridade) {\r\n return {\r\n type: 'LISTAR_PRIORIDADE_RESPONSE',\r\n listaPrioridade\r\n }\r\n}\r\n\r\nexport function InserirPrioridadeRequest(data) {\r\n return {\r\n type: 'INSERIR_PRIORIDADE_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarPrioridadeRequest(data) {\r\n return {\r\n type: 'ALTERAR_PRIORIDADE_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirPrioridadeRequest(id) {\r\n return {\r\n type: 'EXCLUIR_PRIORIDADE_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarStatusSolicitacaoFornecimentoRequest() {\r\n return {\r\n type: 'LISTAR_STATUS_SOLICITACAO_FORNECIMENTO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarStatusSolicitacaoFornecimentoResponse(listaStatusSolicitacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_STATUS_SOLICITACAO_FORNECIMENTO_RESPONSE',\r\n listaStatusSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarStatusSolicitacaoFornecimentoCompletoRequest(idSolicitacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_STATUS_SOLICITACAO_FORNECIMENTO_COMPLETO_REQUEST', idSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarStatusSolicitacaoFornecimentoCompletoResponse(listaStatusSolicitacaoFornecimentoCompleto) {\r\n return {\r\n type: 'LISTAR_STATUS_SOLICITACAO_FORNECIMENTO_COMPLETO_RESPONSE',\r\n listaStatusSolicitacaoFornecimentoCompleto\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}\r\n","export function ListarBairroRequest() {\r\n return {\r\n type: 'LISTAR_BAIRRO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarBairroResponse(listaBairro) {\r\n return {\r\n type: 'LISTAR_BAIRRO_RESPONSE',\r\n listaBairro\r\n }\r\n}\r\n\r\nexport function InserirBairroRequest(data) {\r\n return {\r\n type: 'INSERIR_BAIRRO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarBairroRequest(data) {\r\n return {\r\n type: 'ALTERAR_BAIRRO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirBairroRequest(id) {\r\n return {\r\n type: 'EXCLUIR_BAIRRO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function BuscarInteressadoPorNomeRequest(interessado) {\r\n return {\r\n type: 'BUSCAR_INTERESSADO_POR_NOME_REQUEST',\r\n interessado\r\n }\r\n}\r\n\r\nexport function BuscarInteressadoPorNomeResponse(listaInteressadoPorNome) {\r\n return {\r\n type: 'BUSCAR_INTERESSADO_POR_NOME_RESPONSE',\r\n listaInteressadoPorNome\r\n }\r\n}\r\n\r\nexport function LimparlistaInteressadoPorNome() {\r\n return {\r\n type: 'LIMPAR_LISTA_INTERESSADO_POR_NOME'\r\n }\r\n}\r\n\r\nexport function ListarInteressadoRequest() {\r\n return {\r\n type: 'LISTAR_INTERESSADO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarInteressadoResponse(listaInteressado) {\r\n return {\r\n type: 'LISTAR_INTERESSADO_RESPONSE',\r\n listaInteressado\r\n }\r\n}\r\n\r\nexport function InserirInteressadoRequest(data) {\r\n return {\r\n type: 'INSERIR_INTERESSADO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarInteressadoRequest(data) {\r\n return {\r\n type: 'ALTERAR_INTERESSADO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirInteressadoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_INTERESSADO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export default __webpack_public_path__ + \"static/media/novoCabecalhoCor.4e61a681.jpg\";","export default \"data:image/jpeg;base64,/9j/4QAWRXhpZgAATU0AKgAAAAgAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCABVAoQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9RP8AhqH9qg/8266MP+5rh/xo/wCGnv2qm/5t10Me58WQ/wCNfXFFVzeR4/8AZlf/AKCZ/wDkn/yJ8j/8NNftWf8ARu+g/j4rh/xoH7S/7V56fs8+Hfx8WQ/419cUUc3kH9mV/wDoJn/5J/8AInyOP2kf2sW/5t68M/j4th/xoH7Rn7WjH/k3vwr+Pi2H/wCKr646UUcw/wCzK3/QRP8A8k/+RPkdv2if2tsfL+z74R/HxdD/AI00/tE/tdH/AJt+8H/+FdD/APFV9dUUc3kL+zK3/QTP/wAk/wDkT5FH7RH7Xf8A0b/4OH18XRf/ABVA/aF/a6P/ADQHwb+Pi6L/AOKr66oo5l2D+y63/QTP/wAk/wDkT5H/AOGgv2usf8kD8F/+FbH/APFUD9oD9rw/80F8ED6+LY//AIqvriijmXYP7Lq/9BNT/wAl/wDkT5JHx8/a8P8AzQjwL/4Vif8AxVB+PP7X3/RC/AP/AIVaf/FV9bUUcy7D/sur/wBBFT/yX/5E+Sf+F6/tfN/zQ/4fr9fFK/8AxVH/AAvL9sA/80R+Ho/7mhf/AIqvraijmXYP7Lq/9BFT/wAl/wDkT5JHxu/bAI/5Ir8Ox/3M4/8AiqD8a/2wv+iL/Dn/AMKf/wCyr62oo5vIX9l1f+gip/5L/wDInyT/AMLp/bC/6Iz8N/8Awpf/ALKgfGb9sQn/AJI58NB/3Mp/+Kr62oo5l2D+y6v/AEEVP/Jf/kT5KPxk/bEP/NH/AIZf+FGf/iqT/hcP7Yp/5pD8MB/3MTf/ABVfW1FHN5B/ZdT/AKCKn3x/+RPkofF79sU/80k+F4/7mF//AIqk/wCFs/tjN/zSj4V/j4gf/wCKr62oo5vIP7Kqf9BFT74//InyX/wtX9sbH/JKvhSP+4/J/wDFU3/han7ZB/5pf8J1+uuyf/FV9bUUc3kH9lT/AOgip98f/kT5J/4Wj+2Uf+aY/CYf9xyX/wCKpP8AhZf7ZTf802+Eq/8Acbl/+Kr63oo5vIr+y5/8/wCp96/+RPkj/hY/7Zh/5p18Ix9dZl/+KoPxE/bMP/NPfhF/4OJv/iq+t6KObyD+y5f8/wCp96/yPkgfEH9s5v8Amn/wfX/uLzf/ABVJ/wAJ9+2cf+ZD+Do/7i0/+NfXGM0YxRzeQf2XL/n/AFPvX+R8j/8ACdftoE/8iP8ABtfrqk/+NH/Cb/toH/mSfgz+OqXH/wAVX1xRRzB/Zcv+f9T71/8AInyP/wAJn+2kf+ZN+C/46lc/40n/AAl/7aR/5k/4Kr/3Ebn/ABr65xmijm8g/sqX/P8Aqfev/kT5G/4Sz9tT/oUvgl/4MLr/ABo/4Sj9tRv+ZV+CK/W/uv8AGvrmijm8g/suX/P+p96/yPkY+JP21D/zLPwPH/b7d/40h8Rftrf9C78D/wDwMu/8a+uqKObyD+yn/wA/6n/gS/yPkM+IP22O3h/4Gj/t7u//AIqg6/8Ats/9AH4G/wDgVd//ABVfXlFPm8kH9lP/AJ/1P/Al/kfIY179to/8wL4G/wDgTd//ABVOXW/22O+i/A3/AMCLv/4qvrqilzeQf2V/0+qf+Bf8A+Rv7Z/bWP8AzB/gav8A23vP/iqT+1P212/5hnwNX/ttd/8AxVfXVFHN5B/ZP/T6p/4F/wAA+RTqP7axP/Hj8Dl/7aXf+NH2z9tRv+XX4H/993X+NfXVFHN5B/ZP/T6p/wCBf8A+RjP+2oelv8EF/G6/xpPM/bWb/ln8EB/4Ff419dUUc3kH9k/9Pqn/AIF/wD5HC/tqEf8AND1/C7o8n9tQ/wDLT4ID/gN1X1xRRzB/ZK/5/VP/AAL/AIB8jG1/bU/5+Pgj/wB+7ql+xftpt/y9/BFfpFdV9cUUcwf2Sv8An9U/8C/4B8j/ANm/tpH/AJiHwTH/AGwuaT+yv20j/wAxL4Kr/wBsLn/CvrmijmD+yF/z9qf+BHyOdF/bSPTWPgov/btc8/pSrof7aR/5jnwV/wDAW5/wr63oo5vIn+x1/wA/qn/gbPkj/hH/ANtJv+Zg+Cq/9udzx+lJ/wAIz+2if+Zj+Cw/7crn/CvriijmH/ZC/wCf1T/wNnyOvhb9tD/oaPguv/bjcf4Uf8Il+2gR/wAjZ8GR/wBw+4/+Jr64oo5g/seP/P2p/wCBs+SP+EP/AG0CP+Rw+DC/9w64/wDiaP8AhCf20G/5nP4M/wDgtuP/AImvreijm8h/2PH/AJ+1P/A2fI//AAgv7aDH/kdvgyv/AHDLj/4ml/4QH9s4/wDM9/Bv/wAFU/8A8TX1vRRzC/seP/P2p/4Gz5H/AOFe/tnn/mfvg3/4KJ//AIij/hXf7Zx/5qD8G19/7In4/wDHK+uKKObyD+x4/wDP2p/4Gz5HHw2/bOb/AJqN8HB9NGn/APiKD8M/2zv+ilfB0f8AcFm/+Ir64oo5vIf9jx/5+1P/AANnyP8A8Kx/bNP/ADUz4Pf+CSb/AOIpP+FW/tmn/mqHwgX/ALgcv/xFfXNFHN5B/ZEf+ftT/wADZ8i/8Kp/bOP/ADVL4RD/ALgMv/xFH/Cpv2zv+iq/CP8A8EEn/wARX11iijmD+x4f8/an/gcv8z5D/wCFSftof9FY+EY/7gEn/wAbp3/Co/2zj/zVr4S/+E/J/wDEV9dUUcwf2PD/AJ+VP/A5f5nyL/wqD9swj/krfwn/APCdf/4ij/hT/wC2Z/0V74Uj6eHH/wDiK+uqKOYP7Hh/z8qf+By/zPkcfB79sk9fi/8ACwfTw43/AMRQPg1+2QT83xg+Fo+nhxv/AIivriijmYf2PT/5+VP/AAOX+Z8j/wDClv2xT/zWP4Y/+E2f/iKK+uKKfOw/sen/AM/J/wDgcv8AM+VW/wCCz/wBU/8AIzar/wCCW6/+Ipv/AA+i+AJ/5mXVf/BLdf8AxFfi2eWb60da39ij8p/4iLmP8sfuf+Z+0n/D6L4A/wDQy6r/AOCW6/8AiKP+H0XwB/6GXVf/AAS3X/xFfi3RR7FB/wARFzH+WP3P/M/aT/h9F8Af+hl1b/wS3X/xFH/D6L4Aj/mZdV/8Et1/8RX4t4o6UexQf8RFzH+WP3P/ADP2k/4fRfAEf8zLq3/gluv/AIij/h9D8AR/zMurf+CW6/8AiK/FvGKMYo9ig/4iLmP8sfuf+Z+0n/D6H4A/9DLq3/gluv8A4ij/AIfRfAH/AKGXVv8AwS3X/wARX4t4oxR7FB/xEXMf5Y/c/wDM/aT/AIfQ/AH/AKGXVv8AwS3X/wARR/w+h+AJ/wCZl1b/AMEt1/8AEV+LeKMZo9ig/wCIi5j/ACx+5/5n7Sf8PovgCf8AmZdW/wDBLdf/ABFH/D6L4A/9DLq3/gluv/iK/FvGaMUexQf8RFzH+WP3P/M/aT/h9F8Af+hl1b/wS3X/AMRR/wAPovgD/wBDLqv/AIJbr/4ivxbxRR7FB/xEXMf5Y/c/8z9pP+H0XwB/6GXVf/BLdf8AxFH/AA+i+AI/5mXVf/BLdf8AxFfi3R0o9ig/4iLmP8sfuf8AmftJ/wAPovgCP+Zl1b/wS3X/AMRR/wAPovgCP+Zl1b/wS3X/AMRX4t4xRjFHsUH/ABEXMf5Y/c/8z9pP+H0XwB/6GXVv/BLdf/EUf8PofgD/ANDLq3/gluv/AIivxbxRij2KD/iIuY/yx+5/5n7Sf8PofgD/ANDLq3/gluv/AIij/h9F8Af+hl1b/wAEt1/8RX4t4oxR7FB/xEXMf5Y/c/8AM/aT/h9D8AT/AMzLq3/gluv/AIij/h9F8AT/AMzLq3/gluv/AIivxbxmjGaPYoP+Ii5j/LH7n/mftJ/w+i+AP/Qy6t/4Jbr/AOIo/wCH0XwB/wChl1b/AMEt1/8AEV+LeKMUexQf8RFzH+WP3P8AzP2k/wCH0XwB/wChl1b/AMEt1/8AEUf8PovgD/0Muq/+CW6/+Ir8W8UUexQf8RFzH+WP3P8AzP2k/wCH0XwBH/My6r/4Jbr/AOIo/wCH0XwBH/My6t/4Jbr/AOIr8W+lGMUexQf8RFzH+WP3P/M/aT/h9F8Af+hl1b/wS3X/AMRR/wAPovgD/wBDLq3/AIJbr/4ivxbxRij2KD/iIuY/yx+5/wCZ+0n/AA+i+AP/AEMurf8Agluv/iKP+H0PwB/6GXVv/BLdf/EV+LeKMUexQf8AERcx/lj9z/zP2k/4fQ/AE/8AMy6t/wCCW6/+Io/4fRfAE/8AMy6t/wCCW6/+Ir8W8Zoxmj2KD/iIuY/yx+5/5n7Sf8PovgCf+Zl1b/wS3X/xFH/D6L4A/wDQy6t/4Jbr/wCIr8W8ZoxR7FB/xEXMf5Y/c/8AM/aT/h9F8Af+hl1b/wAEt1/8RR/w+i+AP/Qy6t/4Jbr/AOIr8W8UYo9ig/4iLmP8sfuf+Z+0n/D6L4A/9DLq3/gluv8A4ij/AIfRfAEf8zLqv/gluv8A4ivxbxR0o9ig/wCIi5j/ACx+5/5n7Sf8PovgCP8AmZdW/wDBLdf/ABFH/D6L4A/9DLq3/gluv/iK/FvGKMUexQf8RFzH+WP3P/M/aT/h9F8Af+hl1b/wS3X/AMRR/wAPovgD/wBDLq3/AIJbr/4ivxbxRij2KD/iIuY/yx+5/wCZ+0n/AA+i+AP/AEMurf8Agluv/iKP+H0PwBP/ADMurf8Agluv/iK/FvFGM0exQf8AERcx/lj9z/zP2k/4fRfAE/8AMy6t/wCCW6/+Io/4fRfAH/oZdW/8Et1/8RX4t4zRij2KD/iIuY/yx+5/5n7Sf8PovgD/ANDLq3/gluv/AIij/h9F8Af+hl1b/wAEt1/8RX4t4oxR7FB/xEXMf5Y/c/8AM/aT/h9F8Af+hl1b/wAEt1/8RR/w+i+AI/5mXVv/AAS3X/xFfi3ijGKPYoP+Ii5j/LH7n/mftJ/w+i+AI/5mXVv/AAS3X/xFH/D6L4Aj/mZdW/8ABLdf/EV+LeMUYxR7FB/xEXMf5Y/c/wDM/aT/AIfRfAH/AKGXVv8AwS3X/wARR/w+i+AP/Qy6t/4Jbr/4ivxbxRij2KD/AIiLmP8ALH7n/mftJ/w+i+AP/Qy6t/4Jbr/4ij/h9F8Af+hl1b/wS3X/AMRX4t4oxR7FB/xEXMf5Y/c/8z9pP+H0XwBP/My6t/4Jbr/4ij/h9F8AT/zMurf+CW6/+Ir8W8Zoxmj2KD/iIuY/yx+5/wCZ+0n/AA+i+AP/AEMurf8Agluv/iKP+H0XwB/6GXVv/BLdf/EV+LeKMUexQf8AERcx/lj9z/zP2k/4fRfAH/oZdV/8Et1/8RR/w+i+AP8A0Murf+CW6/8AiK/FujFHsUH/ABEXMf5Y/c/8z9pP+H0XwBH/ADMurf8Agluv/iKP+H0PwBH/ADMurf8Agluv/iK/FvGKMYo9ig/4iLmP8sfuf+Z+0n/D6L4A/wDQy6t/4Jbr/wCIo/4fRfAH/oZdW/8ABLdf/EV+LeKMUexQf8RFzH+WP3P/ADP2k/4fRfAH/oZdW/8ABLdf/EUf8PovgD/0Murf+CW6/wDiK/FvFGKPYoP+Ii5j/LH7n/mftJ/w+i+AJ/5mXVv/AAS3X/xFH/D6L4An/mZdW/8ABLdf/EV+LeM0YzR7FB/xEXMf5Y/c/wDM/aT/AIfRfAE/8zLqv/gluv8A4ij/AIfRfAH/AKGXVv8AwS3X/wARX4t9aMUexQf8RFzH+WP3P/M/aT/h9F8Af+hl1b/wS3X/AMRR/wAPovgD/wBDLq3/AIJbr/4ivxbxRij2KD/iIuY/yx+5/wCZ+0n/AA+i+AI/5mXVf/BLdf8AxFFfi30oo9ig/wCIi5j/ACx+5/5gfvN9aKD95vrRWx+fhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAH7zfWig/eb60UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFeN6J8T9YuvifqU8Ml1Jp+tfaLHSori3mWzSaBcxMrkBG80rNkI2flGeleyEZFVItAsYLO2t0srRLezYPbxLCoSBhnBQYwpGTgj1qZJs9LAYujQjNVIc3MrenW+3ez6bNX1OQ+EPxbf4lpNcTLa2du4jhtYmyk80yxK9zgM3zKjOF4HG05Jzxzdhe68viHVNWtV1qS30fVr6S8km1Dfa3FtGr7beOEu2H3bcMEUDHU9K9RtPDenWEkbwafZQtC0jxtHAqlGk5cjA4LdyOvep7XT7exWRYYIYVmdpZAiBd7t95jjqT3J5NHK+p0/2lQp1JyoU/dkkrPotU9urWvrrbY8tj+NmvRmyt2j0O4utWgsLq3kiSQRWy3M6xeXIN5LMu4EMCucH5RTdM+IviHV/iRpNrNdWccVpc6nZ3UVvbOEvTb+UQQDISGKuNoydpDH5sgD0ey8FaPpsbJb6Tplukky3DLHaooaVTuVzgfeB5B6g806bwhpNw6tJpenSMlx9sUtbISs/H70cff4HzdeBzS5Wb/2nglflo7pq9l1jbby3/Hc8w0342eMNZ8Itq1toNrJb3CRzQMgSR40MhV1ES3G+ZgvIz5WSCNoxXReJfGc0ngDw74ttbxmtbWSG5vhCrRxT28g2SkoTn5N28AkkbK6aX4eeH5xciTQ9HcXjB7gNZRnz2HIL8fMRk8n1rQOlWraYbE21v9jaLyTb+WPKMeMbNvTbjjHTFHK+5nWzHBucZUqKjaWqXWLVmtW9fPTva708duPiDqnhiK18TSS311HqVlqurRWLzv5QiVrZbddvQARndwON7HvV69+I3iaOXT7y/t47Nrdb2eIRyKIb1VsjKnmRxzSDAbB5fkYYYzXqTaHZMYc2dqfs8TQRZiX91G2AyLxwp2rkDg7R6VUs/Auh6fbeTb6NpUEOXbZHaRquXXa5wBj5l4PqODxS5X3Nv7YwrXvUVf3l8nzWS1VrJ22d/KyZwGr/ABq1rQL7SI5odPuvtC2kl7HBbsq263MpSMCRpckgA9I2yVOdgIrqPiV4rhsvBI1Kz1yW0Vz/AKM9jHFcvfOQQsUYZWDFmx0HQHkdRtX3g7SdSuLea40vTpprNQlvJJbIzQAcgISPlA9BVWP4baF/wjtjpdxpdjfWenrtgS7t0mCHu3zDAJ7kYqrM5pYzBSlTnyNOL1SSd189NHtps+trvldc1/xN4fuvCtxczXSnUZLS3v4vKt/sMMjrtdC2DNuaQgKR8oyAc1g2PxH8VPb6xZyXVzb6tb6FLqc/2vTQiadOkgHlxcKJEZd+1iXGUzubkV6Mnwy0OLU7e6Sx8trVkaGFJpFtomQYRhCG8sFR0O3Iqw/gXRpl1BZdLsZ11aRZLxZoRItyy8rvDZzjGQOg7VPKzop5pgoxSlSTemvLFdb7Xd9H87JPS98/UtZ8QHwdot1o9ra6hfXTWxuxO4jVYWAMjjkfMPQevQ9K4/46fEHUtE8WWMelyaj5Xh+NdU1BLW3mlW4UuFEMhQFUBjWd8uQMqv1r1DTtNt9HsY7W0t4bW2hG2OKFAkcY9Ao4H4U0aTaiW5k+y2/mXgAuG8sZnAG0bz/Fgcc9qpxZxYTHUKNb2kqakle3S9++60V7WWjZ5TpHxBvoPHWrWemzWrHXNdWGC6vA8kFvGLFJeFDKSWxgDcOTWb8Ofiz4ih0bR9L0+wTUpY7Q3lzJPIga4V7uRDteSZNoAU/MBJyQMDqfW5fAuhz2Elq+jaU9rIyu8LWkZjdlUKpK4wSFAAPYACll8D6LOlqsmj6W62LF7YNaRkW5J3Epx8pzzxjmp5Weg84wThyujf4d+8U1d2aeqdrXSVrrVnmHib4069c+Grqa3OnWsepQ6rHaLHG7XVi1okh3ud+GLCM4wo2l0PzdDe1L4yap4XfQLf8A0XVPMgsTqDrbmPH2iQorBzNkHgnAR8lTkqCMeiweFNLttRuLyPTdPju7xStxOtugknB6hmxlh9arp8PfD8f2Xboejr9iz9nxZR/uMtuOzj5csc8d+aOV9yP7TwFlF0dFftre/XfRWS11fvPXRpBe643j2a3ks7VfDy2avFdCT981xuwUK5+7t5zj8TnA4jQbqbVPhxruv3OqakNaC6lH5QvZI47UxmVVRYQ21Siqpzjdk5z0r1Cs2XwZo82pzXz6TprXlwhilna1QyyoRgqzYyQRwQeCKpxPPw+OhBNSjb4dV1te6d39q93bstDzfUrO+0jwB4deRdZa41TUrZZ4rTX7mea5jMTnCySvH5ZY8lQQvA5PFaeo6r4j+H3wVuprhpJNWa58q18+YTPZxSzhI/NkPDMisMscjI5yOa6/S/h54f0OUSWWh6PZyB1kDQWUcZDLnacgDkZOD2ya1Lu0iv7aSGeKOaGVSrxyKGVweoIPBFLlOurm1OUork5oqSk77vXbd6W07vTpoeX6b451TVNT0/w79vn0Waze8gvb9pIrtpZYEhYBXdApBWbc2UU/IQMYJq54T8aa94j1fwq095Db22vaJcTvFHbDInjMQEoLZO0iQELwPXORjs5PAuiS6PHpzaPpTafC/mR2ptIzCjeoTGAeTzjvS6j4H0bVr4XVxpWny3ixGFbgwL5yIQRhZMbl4JHBGM0uVjnmODkrKnbR9E9Xza667tO13blST1Z5yPHviCw1G90e4vry3kbVLKzS6vILb7RbRTJITKBGPKKs0e1MhiCTkEjFdB4W8aale6RqVtdNdSRWdzc2w15BbLDEkecSSKzj5h0O1CuR25xv6Z8OtF0qxvLZbFbiHUAouReSPdmcKMKGMpYlQOACcDtV9vDunvov9mmxszp2zy/sphXydv8Ad2Y249sVSiycTmGEmrQpJarWyWySbVn3v7t3Hq7s86g8Q+JNT+GeoapaX2uXH2e5nbT5IrS0S4vrcINkjrIoULvDn5VDMuMDJqxpviXVvEnjjw1DY65cSRXWnx6rqkKQwG1jhMahFQmPzAZJMnl8gBsdsdPcfCXw7NZi3i0uGxhyxKWDNZLJuAVtwhK7gQACGyMVq6V4csNDmkks7O3tpJkjido0Cl1jXagPso4HoKXKy6mZYTll7Omr+9a8Yq19Ffe9t00lZ+W2Vb6jrsl54kW/tLa1063Uf2XPDJmSdfLJcsM8ENjHA/TJ4fwXr+seG/AXhWQY/tLxW1tALq91K61KIAwGXzWSQrsdsMPLRgMkfMcCvWXRZUZWUMrDBBGQRVK78M6bqGjJptxp9jNp8aqiWskCtCqrwoCEbQB2GOKbicuHzCnGLhOCs2r2vbRNbX11tJp6N9jyu9+MPiTxR4U1b7D/AGZp8tjot3dzXCxSSM8kUk0WYPnAAbywys2dp7PV3UvjJqnhd9At/wDRdU8yCxOoOtuY8faJCisHM2QeCcBHyVOSoIx6Tb+H7C0A8qxs49sP2YbIVXEXJ8vp93k/L05qmnw98Px/Zduh6Ov2LP2fFlH+4y247OPlyxzx35pcr7nZ/aeBbs6Pu3btp1XV76dNfPpZ+T+DPit4g03SdP0rSdPTU7hY7y/la4kQGZf7Qnj2B5JY9mAv3gJMZUbcc10GofFrXLfWvEXkSaXdaVpU0djbzx2DmSS8klRRAAZwr7VbDMTGNxHQA13lx4G0W7gt45dH0uSOzkaWBHtI2WF2bczKMfKSxJJHJPNQj4beHRPcSf2BovmXgZZ3+wxbpwxywY7fmyRk56mlyvuaVM1wNSbm6O7b2T3knq2+10rJWu99LZ/wn+IrePvDay3S29vqcbypNbRuN2ElaPft3NgEqf4mGcjcetchovjKbw58Gm8ZTXF9qWtzREzW8t4/2eORp1jI8ksEQRFgDgKcA5POa9D0fwRpfh7VnvLGzt7SRrdbYJDGscaIGZ8BVA6sxJ+gqRfBejpf3N0NJ00XV4pS4mFqnmTqeodsZYHuD1qrM41jcJCrNwg+SUou3kr3hvezvv5LTqvNvE/xu8SeFPD/AJl1ptquo2/2i4eHykYT20Qi/eErcssPMm3G6VsgEKQas6/4+1LxJ4a1qKaGxNndX40W2to4ZJJrguqltx86ID5WI++o4JyOh7pvh34fbT4bQ6Fo5tbdzJFCbKPy4mPVlXbgE9yOtWLnwnpd5p81nNpuny2tw/mSwvbo0crcfMykYJ4HJ9BU8r7m/wDaWCXK40rSTvdadU1ZXfbv1sntbn/h148j8bfDCK8QW1reLZFpLaCQZtsb0UgA5VT5ZI+nBOM15n4b8deIPAlppd5LK1w2reHre6ghudTuL6OeUywK00nmYMLFZT8qZXJ6nGD7Po/grTNAvryeztIYDfIkUiJGqxhE3EKFAAxl3J9Sxpmn/Dzw/pEU0droej2sdxt81YrKNBJtO5dwA5wQCM9CKfKx0MzwdKdRezbhJp2fbqr36N6PW9uj1OK174va14d8a2+lfZ7HUP3sdjOUh+zoty9u0y4dpmOOF48sgA8uDxXLa38UtX8V+G7gXk0mn6ha6Zqy3dpDFJaiJ1s0dNwLvvwWJVweQQcAnFey3vg/SdS1P7bcaXp1xebdnnyWyNLj03EZxUVt4D0OytDbw6LpMMBEimNLSNUIkAVxgDHzAAH1A5pOL7lYfNsFTUZex95JXemrs032tr0S6a6a5dnqGuRWfhNdPs7W60+4hX+05ppNskCeUpVlGeSWzng/rkcZd+JtWHxv3rc3g0lNZj05m+0nYubXcYPs2cEFyH87G4c8bRmvW4YUt4VjjVY44wFVVGFUDoAKpv4Z02TWv7SbT7I6iF2C78hfPC9Mb8bsfjVOJx4XMqVNzc6afNGUfPV3u9d1t6dGcj8IfEuqX1w1nr02trq8lv8Aafs97BbRw7BIV3ReUobGcAiQ55Bxg5rJvvinf/DPXNeTXLi+urSzso57QXcdvE11K0rR/u2i+VYiSgPmHcucnAruvD/gPS/C95NcWcM32iaMRNLNdS3DqgOQimRmKrk52rge1HhvwHpfhO6lmsYJlmmQRmSa5luGCAkhFMjMVUEk7VwOelLlZtLHYJ1ak3TvGVtLKOzu7O75dNNL3v0PLdO+KGteKPhXb3Vv4h/4qa41SXTbeKwW2khlkaU7N4aNz5aRgsCMEryScg11kfii80n4kJZtr0moWFjavLrDTwwQ22ngIvlkyKoIkZssVLEBSeBgE9RpXgTSdEaBraxhV7Waa4hdiXaKSYkyFSxJG7JyBx2qOf4b+HbrUJbyTQdFkupyxlmaxiMkm4ENltuTkEg565NHKzStmWCnKSjTtF81vdjf3np8orVa3TfVKz5XUPF99py+NpNS1ya2s9FlimtpLKCFXjiaIOsQ8xHDFiQMkck8YHFZ8V34shfwhps3iG//AOEg1T/SdQh+zWvk29spLSFh5O7dhkiBBALc4613n/Cu9A86aQaJpKyXUizTOtoitM6vvDMQMsQwzz3q+NHtV1Zr8W8P21ohAZ9vzmMHcFz6ZJOKOVmX9pYeKtGmn6xjuoKK6PS95Pu7ebOU+Hmv3+seMtZhXUrjWNGs1WMXUsEUaLc7m3xxMirvVV2gk5w3Ge1dpWXoXgbRPC1y02maPpenTSLsaS1tI4WZc5wSoBxkDj2rUqonnY6tSqVeairKy6JbLey018gooopnGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAB+831ooP3m+tFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAH7zfWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9k=\"","import { Page, Text, View, Document, StyleSheet, Image, Font } from '@react-pdf/renderer';\r\nimport { useEffect } from \"react\";\r\nimport img from '../../assets/login/img_login.png';\r\nimport cabecalho from '../../assets/novoCabecalhoCor.jpg';\r\nimport rodape from '../../assets/novoRodapeCor.jpg';\r\nimport moment from 'moment';\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n page: {\r\n flexDirection: 'row',\r\n backgroundColor: '#fff',\r\n fontSize: '10',\r\n },\r\n titulo: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontWeight: 'bold',\r\n fontSize: '15',\r\n },\r\n linha: {\r\n borderBottom: '1px solid #0000',\r\n width: '100%',\r\n },\r\n espaco: {\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n },\r\n table: {\r\n width: '100%',\r\n },\r\n section: {\r\n margin: 10,\r\n paddingLeft: 10,\r\n paddingRight: 10,\r\n flexGrow: 1,\r\n },\r\n row: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n },\r\n\r\n rowCabecalho: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingBottom: 2,\r\n },\r\n bold: {\r\n fontWeight: 'bold',\r\n fontFamily: 'Helvetica-Bold',\r\n fontSize: '11',\r\n },\r\n bordaCompleta: {\r\n border: '1px solid #0000',\r\n margin: 1\r\n },\r\n comeco: {\r\n width: \"25%\",\r\n },\r\n\r\n meio: {\r\n width: \"50%\",\r\n display: 'flex',\r\n textAlign: 'center',\r\n alignItems: 'center'\r\n },\r\n\r\n comecoMaior: {\r\n width: \"40%\",\r\n },\r\n meio: {\r\n width: \"50%\",\r\n display: 'flex',\r\n textAlign: 'center',\r\n alignItems: 'center'\r\n },\r\n\r\n fim: {\r\n width: \"35%\",\r\n },\r\n linhaMetadeInicio: {\r\n width: \"50%\",\r\n },\r\n linhaMetadeFim: {\r\n width: \"50%\",\r\n },\r\n linhaMetade: {\r\n width: \"45%\",\r\n },\r\n linhaSemiCompleta: {\r\n width: \"85%\",\r\n },\r\n fimLinhaSemiCompleta: {\r\n width: \"15%\",\r\n },\r\n linhaCompleta: {\r\n width: \"100%\",\r\n },\r\n width8: {\r\n width: \"8%\"\r\n },\r\n width10: {\r\n width: \"10%\"\r\n },\r\n width20: {\r\n width: \"20%\"\r\n },\r\n cabecalho: {\r\n color: '#fff',\r\n backgroundColor: '#212529',\r\n bordercolor: '#32383e'\r\n },\r\n cinza: {\r\n backgroundColor: '#e9ecef',\r\n },\r\n logo: {\r\n width: '200',\r\n height: '100'\r\n },\r\n rodape: {\r\n width: '585',\r\n height: '50',\r\n },\r\n alinharBottom: {\r\n position: 'absolute',\r\n bottom: '0',\r\n padding: '5',\r\n },\r\n top20: {\r\n top: '20'\r\n },\r\n top40: {\r\n top: '40'\r\n },\r\n top60: {\r\n top: '60'\r\n },\r\n recuo: {\r\n textIndent: '40px'\r\n },\r\n centralizarTexto: {\r\n display: 'flex',\r\n textAlign: 'center',\r\n alignItems: 'center'\r\n },\r\n});\r\n\r\nexport default function PdfSolicitacaoFornecimento({ data }) {\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [])\r\n\r\n return (\r\n \r\n {\r\n data != 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 \r\n \r\n \r\n \r\n OFÍCIO Nº: {data.numeroOficio}\r\n \r\n \r\n \r\n Fortaleza, {moment(moment((data.data)).add('hours', 2)).format('LL')}\r\n \r\n \r\n {data.destinatario == 'Sem Destinatário' ?\r\n \r\n :\r\n \r\n \r\n \r\n Sr(a): {data.destinatario}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Gerente de Contrato\r\n \r\n \r\n \r\n \r\n \r\n \r\n Rua Padre Severiano - Messejana, Fortaleza - CE, 60871-565\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Prezado(a) Senhor(a).\r\n \r\n \r\n \r\n \r\n Solicitamos análise e posterior orçamento, se necessário, do abaixo discriminado:\r\n \r\n \r\n \r\n }\r\n\r\n\r\n \r\n {\r\n data.interessado == 'Sem Interessado' ?\r\n \r\n :\r\n \r\n \r\n INTERESSADO: {data.interessado}\r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n 1. PROCESSO Nº: {data.numeroProcesso}\r\n \r\n \r\n \r\n \r\n ASSUNTO: {data.assunto}\r\n \r\n \r\n\r\n \r\n \r\n OBS: {data.observacao}\r\n \r\n \r\n \r\n \r\n \r\n LOCAL: {data.local + ', ' + data.bairro}\r\n \r\n \r\n \r\n {\r\n data.interessado == 'Sem Interessado' ?\r\n \r\n :\r\n \r\n \r\n \r\n CONTATO: {data.interessado}\r\n \r\n \r\n \r\n \r\n {data.telefone ? 'Telefone/Celular : (' + data.ddd + ')' + ' ' + data.telefone + ' ' : ''}\r\n {data.telefoneFixo ? 'Telefone : (' + data.dddFixo + ')' + ' ' + data.telefoneFixo + ' ' : ''}\r\n \r\n \r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n Atenciosamente,\r\n \r\n \r\n \r\n \r\n \r\n \r\n ________________________________________________________\r\n \r\n \r\n \r\n \r\n {data.autorizador}\r\n \r\n \r\n \r\n \r\n COORDENADOR DA COEIP\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n ERRO AO GERAR PDF\r\n \r\n \r\n \r\n\r\n }\r\n \r\n )\r\n}","export function ListarRelatorioAutorizacaoFornecimentoSubItemCustoRequest(idAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_RELATORIO_AUTORIZACAO_FORNECIMENTO_SUBITEM_REQUEST',\r\n idAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarRelatorioAutorizacaoFornecimentoSubItemCustoResponse(listaRelatorioAutorizacaoFornecimentoSubitemCusto) {\r\n return {\r\n type: 'LISTAR_RELATORIO_AUTORIZACAO_FORNECIMENTO_SUBITEM_RESPONSE',\r\n listaRelatorioAutorizacaoFornecimentoSubitemCusto\r\n }\r\n}\r\n\r\nexport function BaixarRelatorioTodasSolicitacoesRequest(data) {\r\n return {\r\n type: 'BAIXAR_RELATORIO_TODAS_SOLICITACOES_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function BaixarRelatorioTodasMedicoesRequest(data) {\r\n return {\r\n type: 'BAIXAR_RELATORIO_TODAS_MEDICOES_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function BaixarRelatorioTodasAutorizacoesRequest(data) {\r\n return {\r\n type: 'BAIXAR_RELATORIO_TODAS_AUTORIZACOES_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function BaixarRelatorioTodosSubitensRequest(idContrato) {\r\n return {\r\n type: 'BAIXAR_RELATORIO_TODOS_SUBITENS_REQUEST',\r\n idContrato\r\n }\r\n}\r\n\r\nexport function ListarRelatorioMedicaoSubItemRequest(data) {\r\n return {\r\n type: 'LISTAR_RELATORIO_MEDICAO_SUBITEM_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ListarRelatorioMedicaoSubItemResponse(listaRelatorioMedicaoSubItem) {\r\n return {\r\n type: 'LISTAR_RELATORIO_MEDICAO_SUBITEM_RESPONSE',\r\n listaRelatorioMedicaoSubItem\r\n }\r\n}\r\n\r\nexport function ListarDadosExportarPDFAutorizacaoFornecimentoRequest(data) {\r\n return {\r\n type: 'LISTAR_DADOS_EXPORTAR_PDF_AUTORIZACAO_FORNECIMENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ListarDadosExportarPDFAutorizacaoFornecimentoResponse(listaDadosExportarPDFAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_DADOS_EXPORTAR_PDF_AUTORIZACAO_FORNECIMENTO_RESPONSE',\r\n listaDadosExportarPDFAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarDadosExportarPDFSolicitacaoFornecimentoRequest(data) {\r\n return {\r\n type: 'LISTAR_DADOS_EXPORTAR_PDF_SOLICITACAO_FORNECIMENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ListarDadosExportarPDFSolicitacaoFornecimentoEventoResponse(listaDadosExportarPDFSolicitacaoFornecimentoEvento) {\r\n return {\r\n type: 'LISTAR_DADOS_EXPORTAR_PDF_SOLICITACAO_FORNECIMENTO_EVENTO_RESPONSE',\r\n listaDadosExportarPDFSolicitacaoFornecimentoEvento\r\n }\r\n}\r\n\r\nexport function ListarDadosExportarPDFSolicitacaoFornecimentoEventoRequest(data) {\r\n return {\r\n type: 'LISTAR_DADOS_EXPORTAR_PDF_SOLICITACAO_FORNECIMENTO_EVENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ListarDadosExportarPDFSolicitacaoFornecimentoResponse(listaDadosExportarPDFSolicitacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_DADOS_EXPORTAR_PDF_SOLICITACAO_FORNECIMENTO_RESPONSE',\r\n listaDadosExportarPDFSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarDadosExportarPDFEmpenhoRequest(data) {\r\n return {\r\n type: 'LISTAR_DADOS_EXPORTAR_PDF_EMPENHO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ListarDadosExportarPDFEmpenhoResponse(listaDadosExportarPDFEmpenho) {\r\n return {\r\n type: 'LISTAR_DADOS_EXPORTAR_PDF_EMPENHO_RESPONSE',\r\n listaDadosExportarPDFEmpenho\r\n }\r\n}\r\n\r\nexport function ListarDadosExportarPDFEmpenhoBoletimMedicaoRequest(data) {\r\n return {\r\n type: 'LISTAR_DADOS_EXPORTAR_PDF_EMPENHO_BOLETIM_MEDICAO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ListarDadosExportarPDFEmpenhoBoletimMedicaoResponse(listaDadosExportarPDFEmpenhoBoletimMedicao) {\r\n return {\r\n type: 'LISTAR_DADOS_EXPORTAR_PDF_EMPENHO_BOLETIM_MEDICAO_RESPONSE',\r\n listaDadosExportarPDFEmpenhoBoletimMedicao\r\n }\r\n}\r\n\r\n\r\nexport function ListarTodasFotosCompletasAutorizacaoFornecimentoRequest(idEmpenho) {\r\n return {\r\n type: 'LISTAR_TODAS_FOTOS_COMPLETAS_AUTORIZACAO_FORNECIMENTO_REQUEST',\r\n idEmpenho\r\n }\r\n}\r\n\r\nexport function RelatorioEventoRespostaRequest(data) {\r\n return {\r\n type: 'RELATORIO_EVENTO_RESPOSTA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function RelatorioTodasMedicaoSubItemsRequest(idMedicaoAutorizacaoFornecimento) {\r\n return {\r\n type: 'RELATORIO_TODAS_MEDICAO_SUBITEMS_REQUEST',\r\n idMedicaoAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function LimparRelatorioEmpenho() {\r\n return {\r\n type: 'LIMPAR_RELATORIO_EMPENHO'\r\n }\r\n}\r\n\r\nexport function ListarRelatorioStatusSolicitacaoRequest(dataInicio, dataFinal, visualizarTudo) {\r\n return {\r\n type: 'LISTAR_RELATORIO_STATUS_SOLICITACAO_REQUEST',\r\n dataInicio, dataFinal, visualizarTudo\r\n }\r\n}\r\n\r\nexport function ListarRelatorioStatusSolicitacaoResponse(listaRelatorioStatusSolicitacao) {\r\n return {\r\n type: 'LISTAR_RELATORIO_STATUS_SOLICITACAO_RESPONSE',\r\n listaRelatorioStatusSolicitacao\r\n }\r\n}\r\n\r\nexport function ListarRelatorioStatusAutorizacaoRequest() {\r\n return {\r\n type: 'LISTAR_RELATORIO_STATUS_AUTORIZACAO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarRelatorioStatusAutorizacaoResponse(listaRelatorioStatusAutorizacao) {\r\n return {\r\n type: 'LISTAR_RELATORIO_STATUS_AUTORIZACAO_RESPONSE',\r\n listaRelatorioStatusAutorizacao\r\n }\r\n}\r\n\r\nexport function ListarRelatorioStatusMedicaoRequest() {\r\n return {\r\n type: 'LISTAR_RELATORIO_STATUS_MEDICAO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarRelatorioStatusMedicaoResponse(listaRelatorioStatusMedicao) {\r\n return {\r\n type: 'LISTAR_RELATORIO_STATUS_MEDICAO_RESPONSE',\r\n listaRelatorioStatusMedicao\r\n }\r\n}\r\n\r\nexport function ListarRelatorioStatusEmpenhoRequest() {\r\n return {\r\n type: 'LISTAR_RELATORIO_STATUS_EMPENHO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarRelatorioStatusEmpenhoResponse(listaRelatorioStatusEmpenho) {\r\n return {\r\n type: 'LISTAR_RELATORIO_STATUS_EMPENHO_RESPONSE',\r\n listaRelatorioStatusEmpenho\r\n }\r\n}\r\n\r\nexport function ListarRelatorioSolicitacaoRequest() {\r\n return {\r\n type: 'LISTAR_RELATORIO_SOLICITACAO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarRelatorioSolicitacaoResponse(listaRelatorioSolicitacao) {\r\n return {\r\n type: 'LISTAR_RELATORIO_SOLICITACAO_RESPONSE',\r\n listaRelatorioSolicitacao\r\n }\r\n}\r\n\r\nexport function BaixarRelatorioTodosSubitensTroRequest(model) {\r\n return {\r\n type: 'BAIXAR_RELATORIO_TODOS_SUBITENS_TRO_REQUEST',\r\n model\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}\r\n","export function ListarOrgaoRequest() {\r\n return {\r\n type: 'LISTAR_ORGAO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarOrgaoResponse(listaOrgao) {\r\n return {\r\n type: 'LISTAR_ORGAO_RESPONSE',\r\n listaOrgao\r\n }\r\n}\r\n\r\nexport function InserirOrgaoRequest(data) {\r\n return {\r\n type: 'INSERIR_ORGAO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarOrgaoRequest(data) {\r\n return {\r\n type: 'ALTERAR_ORGAO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirOrgaoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_ORGAO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function BuscarOrgaoPorNomeRequest(orgao) {\r\n return {\r\n type: 'BUSCAR_ORGAO_POR_NOME_REQUEST',\r\n orgao\r\n }\r\n}\r\n\r\nexport function BuscarOrgaoPorNomeResponse(listaOrgaoPorNome) {\r\n return {\r\n type: 'BUSCAR_ORGAO_POR_NOME_RESPONSE',\r\n listaOrgaoPorNome\r\n }\r\n}\r\n\r\nexport function LimparlistaOrgaoPorNome() {\r\n return {\r\n type: 'LIMPAR_LISTA_ORGAO_POR_NOME'\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { Page, Text, View, Document, StyleSheet, Image } from '@react-pdf/renderer';\r\nimport { useEffect } from \"react\";\r\nimport img from '../../assets/login/img_login.png';\r\nimport moment from 'moment';\r\nimport cabecalho from '../../assets/novoCabecalhoCor.jpg';\r\nimport rodape from '../../assets/novoRodapeCor.jpg';\r\n\r\nconst styles = StyleSheet.create({\r\n page: {\r\n flexDirection: 'row',\r\n backgroundColor: '#fff',\r\n fontSize: '10',\r\n },\r\n titulo: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontWeight: 'bold',\r\n fontSize: '15',\r\n },\r\n linha: {\r\n borderBottom: '1px solid #0000',\r\n width: '100%',\r\n },\r\n espaco: {\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n },\r\n espacoGrande: {\r\n padding: '25',\r\n width: '10%',\r\n },\r\n table: {\r\n width: '100%',\r\n },\r\n section: {\r\n marginBottom: 10,\r\n marginLeft: 10,\r\n marginRight: 10,\r\n paddingBottom: 10,\r\n paddingRight: 10,\r\n paddingLeft: 10,\r\n flexGrow: 1,\r\n },\r\n row: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n },\r\n\r\n block: {\r\n display: 'block'\r\n },\r\n\r\n rowCabecalho: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 2,\r\n paddingBottom: 2,\r\n paddingLeft: 5\r\n },\r\n bold: {\r\n fontWeight: 'bold',\r\n fontFamily: 'Helvetica-Bold'\r\n },\r\n bordaCompleta: {\r\n border: '1px solid #0000',\r\n margin: 1\r\n },\r\n comeco: {\r\n width: \"25%\",\r\n },\r\n\r\n meio: {\r\n width: \"50%\",\r\n display: 'flex',\r\n textAlign: 'center',\r\n alignItems: 'center'\r\n },\r\n\r\n fim: {\r\n width: \"35%\",\r\n },\r\n width8: {\r\n width: \"8%\"\r\n },\r\n width10: {\r\n width: \"10%\"\r\n },\r\n width20: {\r\n width: \"20%\"\r\n },\r\n width33: {\r\n width: \"33%\"\r\n },\r\n width100: {\r\n width: \"100%\"\r\n },\r\n cabecalho: {\r\n color: '#fff',\r\n backgroundColor: '#212529',\r\n bordercolor: '#32383e'\r\n },\r\n cinza: {\r\n backgroundColor: '#e9ecef',\r\n },\r\n logo: {\r\n width: '200',\r\n height: '100'\r\n },\r\n top40: {\r\n top: '40'\r\n },\r\n top60: {\r\n top: '60'\r\n },\r\n top20: {\r\n top: '20'\r\n },\r\n comecoMaior: {\r\n width: \"40%\",\r\n },\r\n comeco35: {\r\n width: \"35%\",\r\n },\r\n alinharBottom: {\r\n position: 'absolute',\r\n bottom: '0',\r\n padding: '5',\r\n },\r\n alinharBottomSemPadding: {\r\n position: 'absolute',\r\n bottom: '0',\r\n },\r\n rodape: {\r\n width: '585',\r\n height: '50',\r\n },\r\n rodapeDiversosCI: {\r\n width: '570',\r\n height: '50',\r\n },\r\n bottom150: {\r\n marginBottom: 150,\r\n },\r\n bottom75: {\r\n marginBottom: 75,\r\n },\r\n marginRight100: {\r\n marginRight: 100\r\n },\r\n marginLeft20: {\r\n marginLeft: 20\r\n },\r\n paddingRight50: {\r\n paddingRight: 50\r\n }\r\n\r\n\r\n});\r\n\r\nexport default function PdfOrcamentoEvento({ data }) {\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [])\r\n\r\n return (\r\n \r\n {\r\n data != null ?\r\n\r\n data.nomeEvento == \"Diversos CI\" ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n COMUNICAÇÃO INTERNA\r\n Nº: {data.numeroOficio}\r\n DATA: {moment(moment((new Date(data.dataSolicitacao)))).format('LL')}\r\n \r\n \r\n \r\n \r\n DE: \r\n {\r\n data.listaPerguntasRespostas.filter(p => p.pergunta == 'Remetente').length == 1 ?\r\n data.listaPerguntasRespostas.filter(p => p.pergunta == 'Remetente')[0].resposta\r\n :\r\n ''\r\n }\r\n \r\n \r\n PARA: {data.destinatario}\r\n \r\n PROCESSO: \r\n {\r\n data.listaPerguntasRespostas.filter(p => p.pergunta == 'Número de Processo').length == 1 ?\r\n data.listaPerguntasRespostas.filter(p => p.pergunta == 'Número de Processo')[0].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 data.listaPerguntasRespostas.filter(p => p.pergunta == 'Assunto').length == 1 ?\r\n 'Assunto: ' + data.listaPerguntasRespostas.filter(p => p.pergunta == 'Assunto')[0].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 data.listaPerguntasRespostas.filter(p => p.pergunta == 'Memorando').length == 1 ?\r\n data.listaPerguntasRespostas.filter(p => p.pergunta == 'Memorando')[0].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 data.listaPerguntasRespostas.filter(p => p.pergunta == 'Memorando').length == 1 && \r\n data.listaPerguntasRespostas.filter(p => p.pergunta == 'Memorando')[0].resposta.length < 200 ?\r\n \r\n :\r\n \r\n .\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n Atenciosamente,\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.autorizador}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Coordenador da COEIP\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Conservação e Serviços Públicos\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n OFÍCIO Nº: {data.numeroOficio}\r\n \r\n \r\n \r\n Fortaleza, {moment(moment((new Date(data.dataSolicitacao)))).format('LL')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Sr(a): {data.destinatario}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.cargo}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.endereco}\r\n \r\n \r\n \r\n \r\n {\r\n data.servico == true || data.fraseSolicitante == true ?\r\n \r\n \r\n Prezado(a) Senhor(a),\r\n \r\n \r\n :\r\n \r\n }\r\n {\r\n data.fraseSolicitante == true ?\r\n \r\n \r\n \r\n Solicitamos V.Sa. atender solicitação do(a) SCSP (17.524.445/0001-73),\r\n para realização do Evento abaixo discriminado, de acordo com o Art. 9º da\r\n resolução da ANEEL 0456/00. PROCESSO: {data.numeroProcesso}.\r\n \r\n \r\n \r\n \r\n \r\n :\r\n data.servico == true || data.numeroKit != '' ?\r\n \r\n \r\n \r\n Solicitamos V.Sa. atender solicitação do(a) SCSP (17.524.445/0001-73),\r\n com a instalação de {data.numeroKit} kit's para eventos, conforme solicitação em anexo. PROCESSO: {data.numeroProcesso}.\r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n }\r\n {\r\n data.listaPerguntasRespostas != null && data.listaPerguntasRespostas.length > 0 ?\r\n\r\n data.listaPerguntasRespostas.map((pr, i) => (\r\n\r\n pr.pergunta == '' ?\r\n \r\n :\r\n pr.numeracao ?\r\n pr.mostrarPergunta == true ?\r\n pr.boldCompleto ?\r\n \r\n \r\n \r\n {i + 1}. {pr.pergunta} : {pr.resposta}\r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n {i + 1}. {pr.pergunta} : {pr.resposta}\r\n \r\n \r\n \r\n \r\n \r\n :\r\n pr.boldCompleto ?\r\n \r\n \r\n \r\n {pr.resposta}\r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n {pr.resposta}\r\n \r\n \r\n \r\n \r\n \r\n :\r\n pr.mostrarPergunta == true ?\r\n pr.boldCompleto ?\r\n \r\n \r\n \r\n {pr.pergunta} : {pr.resposta}\r\n \r\n \r\n \r\n \r\n \r\n :\r\n pr.boldPergunta ?\r\n \r\n \r\n \r\n \r\n {pr.pergunta} :\r\n \r\n \r\n   {pr.resposta}\r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n {pr.pergunta} : {pr.resposta}\r\n \r\n \r\n \r\n \r\n \r\n :\r\n pr.boldCompleto ?\r\n \r\n \r\n \r\n {pr.resposta}\r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n {pr.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 Atenciosamente,\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.autorizador}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Coordenador da COEIP\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n\r\n \r\n \r\n \r\n ERRO AO GERAR PDF\r\n \r\n \r\n \r\n\r\n }\r\n \r\n )\r\n}","import { Button, Col, Form, Modal, Row } from \"react-bootstrap\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport moment from 'moment';\r\nimport {\r\n BuscarInteressadoPorNomeRequest,\r\n InserirInteressadoRequest,\r\n ListarInteressadoRequest\r\n} from \"../../store/modules/interessado/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport { ListarBairroRequest } from \"../../store/modules/bairro/actions\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport InputMask from \"react-input-mask\";\r\nimport './modalCadastroInteressado.css';\r\n\r\n\r\nexport default function ModalCadastroInteressado({ show, onHide }) {\r\n\r\n const dispatch = useDispatch();\r\n const listaBairro = useSelector(state => state.bairro.listaBairro);\r\n\r\n const [validated, setValidated] = useState(false);\r\n const [idBairro, setIdBairro] = useState('');\r\n const [nome, setNome] = useState('');\r\n const [endereco, setEndereco] = useState('');\r\n const [cep, setCep] = useState('');\r\n const [dddTelefone, setDddTelefone] = useState('');\r\n const [telefone, setTelefone] = useState('');\r\n const [dddTelefoneFixo, setDddTelefoneFixo] = useState('');\r\n const [telefoneFixo, setTelefoneFixo] = useState('');\r\n const [deputadoVereador, setDeputadoVereador] = useState(false);\r\n const [cargo, setCargo] = useState('');\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [dispatch])\r\n\r\n useEffect(() => {\r\n dispatch(ListarBairroRequest());\r\n dispatch(ListarInteressadoRequest());\r\n }, [])\r\n\r\n\r\n const handleSubmit = (event) => {\r\n\r\n if (event.currentTarget.checkValidity() === false) {\r\n\r\n event.preventDefault();\r\n } else {\r\n\r\n if (ValidacoesInserir(event)) {\r\n InserirInteressado();\r\n };\r\n\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n function ValidacoesInserir(e) {\r\n\r\n e.preventDefault();\r\n\r\n // Valida o campo nome\r\n if (nome == null || nome == undefined\r\n || nome.length > 100 || nome.trim() == '') {\r\n toast.error(`Nome inválido`);\r\n return false;\r\n }\r\n\r\n // Valida o campo endereco\r\n if (endereco == null || endereco == undefined\r\n || endereco.length > 200 || endereco.trim() == '') {\r\n toast.error(`Endereço inválido`);\r\n return false;\r\n }\r\n // Valida o campo bairro\r\n if (idBairro == null || idBairro == undefined || idBairro == '') {\r\n toast.error(`Bairro não selecionado`);\r\n return false;\r\n }\r\n\r\n // Valida o campo telefone\r\n if (telefone != null && telefone != undefined && telefone != '') {\r\n if (!ValidaTelefone(telefone)) {\r\n toast.error(`Telefone com formato inválido`);\r\n return false;\r\n }\r\n }\r\n\r\n // Valida o campo ddd\r\n if (dddTelefone != null && dddTelefone != undefined && dddTelefone != '') {\r\n if (!ValidacaoDdd(dddTelefone)) {\r\n toast.error(`DDD com formato inválido`);\r\n return false;\r\n }\r\n }\r\n\r\n // Valida o campo telefone fixo\r\n if (telefoneFixo != null && telefoneFixo != undefined && telefoneFixo != '') {\r\n if (!ValidaTelefoneFixo(telefoneFixo)) {\r\n toast.error(`Telefone Fixo com formato inválido`);\r\n return false;\r\n }\r\n }\r\n\r\n // Valida o campo ddd fixo\r\n if (dddTelefoneFixo != null && dddTelefoneFixo != undefined && dddTelefoneFixo != '') {\r\n if (!ValidacaoDddFixo(dddTelefoneFixo)) {\r\n toast.error(`DDD Fixo com formato inválido`);\r\n return false;\r\n }\r\n }\r\n\r\n if (((dddTelefoneFixo != '') && (telefoneFixo != '')) || ((telefone != '') && (dddTelefone != ''))) {\r\n return true;\r\n } else {\r\n toast.error(`É necessário que tenha pelo menos um tipo de telefone`);\r\n return false;\r\n }\r\n\r\n }\r\n\r\n function InserirInteressado() {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'Nome': nome.trim(),\r\n 'Endereco': endereco,\r\n // 'Cep': cep === undefined || cep === '' ? null : cep,\r\n 'Cep': cep,\r\n 'idBairro': idBairro,\r\n 'NumeroDddFixo': dddTelefoneFixo === undefined || dddTelefoneFixo === '' ? null : dddTelefoneFixo.trim(),\r\n 'NumeroTelefoneFixo': telefoneFixo === undefined || telefoneFixo === '' ? null : telefoneFixo.trim(),\r\n 'NumeroDdd': dddTelefone === undefined || dddTelefone === '' ? null : dddTelefone.trim(),\r\n 'NumeroTelefone': telefone === undefined || telefone === '' ? null : telefone.trim(),\r\n 'DeputadoVereador': deputadoVereador != undefined ? deputadoVereador : false,\r\n 'Cargo': cargo === undefined || cargo === '' ? null : cargo,\r\n }\r\n\r\n dispatch(InserirInteressadoRequest(data))\r\n dispatch(BuscarInteressadoPorNomeRequest(nome.trim()));\r\n\r\n setIdBairro('');\r\n setNome('');\r\n setEndereco('');\r\n setCep('');\r\n setDddTelefone('');\r\n setTelefone('');\r\n setDddTelefoneFixo('');\r\n setTelefoneFixo('');\r\n setCargo('');\r\n onHide();\r\n\r\n }\r\n\r\n\r\n function ValidacaoDdd(ddd) {\r\n const dddRegex = /^\\d{2}$/;\r\n if (dddRegex.test(String(ddd))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidaTelefone(telefone) {\r\n const telefoneRegex = /^\\d{1}\\d{4} \\d{4}$/;\r\n const telefoneRegex2 = /^\\d{1}\\d{4}\\d{4}$/;\r\n if (telefoneRegex.test(String(telefone)) || telefoneRegex2.test(String(telefone))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidacaoDddFixo(dddFixo) {\r\n const dddRegex = /^\\d{2}$/;\r\n if (dddRegex.test(String(dddFixo))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidaTelefoneFixo(telefoneFixo) {\r\n const telefoneRegex = /^\\d{4} \\d{4}$/;\r\n const telefoneRegex2 = /^\\d{4}\\d{4}$/;\r\n if (telefoneRegex.test(String(telefoneFixo)) || telefoneRegex2.test(String(telefoneFixo))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n Cadastrar interessado\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n Nome\r\n setNome(e.target.value)}\r\n />\r\n O campo Nome é obrigatório.\r\n \r\n\r\n \r\n Endereço\r\n setEndereco(e.target.value)}\r\n />\r\n O campo Endereço é obrigatório.\r\n \r\n\r\n\r\n \r\n \r\n\r\n \r\n Bairro\r\n setIdBairro(e.target.value)}\r\n value={idBairro}\r\n required\r\n isInvalid={validated && idBairro === \"\" ? true : false}\r\n isValid={validated && idBairro !== \"\" ? true : false}>\r\n \r\n {\r\n listaBairro != undefined ?\r\n listaBairro.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Contrato é obrigatório.\r\n \r\n\r\n \r\n Cep\r\n setCep(e.target.value)}\r\n mask={'99.999-999'} id=\"idCep\" style={{ width: \"100%\" }}\r\n className=\"inputEditado\" />\r\n {/* O campo Cep é obrigatório. */}\r\n \r\n\r\n \r\n \r\n\r\n \r\n DDD\r\n setDddTelefone(e.target.value)}\r\n mask={\"99\"} style={{ width: \"100%\" }}\r\n className=\"inputEditado\" />\r\n O campo DDD é obrigatório.\r\n \r\n\r\n \r\n Telefone\r\n setTelefone(e.target.value)}\r\n mask={\"99999 9999\"} style={{ width: \"100%\" }}\r\n className=\"inputEditado\" />\r\n O campo Telefone é obrigatório.\r\n \r\n\r\n \r\n DDD Fixo\r\n setDddTelefoneFixo(e.target.value)}\r\n mask={\"99\"} style={{ width: \"100%\" }}\r\n className=\"inputEditado\" />\r\n O campo DDD Fixo é obrigatório.\r\n \r\n\r\n \r\n Telefone Fixo\r\n setTelefoneFixo(e.target.value)}\r\n mask={\"9999 9999\"} style={{ width: \"100%\" }}\r\n className=\"inputEditado\" />\r\n O campo Telefone Fixo é obrigatório.\r\n \r\n\r\n \r\n \r\n \r\n Cargo\r\n setCargo(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n setDeputadoVereador(e.target.checked)}\r\n />\r\n Deputado vereador\r\n \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 { Button, Col, Form, Modal, Row } from \"react-bootstrap\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { PatchedPagination } from \"../PatchedPagination/patchedPagination\";\r\nimport moment from 'moment';\r\nimport MaterialTable from \"material-table\";\r\nimport { BuscarInteressadoPorNomeRequest, LimparlistaInteressadoPorNome } from \"../../store/modules/interessado/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport ModalCadastroInteressado from \"../ModalCadastroInteressado/modalCadastroInteressado\";\r\n\r\n\r\nexport default function ModalInteressado({ show, onHide, interessadoSelecinado }) {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [interessado, setInteressado] = useState('');\r\n const listaInteressadoPorNome = useSelector(state => state.interessado.listaInteressadoPorNome);\r\n\r\n const [showInteressado, setShowInteressado] = useState(false);\r\n const handleCloseInteressado = () => setShowInteressado(false);\r\n const handleShowInteressado = () => setShowInteressado(true);\r\n\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [dispatch])\r\n\r\n useEffect(() => {\r\n\r\n\r\n }, [])\r\n\r\n function Selecionar() {\r\n\r\n if (listaInteressadoPorNome != undefined && listaInteressadoPorNome.length > 0) {\r\n interessadoSelecinado(listaInteressadoPorNome[selectedRow]);\r\n dispatch(LimparlistaInteressadoPorNome());\r\n setInteressado('');\r\n onHide();\r\n } else {\r\n toast.error('Interessado não selecionado, busque o interessado para depois selecionar.');\r\n }\r\n\r\n }\r\n\r\n function Buscar() {\r\n\r\n dispatch(BuscarInteressadoPorNomeRequest(interessado));\r\n\r\n }\r\n\r\n function CadastrarInteressado() {\r\n handleShowInteressado();\r\n }\r\n\r\n return (\r\n\r\n <>\r\n \r\n \r\n \r\n Selecione a linha da tabela para selecionar o interessado\r\n \r\n \r\n \r\n \r\n \r\n Interessado\r\n \r\n \r\n setInteressado(e.target.value)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n }\r\n columns={[\r\n {\r\n title: \"Código\", field: 'id', defaultSort: 'desc', cellStyle: {\r\n width: '5%'\r\n }\r\n },\r\n {\r\n title: \"Nome\", field: 'nome', sorting: true, cellStyle: {\r\n width: '10%'\r\n }\r\n },\r\n {\r\n title: \"Endereço\", field: 'endereco', sorting: true, cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: \"Bairro\", field: 'bairro', sorting: true, cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: \"telefone\", field: 'telefone', sorting: true, cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n ]}\r\n data={\r\n listaInteressadoPorNome != undefined ?\r\n listaInteressadoPorNome\r\n .map((i) => {\r\n return {\r\n id: i.id,\r\n nome: i.nome,\r\n endereco: i.endereco,\r\n bairro: i.bairro.descricao,\r\n telefone: i.numeroTelefone,\r\n }\r\n })\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: selectedRow === rowData.tableData.id ? \"#6ABAC9\" : \"#FFF\",\r\n }),\r\n selection: false\r\n }}\r\n onRowClick={(evt, selectedRow) => {\r\n setSelectedRow(selectedRow.tableData.id);\r\n }}\r\n localization={{\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n nRowsSelected: '{0} linha(s) selecionadas'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","export function ListarCaracteristicaRespostaRequest() {\r\n return {\r\n type: 'LISTAR_CARACTERISTICA_RESPOSTA_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarCaracteristicaRespostaResponse(listaCaracteristicaResposta) {\r\n return {\r\n type: 'LISTAR_CARACTERISTICA_RESPOSTA_RESPONSE',\r\n listaCaracteristicaResposta\r\n }\r\n}\r\n\r\nexport function InserirCaracteristicaRespostaRequest(data, idSolicitacaoFornecimento, idTipoSolicitacao) {\r\n return {\r\n type: 'INSERIR_CARACTERISTICA_RESPOSTA_REQUEST',\r\n data, idSolicitacaoFornecimento, idTipoSolicitacao\r\n }\r\n}\r\n\r\nexport function AlterarCaracteristicaRespostaRequest(data) {\r\n return {\r\n type: 'ALTERAR_CARACTERISTICA_RESPOSTA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirCaracteristicaRespostaRequest(id) {\r\n return {\r\n type: 'EXCLUIR_CARACTERISTICA_RESPOSTA_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function BuscarCaracteristicaRespostaPorNomeRequest(descricao) {\r\n return {\r\n type: 'BUSCAR_CARACTERISTICA_RESPOSTA_POR_NOME_REQUEST',\r\n descricao\r\n }\r\n}\r\n\r\nexport function BuscarCaracteristicaRespostaPorNomeResponse(listaCaracteristicaRespostaPorNome) {\r\n return {\r\n type: 'BUSCAR_CARACTERISTICA_RESPOSTA_POR_NOME_RESPONSE',\r\n listaCaracteristicaRespostaPorNome\r\n }\r\n}\r\n\r\nexport function LimparlistaCaracteristicaRespostaPorNome() {\r\n return {\r\n type: 'LIMPAR_LISTA_CARACTERISTICA_RESPOSTA_POR_NOME'\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { Button, Col, Form, Modal, Row } from \"react-bootstrap\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport moment from 'moment';\r\nimport {\r\n BuscarCaracteristicaRespostaPorNomeRequest,\r\n InserirCaracteristicaRespostaRequest,\r\n ListarCaracteristicaRespostaRequest\r\n} from \"../../store/modules/caracteristicaResposta/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport { ListarBairroRequest } from \"../../store/modules/bairro/actions\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport InputMask from \"react-input-mask\";\r\n\r\nexport default function ModalInserirDestinatario({ show, onHide, idSolicitacaoFornecimento, idTipoSolicitacao }) {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const [validated, setValidated] = useState(false);\r\n const [nome, setNome] = useState('');\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [dispatch])\r\n\r\n useEffect(() => {\r\n dispatch(ListarBairroRequest());\r\n dispatch(ListarCaracteristicaRespostaRequest());\r\n console.log(idSolicitacaoFornecimento)\r\n }, [])\r\n\r\n\r\n const handleSubmit = (event) => {\r\n\r\n if (event.currentTarget.checkValidity() === false) {\r\n\r\n event.preventDefault();\r\n } else {\r\n\r\n if (ValidacoesInserir(event)) {\r\n InserirCaracteristicaResposta();\r\n };\r\n\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n function ValidacoesInserir(e) {\r\n\r\n e.preventDefault();\r\n\r\n // Valida o campo nome\r\n if (nome == null || nome == undefined\r\n || nome.length > 100 || nome.trim() == '') {\r\n toast.error(`Nome inválido`);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function InserirCaracteristicaResposta() {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'IdCaracteristica': 17,\r\n 'CodigoResposta': 0,\r\n 'Descricao': nome.trim()\r\n }\r\n\r\n dispatch(InserirCaracteristicaRespostaRequest(data, idSolicitacaoFornecimento, idTipoSolicitacao))\r\n\r\n setNome('');\r\n onHide();\r\n\r\n }\r\n return (\r\n\r\n \r\n \r\n \r\n Cadastrar Destinatário\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n Nome\r\n setNome(e.target.value)}\r\n />\r\n O campo Nome é obrigatório.\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {\r\n idSolicitacaoFornecimento == undefined ?\r\n
\r\n
\r\n \r\n Aviso: Ao cadastrar um destinário a página da solicitação será atualizada.\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 { Button, Col, Form, Modal, Row } from \"react-bootstrap\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { PatchedPagination } from \"../PatchedPagination/patchedPagination\";\r\nimport moment from 'moment';\r\nimport MaterialTable from \"material-table\";\r\nimport { BuscarCaracteristicaRespostaPorNomeRequest, LimparlistaCaracteristicaRespostaPorNome } from \"../../store/modules/caracteristicaResposta/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport ModalInserirDestinatario from \"../ModalInserirDestinatario/modalInserirDestinatario\";\r\n\r\nexport default function ModalDestinatario({ show, onHide, destinatarioSelecinado, idSolicitacaoFornecimento, idTipoSolicitacao }) {\r\n\r\n const dispatch = useDispatch();\r\n\r\n\r\n const listaCaracteristicaRespostaPorNome = useSelector(state => state.caracteristicaResposta.listaCaracteristicaRespostaPorNome);\r\n const solicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.solicitacaoFornecimentoCompleto);\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [destinatario, setDestinatario] = useState('');\r\n const [showDestinatario, setShowDestinatario] = useState(false);\r\n\r\n const handleCloseDestinatario = () => setShowDestinatario(false);\r\n const handleShowDestinatario = () => setShowDestinatario(true);\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [dispatch])\r\n\r\n useEffect(() => {\r\n\r\n }, [])\r\n\r\n function Selecionar() {\r\n\r\n if (listaCaracteristicaRespostaPorNome != undefined && listaCaracteristicaRespostaPorNome.length > 0) {\r\n destinatarioSelecinado(listaCaracteristicaRespostaPorNome[selectedRow]);\r\n dispatch(LimparlistaCaracteristicaRespostaPorNome());\r\n setDestinatario('');\r\n onHide();\r\n } else {\r\n toast.error('Destinatario não selecionado, busque o destinatario para depois selecionar.');\r\n }\r\n\r\n }\r\n\r\n function Buscar() {\r\n\r\n dispatch(BuscarCaracteristicaRespostaPorNomeRequest(destinatario));\r\n\r\n }\r\n\r\n function CadastrarDestinatario() {\r\n handleShowDestinatario();\r\n }\r\n\r\n return (\r\n\r\n <>\r\n \r\n \r\n \r\n Selecione a linha da tabela para selecionar o destinatário\r\n \r\n \r\n \r\n \r\n \r\n Destinatario\r\n \r\n \r\n setDestinatario(e.target.value)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n }\r\n columns={[\r\n {\r\n title: \"Código\", field: 'id', defaultSort: 'desc', cellStyle: {\r\n width: '5%'\r\n }\r\n },\r\n {\r\n title: \"Nome\", field: 'nome', sorting: true, cellStyle: {\r\n width: '10%'\r\n }\r\n }\r\n ]}\r\n data={\r\n listaCaracteristicaRespostaPorNome != undefined ?\r\n listaCaracteristicaRespostaPorNome\r\n .map((i) => {\r\n return {\r\n id: i.id,\r\n nome: i.descricao\r\n }\r\n })\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: selectedRow === rowData.tableData.id ? \"#6ABAC9\" : \"#FFF\",\r\n }),\r\n selection: false\r\n }}\r\n onRowClick={(evt, selectedRow) => {\r\n setSelectedRow(selectedRow.tableData.id);\r\n }}\r\n localization={{\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n nRowsSelected: '{0} linha(s) selecionadas'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\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 { Button, Col, Form, Modal, Row } from \"react-bootstrap\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport moment from 'moment';\r\nimport { toast } from \"react-toastify\";\r\nimport InputMask from \"react-input-mask\";\r\nimport { InserirOrgaoRequest, ListarOrgaoRequest } from \"../../store/modules/orgao/actions\";\r\n\r\n\r\nexport default function ModalCadastroOrgao({ show, onHide }) {\r\n\r\n const dispatch = useDispatch();\r\n const listaBairro = useSelector(state => state.bairro.listaBairro);\r\n\r\n const [validated, setValidated] = useState(false);\r\n const [descricao, setDescricao] = useState('');\r\n const [ativo, setAtivo] = useState('');\r\n const [nomeSecretario, setNomeSecretario] = useState('');\r\n const [cnpj, setCnpj] = useState('');\r\n const [nomeLogradouro, setNomeLogradouro] = useState('');\r\n const [numeroLocal, setNumeroLocal] = useState('');\r\n const [numeroDddFixo, setNumeroDddFixo] = useState('');\r\n const [numeroTelefoneFixo, setNumeroTelefoneFixo] = useState('');\r\n const [numeroDdd, setNumeroDdd] = useState('');\r\n const [numeroTelefone, setNumeroTelefone] = useState('');\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [dispatch])\r\n\r\n useEffect(() => {\r\n dispatch(ListarOrgaoRequest())\r\n }, [])\r\n\r\n\r\n const handleSubmit = (event) => {\r\n\r\n if (event.currentTarget.checkValidity() === false) {\r\n\r\n event.preventDefault();\r\n } else {\r\n\r\n if (ValidacoesInserir(event)) {\r\n InserirInteressado();\r\n };\r\n\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n function ValidacoesInserir(e) {\r\n\r\n e.preventDefault();\r\n\r\n //valida o campo descrição\r\n if (descricao == null || descricao == undefined\r\n || descricao.trim() == '' || descricao.length > 100) {\r\n toast.error(`Orgão inválido`);\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function InserirInteressado() {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'Descricao': descricao,\r\n 'Ativo': true,\r\n 'NomeSecretario': nomeSecretario,\r\n 'Cnpj': cnpj,\r\n 'NomeLogradouro': nomeLogradouro,\r\n 'NumeroLocal': numeroLocal,\r\n 'NumeroDddFixo': numeroDddFixo !== '' ? numeroDddFixo : null,\r\n 'NumeroTelefoneFixo': numeroTelefoneFixo,\r\n 'NumeroDdd': numeroDdd !== '' ? numeroDdd : null,\r\n 'NumeroTelefone': setNumeroTelefone,\r\n }\r\n\r\n dispatch(InserirOrgaoRequest(data))\r\n\r\n setDescricao('');\r\n setAtivo('');\r\n setNomeSecretario('');\r\n setCnpj('');\r\n setNomeLogradouro('');\r\n setNumeroLocal('');\r\n setNumeroDddFixo('');\r\n setNumeroTelefoneFixo('');\r\n setNumeroDdd('');\r\n setNumeroTelefone('');\r\n onHide();\r\n\r\n }\r\n\r\n return (\r\n\r\n \r\n \r\n \r\n Cadastrar interessado\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n\r\n \r\n Descrição\r\n setDescricao(e.target.value)}\r\n className=\"InputMask\"\r\n />\r\n \r\n\r\n \r\n Nome Secretário\r\n setNomeSecretario(e.target.value)}\r\n className=\"InputMask\"\r\n />\r\n \r\n\r\n \r\n \r\n\r\n \r\n CNPJ\r\n setCnpj(e.target.value)}\r\n mask={\"99.999.999/9999-99\"}\r\n id=\"Juridica\"\r\n className=\"InputMask\"\r\n />\r\n \r\n\r\n \r\n Logradouro\r\n setNomeLogradouro(e.target.value)}\r\n className=\"InputMask\"\r\n />\r\n \r\n\r\n \r\n \r\n\r\n \r\n Local\r\n setNumeroLocal(e.target.value)}\r\n className=\"InputMask\"\r\n />\r\n \r\n\r\n \r\n \r\n\r\n \r\n DDD Fixo\r\n setNumeroDddFixo(e.target.value)}\r\n mask={\"99\"}\r\n id=\"idDddFixo\"\r\n style={{ width: \"100%\" }}\r\n className=\"InputMask\"\r\n />\r\n \r\n\r\n \r\n Telefone Fixo\r\n setNumeroTelefoneFixo(e.target.value)}\r\n mask={\"9999 9999\"}\r\n id=\"idTelefoneFixo\"\r\n style={{ width: \"100%\" }}\r\n className=\"InputMask\"\r\n />\r\n \r\n\r\n \r\n DDD\r\n setNumeroDdd(e.target.value)}\r\n maxLength={2}\r\n id=\"idDdd\"\r\n style={{ width: \"100%\" }}\r\n className=\"InputMask\"\r\n />\r\n \r\n\r\n \r\n Telefone\r\n setNumeroTelefone(e.target.value)}\r\n mask={\"9 9999 9999\"}\r\n id=\"idTelefone\"\r\n style={{ width: \"100%\" }}\r\n className=\"InputMask\"\r\n />\r\n \r\n\r\n \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 { Button, Col, Form, Modal, Row } from \"react-bootstrap\";\r\nimport React, { useState, useEffect, useCallback } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { PatchedPagination } from \"../PatchedPagination/patchedPagination\";\r\nimport { BuscarOrgaoPorNomeRequest, LimparlistaOrgaoPorNome } from \"../../store/modules/orgao/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport moment from 'moment';\r\nimport MaterialTable from \"material-table\";\r\nimport ModalCadastroInteressado from \"../ModalCadastroInteressado/modalCadastroInteressado\";\r\nimport ModalCadastroOrgao from \"../ModalCadastroOrgao/modalCadastroOrgao\";\r\n\r\n\r\nexport default function ModalOrgao({ show, onHide, orgaoSelecinado }) {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [orgao, setOrgao] = useState('');\r\n const listaOrgaoPorNome = useSelector(state => state.orgao.listaOrgaoPorNome);\r\n\r\n const [showOrgao, setShowOrgao] = useState(false);\r\n const handleCloseOrgao = () => setShowOrgao(false);\r\n const handleShowOrgao = () => setShowOrgao(true);\r\n\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [dispatch])\r\n\r\n\r\n function Selecionar() {\r\n\r\n if (listaOrgaoPorNome != undefined && listaOrgaoPorNome.length > 0) {\r\n orgaoSelecinado(listaOrgaoPorNome[selectedRow]);\r\n dispatch(LimparlistaOrgaoPorNome());\r\n setOrgao('');\r\n onHide();\r\n\r\n } else {\r\n toast.error('Orgão não selecionado, busque o Orgão para depois selecionar.');\r\n }\r\n\r\n }\r\n\r\n function Buscar() {\r\n\r\n dispatch(BuscarOrgaoPorNomeRequest(orgao));\r\n\r\n }\r\n\r\n function CadastrarOrgao() {\r\n handleShowOrgao();\r\n }\r\n\r\n return (\r\n\r\n <>\r\n \r\n \r\n \r\n Selecione a linha da tabela para selecionar o Orgão\r\n \r\n \r\n \r\n \r\n \r\n Orgão\r\n \r\n \r\n setOrgao(e.target.value)} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n }\r\n columns={[\r\n {\r\n title: \"Código\", field: 'id', defaultSort: 'desc', cellStyle: {\r\n width: '5%'\r\n }\r\n },\r\n {\r\n title: \"Descrição\", field: 'descricao', sorting: true, cellStyle: {\r\n width: '10%'\r\n }\r\n },\r\n {\r\n title: \"Secretário\", field: 'nome', sorting: true, cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: \"CNPJ\", field: 'cnpj', sorting: true, cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: \"Logradouro\", field: 'logradouro', sorting: true, cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n ]}\r\n data={\r\n listaOrgaoPorNome != undefined ?\r\n listaOrgaoPorNome\r\n .map((i) => {\r\n return {\r\n id: i.id,\r\n descricao: i.descricao,\r\n nome: i.nomeSecretario,\r\n cnpj: i.cnpj,\r\n logradouro: i.nomeLogradouro,\r\n }\r\n })\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: selectedRow === rowData.tableData.id ? \"#6ABAC9\" : \"#FFF\",\r\n }),\r\n selection: false\r\n }}\r\n onRowClick={(evt, selectedRow) => {\r\n setSelectedRow(selectedRow.tableData.id);\r\n }}\r\n localization={{\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n nRowsSelected: '{0} linha(s) selecionadas'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\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 { Fragment, useEffect, useState, useCallback } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Form, Row, Button, Col, Modal, Alert, Container } from \"react-bootstrap\";\r\nimport { ListarContratoRequest } from \"../../../store/modules/contrato/actions\";\r\nimport { InserirSolicitacaoFornecimentoVersaoRequest } from \"../../../store/modules/solicitacaoFornecimentoVersao/actions\";\r\nimport { ListarRegiaoRequest } from \"../../../store/modules/regiao/actions\";\r\nimport { ListarTipoSolicitacaoRequest, BuscarTipoSolicitacaoRequest } from '../../../store/modules/tipoSolicitacao/actions';\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { ListarSolicitacaoFornecimentoVersaoStatusRequest } from \"../../../store/modules/solicitacaoFornecimentoVersaoStatus/actions\";\r\nimport {\r\n InserirSolicitacaoFornecimentoRequest, AlterarSolicitacaoFornecimentoRequest,\r\n BuscarSolicitacaoFornecimentoPorIdRequest, ListarSolicitacaoFornecimentoCamposVerificacaoRapidaRequest,\r\n LimparSolicitacaoFornecimento, GerarOficioRequest\r\n} from '../../../store/modules/solicitacaoFornecimento/actions';\r\nimport { ListarPrioridadeRequest } from '../../../store/modules/prioridade/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { ListarStatusSolicitacaoFornecimentoRequest, ListarStatusSolicitacaoFornecimentoCompletoRequest } from '../../../store/modules/statusSolicitacaoFornecimento/actions';\r\nimport { ListarFornecedorRequest } from \"../../../store/modules/fornecedor/actions\";\r\nimport { ListarBairroRequest } from \"../../../store/modules/bairro/actions\";\r\nimport { ListarCompletoContratoFornecedorRequest, ListarContratoFornecedorRequest } from \"../../../store/modules/contratoFornecedor/actions\";\r\nimport { PDFDownloadLink } from '@react-pdf/renderer';\r\nimport { ListarInteressadoRequest } from '../../../store/modules/interessado/actions';\r\nimport PdfSolicitacaoFornecimento from \"../../../components/PdfSolicitacaoFornecimento/pdfSolicitacaoFornecimento\";\r\nimport { ListarDadosExportarPDFSolicitacaoFornecimentoEventoRequest, ListarDadosExportarPDFSolicitacaoFornecimentoRequest } from \"../../../store/modules/relatorio/actions\";\r\nimport InputMask from \"react-input-mask\";\r\nimport Loading from '../../../components/Loading/loading';\r\nimport { ListarUsuarioRequest } from '../../../store/modules/usuario/actions';\r\nimport { ListarOrgaoRequest } from '../../../store/modules/orgao/actions';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\nimport PdfOrcamentoEvento from \"../../../components/pdfOrcamentoEvento/pdfOrcamentoEvento\";\r\nimport ModalInteressado from \"../../../components/ModalInteressado/modalInteressado\";\r\nimport ModalDestinatario from \"../../../components/ModalDestinatario/modalDestinatario\";\r\nimport Select from 'react-select';\r\nimport ModalOrgao from \"../../../components/ModalOrgao/modalOrgao\";\r\n\r\nexport default function SolicitacaoFornecimento() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const listaUsuario = useSelector(state => state.usuario.listaUsuario);\r\n const listaPrioridade = useSelector(state => state.prioridade.listaPrioridade);\r\n const listaContrato = useSelector(state => state.contrato.listaContrato);\r\n const listaTipoSolicitacao = useSelector(state => state.tipoSolicitacao.listaTipoSolicitacao);\r\n const listaRegiao = useSelector(state => state.regiao.listaRegiao);\r\n const solicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.solicitacaoFornecimentoCompleto);\r\n const carregando = useSelector(state => state.solicitacaoFornecimento.carregando);\r\n const listaSolicitacaoFornecimentoVersaoStatus = useSelector(state =>\r\n state.solicitacaoFornecimentoVersaoStatus.listaSolicitacaoFornecimentoVersaoStatus);\r\n const listaStatusSolicitacaoFornecimentoCompleto = useSelector(state => state.statusSolicitacaoFornecimento.listaStatusSolicitacaoFornecimentoCompleto);\r\n const listaContratoFornecedor = useSelector(state => state.contratoFornecedor.listaContratoFornecedor);\r\n const listaFornecedor = useSelector(state => state.fornecedor.listaFornecedor);\r\n const listaBairro = useSelector(state => state.bairro.listaBairro);\r\n const listaInteressado = useSelector(state => state.interessado.listaInteressado);\r\n const listaDadosExportarPDFSolicitacaoFornecimento = useSelector(state => state.relatorio.listaDadosExportarPDFSolicitacaoFornecimento);\r\n const listaDadosExportarPDFSolicitacaoFornecimentoEvento = useSelector(state => state.relatorio.listaDadosExportarPDFSolicitacaoFornecimentoEvento);\r\n const tipoSolicitacaoCompleto = useSelector(state => state.tipoSolicitacao.tipoSolicitacaoCompleto);\r\n const usuarioCompleto = useSelector(state => state.usuario.usuario);\r\n const listarSolicitacaoFornecimentoCamposVerificacaoRapida = useSelector(state => state.solicitacaoFornecimento.listarSolicitacaoFornecimentoCamposVerificacaoRapida);\r\n const listaOrgao = useSelector(state => state.orgao.listaOrgao);\r\n const listaEventoAdicional = useSelector(state => state.eventoAdicional.listaEventoAdicional);\r\n\r\n const [idContrato, setIdContrato] = useState('');\r\n const [idContratoVersao, setIdContratoVersao] = useState('');\r\n const [idTipoSolicitacao, setIdTipoSolicitacao] = useState('');\r\n const [numeroProcesso, setNumeroProcesso] = useState('');\r\n const [numeroOficio, setNumeroOficio] = useState('');\r\n const [descricao, setDescricao] = useState('');\r\n const [endereco, setEndereco] = useState('');\r\n const [localRepetido, setLocalRepetido] = useState('');\r\n const [numeroProcessoRepetido, setNumeroProcessoRepetido] = useState('');\r\n const [assuntoRepetido, setAssuntoRepetido] = useState('');\r\n const [idRegiao, setIdRegiao] = useState('');\r\n const [idSolicitacaoVersao, setIdSolicitacaoVersao] = useState('');\r\n const [idSolicitacaoFornecimento, setIdSolicitacaoFornecimento] = useState('');\r\n const [observacao, setObservacao] = useState('');\r\n const [observacaoVersao, setObservacaoVersao] = useState('');\r\n const [observacaoReprovacao, setObservacaoReprovacao] = useState('');\r\n const [numeroOrcamento, setNumeroOrcamento] = useState('');\r\n const [show, setShow] = useState(false);\r\n const [showInteressado, setShowInteressado] = useState(false);\r\n const [showOrgao, setShowOrgao] = useState(false);\r\n const [validated, setValidated] = useState(false);\r\n const [dados, setDados] = useState('');\r\n const [idFornecedor, setIdFornecedor] = useState('');\r\n const [idPrioridade, setIdPrioridade] = useState('');\r\n const [validatedObservacaoNovaVersao, setValidatedObservacaoNovaVersao] = useState(false);\r\n const [idBairro, setIdBairro] = useState('');\r\n const [prazoDias, setPrazoDias] = useState('');\r\n const [numeroOficioSolicitacaoOrcamento, setNumeroOficioSolicitacaoOrcamento] = useState('');\r\n const [idAutorizador, setIdAutorizador] = useState('');\r\n const [idDestinatario, setIdDestinatario] = useState('');\r\n const [descricaoLocal, setDescricaoLocal] = useState('');\r\n const [assunto, setAssunto] = useState('');\r\n const [ddd, setDdd] = useState('');\r\n const [telefone, setTelefone] = useState('');\r\n const [dddFixo, setDddFixo] = useState('');\r\n const [telefoneFixo, setTelefoneFixo] = useState('');\r\n const [listaResposta, setListaResposta] = useState([]);\r\n const [carregandoTime, setCarregandoTime] = useState(false);\r\n const [idInteressado, setIdInteressado] = useState('');\r\n const [interessado, setInteressado] = useState('');\r\n const [interessadoSelecinado, setInteressadoSelecinado] = useState('');\r\n const [orgaoSelecinado, setOrgaoSelecinado] = useState('');\r\n const [orgao, setOrgao] = useState('');\r\n const [idOrgao, setIdOrgao] = useState('');\r\n const [idSolicitacao, setIdSolicitacao] = useState('');\r\n const [showDestinatario, setShowDestinatario] = useState(false);\r\n const [destinatarioSelecionado, setDestinatarioSelecionado] = useState('');\r\n\r\n const handleCloseInteressado = () => setShowInteressado(false);\r\n const handleShowInteressado = () => setShowInteressado(true);\r\n\r\n const handleCloseOrgao = () => setShowOrgao(false);\r\n const handleShowOrgao = () => setShowOrgao(true);\r\n\r\n const handleCloseDestinatario = () => setShowDestinatario(false);\r\n const handleShowDestinatario = () => setShowDestinatario(true);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n\r\n useEffect(() => {\r\n if (interessadoSelecinado != '' && interessadoSelecinado != null) {\r\n setInteressado(interessadoSelecinado.nome);\r\n setIdInteressado(interessadoSelecinado.id);\r\n setEndereco(interessadoSelecinado.endereco);\r\n setDdd(interessadoSelecinado.numeroDdd);\r\n setDddFixo(interessadoSelecinado.numeroDddFixo);\r\n setTelefoneFixo(interessadoSelecinado.numeroTelefoneFixo);\r\n setTelefone(interessadoSelecinado.numeroTelefone);\r\n }\r\n\r\n }, [interessadoSelecinado])\r\n\r\n useEffect(() => {\r\n\r\n MudarValor(\"Destinatário\", `${destinatarioSelecionado.id}`, \"select\",\r\n destinatarioSelecionado.id);\r\n\r\n }, [destinatarioSelecionado])\r\n\r\n useEffect(() => {\r\n if (orgaoSelecinado != '' && orgaoSelecinado != null) {\r\n\r\n setIdOrgao(orgaoSelecinado.id);\r\n setOrgao(orgaoSelecinado.descricao);\r\n\r\n }\r\n\r\n }, [orgaoSelecinado])\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => () =>\r\n dispatch(LimparSolicitacaoFornecimento())\r\n , []);\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarSolicitacaoFornecimentoCamposVerificacaoRapidaRequest());\r\n dispatch(ListarBairroRequest());\r\n dispatch(ListarInteressadoRequest());\r\n dispatch(ListarPrioridadeRequest());\r\n dispatch(ListarContratoRequest());\r\n dispatch(ListarRegiaoRequest());\r\n dispatch(ListarTipoSolicitacaoRequest());\r\n\r\n if (id != undefined)\r\n dispatch(ListarStatusSolicitacaoFornecimentoCompletoRequest(id));\r\n dispatch(ListarFornecedorRequest());\r\n dispatch(ListarContratoFornecedorRequest());\r\n dispatch(ListarOrgaoRequest());\r\n dispatch(ListarUsuarioRequest());\r\n\r\n if (id != undefined) {\r\n dispatch(BuscarSolicitacaoFornecimentoPorIdRequest(id));\r\n dispatch(ListarSolicitacaoFornecimentoVersaoStatusRequest(id));\r\n }\r\n\r\n if (id == undefined)\r\n setCarregandoTime(true);\r\n\r\n /*setTimeout(() => {\r\n setCarregandoTime(true);\r\n }, 2500)*/\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (solicitacaoFornecimento != null && solicitacaoFornecimento.id == parseInt(id) && listaInteressado != undefined) {\r\n CarregarSolicitacaoFornecimento();\r\n dispatch(ListarCompletoContratoFornecedorRequest(solicitacaoFornecimento.idContrato));\r\n }\r\n\r\n if (solicitacaoFornecimento != null && solicitacaoFornecimento.tipoSolicitacao.inputServico ||\r\n solicitacaoFornecimento != null && !solicitacaoFornecimento.tipoSolicitacao.servico) {\r\n\r\n /* var listaInputsEditar = solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.map(x => {\r\n return{\r\n input: x.caracteristicaResposta.caracteristica.descricaoLabel,\r\n valor: x.valorVarchar\r\n }\r\n })\r\n setListaEditarInput(listaInputsEditar); */\r\n\r\n let lista = solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.map(x => {\r\n return {\r\n id: x.id,\r\n descricao: x.caracteristicaResposta.caracteristica.descricao,\r\n valor:\r\n x.valorVarchar != '' ? x.valorVarchar :\r\n x.valorDateTime != null ? x.valorDateTime.split('T')[0] :\r\n x.valorInteger != null ? x.valorInteger :\r\n x.valorVarcharGrande != '' ? x.valorVarcharGrande : '',\r\n tipo: x.caracteristicaResposta.caracteristica.tipoCaracteristica.descricao,\r\n idCaracteristicaResposta: x.caracteristicaResposta.id,\r\n nulavel: x.caracteristicaResposta.caracteristica.nulavel,\r\n inputLargo: x.caracteristicaResposta.caracteristica.tipoCaracteristica.inputLargo\r\n }\r\n })\r\n\r\n setListaResposta(lista);\r\n }\r\n\r\n }, [solicitacaoFornecimento, listaInteressado, id])\r\n\r\n useEffect(() => {\r\n if (id != undefined) {\r\n dispatch(ListarDadosExportarPDFSolicitacaoFornecimentoRequest({ 'IdSolicitacaoFornecimento': id }));\r\n dispatch(ListarDadosExportarPDFSolicitacaoFornecimentoEventoRequest({ 'IdSolicitacaoFornecimento': id }))\r\n }\r\n }, [id, solicitacaoFornecimento])\r\n\r\n useEffect(() => {\r\n\r\n\r\n\r\n if (tipoSolicitacaoCompleto != null && id == undefined /*&& listaResposta.length == 0*/) {\r\n //console.log(tipoSolicitacaoCompleto.listaFormularioCaracteristica)\r\n let lista = tipoSolicitacaoCompleto.listaFormularioCaracteristica.map(x => {\r\n return {\r\n id: 0,\r\n descricao: x.caracteristica.descricao,\r\n valor: '',\r\n tipo: '',\r\n idCaracteristicaResposta: x.caracteristica.tipoCaracteristica.descricao == 'select' ? 0 : x.caracteristica.caracteristicaResposta[0].id,\r\n nulavel: x.caracteristica.nulavel,\r\n inputLargo: x.caracteristica.tipoCaracteristica.inputLargo\r\n }\r\n })\r\n\r\n setListaResposta(lista);\r\n }\r\n\r\n\r\n\r\n }, [tipoSolicitacaoCompleto])\r\n\r\n useEffect(() => {\r\n\r\n dispatch(BuscarTipoSolicitacaoRequest(parseInt(idTipoSolicitacao), id != undefined ? id : null));\r\n\r\n }, [idTipoSolicitacao])\r\n\r\n const handleSubmit = (event) => {\r\n\r\n if (event.currentTarget.checkValidity() === false || idContrato == '' || idTipoSolicitacao == '' ||\r\n idContrato == false || idTipoSolicitacao == false || ((listaTipoSolicitacao != undefined && listaTipoSolicitacao.length > 0 &&\r\n (listaTipoSolicitacao.filter(m => m.id == idTipoSolicitacao)[0].servico == true ||\r\n listaTipoSolicitacao.filter(m => m.id == idTipoSolicitacao)[0].inputServico == true)) && ((tipoSolicitacaoCompleto != null && tipoSolicitacaoCompleto.semOficio == false\r\n && (idFornecedor == '' ||\r\n idPrioridade == '' || idBairro == '' || idRegiao == '' || idAutorizador == '' || idDestinatario == '' || orgao == '' ||\r\n idFornecedor == false || idPrioridade == false || idBairro == false || idRegiao == false || idAutorizador == false\r\n || idDestinatario == false || orgao == false)) || (tipoSolicitacaoCompleto != null && tipoSolicitacaoCompleto.semOficio &&\r\n (idFornecedor == '' ||\r\n idPrioridade == '' || idBairro == '' || idRegiao == '' || orgao == '' ||\r\n idFornecedor == false || idPrioridade == false || idBairro == false || idRegiao == false || orgao == false))))) {\r\n\r\n event.preventDefault();\r\n } else {\r\n\r\n InserirSolicitaçãoFornecimento(event);\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n const handleSubmitNovaVersao = (event) => {\r\n\r\n if (observacaoVersao == '') {\r\n event.preventDefault();\r\n } else {\r\n CriarNovaVersaoSolicitacao();\r\n }\r\n\r\n setValidatedObservacaoNovaVersao(true);\r\n };\r\n\r\n function CarregarSolicitacaoFornecimento() {\r\n\r\n // Solicitação\r\n setIdSolicitacao(solicitacaoFornecimento.id);\r\n setIdContrato(solicitacaoFornecimento.idContrato);\r\n setIdContratoVersao(solicitacaoFornecimento.idContratoVersao);\r\n setIdTipoSolicitacao(solicitacaoFornecimento.idTipoSolicitacao);\r\n setNumeroProcesso(solicitacaoFornecimento.numeroProcesso);\r\n setNumeroOficio(solicitacaoFornecimento.numeroOficio);\r\n setDescricao(solicitacaoFornecimento.descricaoSolicitacao);\r\n setObservacao(solicitacaoFornecimento.observacao);\r\n setEndereco(solicitacaoFornecimento.endereco == null ||\r\n solicitacaoFornecimento.endereco == undefined ||\r\n solicitacaoFornecimento.endereco == '' ? null :\r\n listaInteressado.filter(x => x.id == solicitacaoFornecimento.idInteressado)[0].endereco == null ? '' :\r\n listaInteressado.filter(x => x.id == solicitacaoFornecimento.idInteressado)[0].endereco);\r\n setIdRegiao(solicitacaoFornecimento.idRegiao);\r\n setIdPrioridade(solicitacaoFornecimento.idPrioridade);\r\n setIdBairro(solicitacaoFornecimento.idBairro);\r\n setPrazoDias(solicitacaoFornecimento.prazoDias);\r\n setNumeroOficioSolicitacaoOrcamento(solicitacaoFornecimento.numeroOficioSolicitacaoOrcamento);\r\n setIdAutorizador(solicitacaoFornecimento.idAutorizador);\r\n setIdDestinatario(solicitacaoFornecimento.idDestinatario);\r\n setDescricaoLocal(solicitacaoFornecimento.descricaoLocal);\r\n setAssunto(solicitacaoFornecimento.assunto);\r\n setDdd(solicitacaoFornecimento.ddd == null ? null :\r\n listaInteressado.filter(x => x.id == solicitacaoFornecimento.idInteressado)[0].numeroDdd == null ? '' :\r\n listaInteressado.filter(x => x.id == solicitacaoFornecimento.idInteressado)[0].numeroDdd);\r\n setTelefone(solicitacaoFornecimento.telefone == null ? null :\r\n listaInteressado.filter(x => x.id == solicitacaoFornecimento.idInteressado)[0].numeroTelefone == null ? '' :\r\n listaInteressado.filter(x => x.id == solicitacaoFornecimento.idInteressado)[0].numeroTelefone);\r\n setDddFixo(solicitacaoFornecimento.dddFixo == null ? null :\r\n listaInteressado.filter(x => x.id == solicitacaoFornecimento.idInteressado)[0].numeroDddFixo == null ? '' :\r\n listaInteressado.filter(x => x.id == solicitacaoFornecimento.idInteressado)[0].numeroDddFixo);\r\n setTelefoneFixo(solicitacaoFornecimento.telefoneFixo == null ? null :\r\n listaInteressado.filter(x => x.id == solicitacaoFornecimento.idInteressado)[0].numeroTelefoneFixo == null ? '' :\r\n listaInteressado.filter(x => x.id == solicitacaoFornecimento.idInteressado)[0].numeroTelefoneFixo);\r\n setIdInteressado(solicitacaoFornecimento.idInteressado);\r\n setInteressado(solicitacaoFornecimento.interessado.nome);\r\n setEndereco(solicitacaoFornecimento.endereco);\r\n setDdd(solicitacaoFornecimento.interessado.numeroDdd);\r\n setDddFixo(solicitacaoFornecimento.interessado.numeroDddFixo);\r\n setTelefoneFixo(solicitacaoFornecimento.interessado.numeroTelefoneFixo);\r\n setTelefone(solicitacaoFornecimento.interessado.numeroTelefone);\r\n setIdOrgao(solicitacaoFornecimento.idOrgao ? solicitacaoFornecimento.idOrgao : null);\r\n\r\n if (listaOrgao != undefined && listaOrgao.length > 0) {\r\n\r\n var selecionado = listaOrgao.filter(d => d.id == solicitacaoFornecimento.idOrgao);\r\n if (selecionado.length > 0) {\r\n setOrgao(selecionado[0].descricao);\r\n }\r\n }\r\n\r\n\r\n if (solicitacaoFornecimento != null && solicitacaoFornecimento.tipoSolicitacao.servico ||\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.tipoSolicitacao != null &&\r\n solicitacaoFornecimento.tipoSolicitacao.semOficio &&\r\n listaEventoAdicional != undefined && listaEventoAdicional.filter(x => x.tipoSolicitacao.servico == true).length > 0) {\r\n if (solicitacaoFornecimento.idContratoFornecedor != null) {\r\n setIdFornecedor(solicitacaoFornecimento.idContratoFornecedor);\r\n }\r\n\r\n // Versão\r\n setIdSolicitacaoVersao(solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id);\r\n setIdSolicitacaoFornecimento(solicitacaoFornecimento.id);\r\n setObservacaoVersao(solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.observacaoVersao);\r\n setNumeroOrcamento(solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento);\r\n\r\n // Status\r\n if (solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel !== null) {\r\n setObservacaoReprovacao(solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel.observacaoReprovacao);\r\n }\r\n }\r\n else {\r\n setIdFornecedor(solicitacaoFornecimento.idFornecedor)\r\n }\r\n\r\n setCarregandoTime(true);\r\n }\r\n\r\n function ValidaDdd() {\r\n const dddRegex = /^\\d{2}$/;\r\n if (dddRegex.test(String(ddd))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidaTelefone() {\r\n const telefoneRegex = /^\\d{1}\\d{4} \\d{4}$/;\r\n const telefoneRegex2 = /^\\d{1}\\d{4}\\d{4}$/;\r\n if (telefoneRegex.test(String(telefone)) || telefoneRegex2.test(String(telefone))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function InserirSolicitaçãoFornecimento(e) {\r\n\r\n e.preventDefault();\r\n\r\n /*\r\n //validação do campo numeroProcesso\r\n if (numeroProcesso == ' ' || numeroProcesso == ''\r\n || numeroProcesso == null || numeroProcesso == undefined) {\r\n toast.error(`Número Processo Inválido`);\r\n return;\r\n }\r\n if (numeroProcesso.length > 50) {\r\n toast.error(`O Número do Processo não pode conter mais que 50 caracteres`);\r\n return;\r\n }\r\n\r\n //validação do campo descricao\r\n if (descricao == ' ' || descricao == ''\r\n || descricao == null || descricao == undefined) {\r\n toast.error(`Descrição Inválida`);\r\n return;\r\n }\r\n if (descricao.length > 400) {\r\n toast.error(`A descrição não pode conter mais que 100 caracteres`);\r\n return;\r\n }\r\n\r\n //validação do campo observação\r\n if (observacao.length > 100) {\r\n toast.error(`A observação não pode conter mais que 100 caracteres`);\r\n return;\r\n }\r\n\r\n //validação do campo endereco\r\n if (endereco == ' ' || endereco == ''\r\n || endereco == null || endereco == undefined) {\r\n toast.error(`Endereço Inválido`);\r\n return;\r\n }\r\n if (endereco.length > 400) {\r\n toast.error(`O endereço não pode conter mais que 200 caracteres`);\r\n return;\r\n }\r\n */\r\n\r\n var listaSolicitacaoFornecimentoCaracteristicaResposta = [];\r\n\r\n listaSolicitacaoFornecimentoCaracteristicaResposta = listaResposta.map(x => {\r\n return {\r\n 'Id': x.id,\r\n 'IdSolicitacaoFornecimento': solicitacaoFornecimento == null ? 0 : solicitacaoFornecimento.id,\r\n 'IdCaracteristicaResposta': x.idCaracteristicaResposta,\r\n 'ValorVarchar': (x.tipo == 'text' || x.tipo == 'select') && x.inputLargo == false ? x.valor : '',\r\n 'ValorVarcharGrande': x.tipo == 'text' && x.inputLargo ? x.valor : '',\r\n 'ValorInteger': x.tipo == 'number' ? x.valor == '' ? null : x.valor : null,\r\n 'ValorBoolean': x.tipo == '' ? null : null,\r\n 'ValorDouble': x.tipo == '' ? null : null,\r\n 'ValorDateTime': x.tipo == 'date' ?\r\n x.valor != '' ? x.valor : null : null\r\n }\r\n })\r\n\r\n let solicitacaoCompleta = {\r\n 'Id': solicitacaoFornecimento == null ? 0 : solicitacaoFornecimento.id,\r\n 'IdContratoVersao': solicitacaoFornecimento == null ? 0 : parseInt(solicitacaoFornecimento.idContratoVersao),\r\n 'IdTipoSolicitacao': parseInt(idTipoSolicitacao),\r\n 'NumeroProcesso': numeroProcesso != '' ? numeroProcesso : null,\r\n 'NumeroOficio': numeroOficio != '' ? numeroOficio : '',\r\n 'DescricaoSolicitacao': descricao != '' ? descricao : null,\r\n 'Observacao': observacao != '' ? observacao : null,\r\n 'DataSolicitacao': moment((new Date())).add('hours', 2),\r\n 'Endereco': endereco != '' ? endereco : null,\r\n 'Latitude': solicitacaoFornecimento == null ? '0' : solicitacaoFornecimento.latitude,\r\n 'Longitude': solicitacaoFornecimento == null ? '0' : solicitacaoFornecimento.longitude,\r\n 'IdRegiao': idRegiao != '' ? parseInt(idRegiao) : null,\r\n 'IdUsuario': usuario.id,\r\n 'IdContrato': parseInt(idContrato),\r\n 'IdFornecedor': idFornecedor != '' ? parseInt(idFornecedor) : null,\r\n 'IdPrioridade': idPrioridade != '' ? parseInt(idPrioridade) : null,\r\n 'PrazoDias': prazoDias != '' ? parseInt(prazoDias) : null,\r\n 'IdBairro': idBairro != '' ? parseInt(idBairro) : null,\r\n 'TipoSolicitacaoServico': tipoSolicitacaoCompleto != null ? tipoSolicitacaoCompleto.servico : false,\r\n 'NumeroOficioSolicitacaoOrcamento': numeroOficioSolicitacaoOrcamento != '' ? numeroOficioSolicitacaoOrcamento : '',\r\n 'IdAutorizador': idAutorizador != '' ? parseInt(idAutorizador) : null,\r\n 'IdDestinatario': idDestinatario != '' ? parseInt(idDestinatario) : null,\r\n 'DescricaoLocal': descricaoLocal != '' ? descricaoLocal : null,\r\n 'IdInteressado': idInteressado != '' ? parseInt(idInteressado) : null,\r\n 'IdOrgao': idOrgao != '' ? parseInt(idOrgao) : null,\r\n 'Assunto': assunto != '' ? assunto : null,\r\n 'DDD': ddd != '' ? parseInt(ddd) : null,\r\n 'Telefone': telefone != '' ? telefone : null,\r\n 'DDDFixo': dddFixo != '' ? parseInt(dddFixo) : null,\r\n 'TelefoneFixo': telefoneFixo != '' ? telefoneFixo : null,\r\n 'SolicitacaoFornecimentoVersaoApiModel': {\r\n 'Id': solicitacaoFornecimento == null ||\r\n solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel == null ? parseInt(0) : solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id,\r\n 'IdSolicitacaoFornecimento': solicitacaoFornecimento == null ? parseInt(0) : solicitacaoFornecimento.id,\r\n 'Observacao': observacaoVersao,\r\n 'NumeroOrcamento': numeroOrcamento.trim(),\r\n 'DataVersao': moment((new Date())).add('hours', 2),\r\n 'IdUsuario': usuario.id,\r\n },\r\n 'SolicitacaoFornecimentoVersaoStatusApiModel': {\r\n 'Id': solicitacaoFornecimento == null ||\r\n solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel == null ? parseInt(0) : solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel.id,\r\n 'IdSolicitacaoFornecimentoVersao': solicitacaoFornecimento == null ||\r\n solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel == null ? parseInt(0) : solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel.idSolicitacaoFornecimentoVersao,\r\n 'IdStatusSolicitacaoFornecimento': solicitacaoFornecimento == null ||\r\n solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel == null ? parseInt(0) : solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel.idStatusSolicitacaoFornecimento,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoReprovado': observacaoReprovacao,\r\n 'ObservacaoCancelado': '',\r\n 'StatusReprovado': false,\r\n 'StatusAprovado': false,\r\n 'AnaliseConcluida': false\r\n },\r\n 'ListaSolicitacaoFornecimentoCaracteristicaRespostaApiModel': listaSolicitacaoFornecimentoCaracteristicaResposta\r\n }\r\n\r\n setDados(solicitacaoCompleta);\r\n\r\n if (id == undefined) {\r\n dispatch(InserirSolicitacaoFornecimentoRequest(solicitacaoCompleta));\r\n } else {\r\n if (solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel != null &&\r\n numeroOrcamento !== solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento\r\n && solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento.trim() != \"\") {\r\n handleShow();\r\n } else {\r\n\r\n /*if (usuarioCompleto != null && usuarioCompleto.usuarioFornecedor) {\r\n toast.error(\"Só clientes podem editar a solicitação!\");\r\n return;\r\n }*/\r\n\r\n dispatch(AlterarSolicitacaoFornecimentoRequest(solicitacaoCompleta));\r\n }\r\n }\r\n }\r\n\r\n function AlterarSolicitacao() {\r\n if (numeroOrcamento.trim() != \"\") {\r\n dispatch(AlterarSolicitacaoFornecimentoRequest(dados));\r\n } else {\r\n toast.error('Para editar, o número de orçamento não pode ser vazio.');\r\n }\r\n handleClose();\r\n }\r\n\r\n function CriarNovaVersaoSolicitacao() {\r\n\r\n if (numeroOrcamento != \"\") {\r\n let dadosSolicitacaoFornecimentoVersaoApiModel = {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimento': solicitacaoFornecimento.id,\r\n 'Observacao': observacaoVersao,\r\n 'NumeroOrcamento': numeroOrcamento,\r\n 'DataVersao': moment((new Date())).add('hours', 2),\r\n 'IdUsuario': usuario.id,\r\n 'SolicitacaoFornecimentoVersaoStatusApiModel': {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimentoVersao': 0,\r\n 'IdStatusSolicitacaoFornecimento': 0,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoReprovacao': ''\r\n }\r\n }\r\n\r\n dispatch(InserirSolicitacaoFornecimentoVersaoRequest(dadosSolicitacaoFornecimentoVersaoApiModel));\r\n\r\n handleClose();\r\n } else {\r\n toast.error('Para a nova versão o número de orçamento não pode ser vazio!');\r\n }\r\n }\r\n\r\n function onChangeContrato(e) {\r\n if (e != null && e != undefined) {\r\n setIdContrato(e.value);\r\n dispatch(ListarCompletoContratoFornecedorRequest(e.value));\r\n }\r\n }\r\n\r\n function CarregarInputs(e) {\r\n if (e != null && e != undefined) {\r\n setIdTipoSolicitacao(e.value);\r\n dispatch(BuscarTipoSolicitacaoRequest(parseInt(e.value), id != undefined ? id : null));\r\n }\r\n }\r\n\r\n function MudarValor(descricao, e, tipo, idCaracteristicaResposta) {\r\n\r\n //console.log(descricao, e, tipo, idCaracteristicaResposta)\r\n\r\n let lista = listaResposta.map(x => {\r\n\r\n if (x.descricao == descricao) {\r\n return {\r\n id: x.id,\r\n descricao: x.descricao,\r\n valor: e,\r\n tipo: tipo,\r\n idCaracteristicaResposta: tipo == 'select' ?\r\n e != \"\" ? parseInt(e)\r\n : 0 : idCaracteristicaResposta,\r\n nulavel: x.nulavel,\r\n inputLargo: x.inputLargo\r\n }\r\n } else {\r\n return {\r\n id: x.id,\r\n descricao: x.descricao,\r\n valor: x.valor,\r\n tipo: x.tipo,\r\n idCaracteristicaResposta: x.idCaracteristicaResposta,\r\n nulavel: x.nulavel,\r\n inputLargo: x.inputLargo\r\n }\r\n }\r\n\r\n })\r\n\r\n setListaResposta(lista);\r\n }\r\n\r\n function MudarTelefoneInteressado(e) {\r\n\r\n setIdInteressado(e.target.value);\r\n\r\n if (e.target.value == \"\") {\r\n setEndereco(\"\");\r\n setDdd(\"\");\r\n setTelefone(\"\");\r\n setDddFixo(\"\");\r\n setTelefoneFixo(\"\");\r\n\r\n }\r\n\r\n if (listaInteressado != undefined) {\r\n var interessado = listaInteressado.find(x => x.id == parseInt(e.target.value));\r\n if (interessado != null) {\r\n setEndereco(interessado.endereco);\r\n setDdd(interessado.numeroDdd == null ? '' : interessado.numeroDdd);\r\n setTelefone(interessado.numeroTelefone == null ? '' : interessado.numeroTelefone);\r\n setDddFixo(interessado.numeroDddFixo == null ? '' : interessado.numeroDddFixo);\r\n setTelefoneFixo(interessado.numeroTelefoneFixo == null ? '' : interessado.numeroTelefoneFixo);\r\n }\r\n }\r\n }\r\n\r\n function exportaFotos() {\r\n dispatch(ListarDadosExportarPDFSolicitacaoFornecimentoRequest({ 'IdSolicitacaoFornecimento': id }))\r\n }\r\n\r\n function exportaFotosEvento() {\r\n dispatch(ListarDadosExportarPDFSolicitacaoFornecimentoEventoRequest({ 'IdSolicitacaoFornecimento': id }))\r\n }\r\n\r\n function KeyPressAssunto(e) {\r\n\r\n var contem = listarSolicitacaoFornecimentoCamposVerificacaoRapida.listaAssunto.filter(n => n == e);\r\n if (contem.length > 0) {\r\n setAssuntoRepetido(e)\r\n } else {\r\n setAssuntoRepetido('')\r\n }\r\n\r\n }\r\n\r\n function KeyPressLocal(e) {\r\n\r\n var contem = listarSolicitacaoFornecimentoCamposVerificacaoRapida.listaLocal.filter(n => n == e);\r\n if (contem.length > 0) {\r\n setLocalRepetido(e)\r\n } else {\r\n setLocalRepetido('')\r\n }\r\n\r\n }\r\n\r\n function KeyPressNumeroProcesso(e) {\r\n\r\n var contem = listarSolicitacaoFornecimentoCamposVerificacaoRapida.listaNumeroProcesso.filter(n => n == e);\r\n if (contem.length > 0) {\r\n setNumeroProcessoRepetido(e)\r\n } else {\r\n setNumeroProcessoRepetido('')\r\n }\r\n\r\n }\r\n\r\n function SelecionarInteressado() {\r\n handleShowInteressado();\r\n }\r\n\r\n function SelecionarOrgao() {\r\n handleShowOrgao();\r\n }\r\n\r\n function GerarOficio() {\r\n dispatch(GerarOficioRequest(id, 1))\r\n }\r\n\r\n function onChangeBairro(e) {\r\n setIdBairro(e !== null ? e.value.toString() : false);\r\n if (e != null && listaBairro.filter(m => m.id == e.value).length > 0) {\r\n setIdRegiao(listaBairro.filter(m => m.id == e.value)[0].idRegiao);\r\n } else {\r\n setIdRegiao('');\r\n }\r\n }\r\n\r\n function SelecionarDestinatarioDinamico() {\r\n handleShowDestinatario();\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n (carregandoTime && carregando && tipoSolicitacaoCompleto != null) || id == undefined ?\r\n\r\n
\r\n
\r\n \r\n\r\n {\r\n tipoSolicitacaoCompleto != undefined && tipoSolicitacaoCompleto != null &&\r\n tipoSolicitacaoCompleto.eventoResposta == true ?\r\n \r\n\r\n \r\n Número da Solicitação\r\n \r\n \r\n\r\n \r\n Contrato\r\n ({ ...styles, borderColor: validated && idContrato === \"\" || idContrato === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idContrato === \"\" || idContrato === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n defaultValue={listaContrato != undefined && idContrato ?\r\n { value: idContrato, label: listaContrato.filter(m => m.id == idContrato)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaContrato != undefined ?\r\n listaContrato.map(m => ({\r\n value: m.id, label: m.id + \" - \" + m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => onChangeContrato(e)}\r\n />\r\n O campo Contrato é obrigatório.\r\n \r\n\r\n \r\n Tipo de Solicitação\r\n ({ ...styles, borderColor: validated && idTipoSolicitacao === \"\" || idTipoSolicitacao === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idTipoSolicitacao === \"\" || idTipoSolicitacao === false ? 'red' : '#C0C0C0' })\r\n }}\r\n id=\"selectTipo\"\r\n isDisabled={id != undefined ? true : false}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n defaultValue={listaTipoSolicitacao != undefined && idTipoSolicitacao ?\r\n { value: idTipoSolicitacao, label: listaTipoSolicitacao.filter(m => m.id == idTipoSolicitacao)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaTipoSolicitacao != undefined && listaTipoSolicitacao != null ?\r\n id == undefined ?\r\n listaTipoSolicitacao.filter(x => x.eventoEspecial == false)\r\n .filter(y => y.tipoFornecedor == usuario.usuarioFornecedor).sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n listaTipoSolicitacao.map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => CarregarInputs(e)}\r\n />\r\n O campo Tipo de Solicitação é obrigatório.\r\n \r\n\r\n \r\n :\r\n \r\n\r\n \r\n Número da Solicitação\r\n \r\n \r\n\r\n \r\n Contrato\r\n ({ ...styles, borderColor: validated && idContrato === \"\" || idContrato === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idContrato === \"\" || idContrato === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n defaultValue={listaContrato != undefined && idContrato ?\r\n { value: idContrato, label: listaContrato.filter(m => m.id == idContrato)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaContrato != undefined ?\r\n listaContrato.map(m => ({\r\n value: m.id, label: m.id + \" - \" + m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => onChangeContrato(e)}\r\n />\r\n O campo Contrato é obrigatório.\r\n \r\n\r\n \r\n Tipo de Solicitação\r\n ({ ...styles, borderColor: validated && idTipoSolicitacao === \"\" || idTipoSolicitacao === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idTipoSolicitacao === \"\" || idTipoSolicitacao === false ? 'red' : '#C0C0C0' })\r\n }}\r\n id=\"selectTipo\"\r\n isDisabled={id != undefined ? true : false}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n defaultValue={listaTipoSolicitacao != undefined && idTipoSolicitacao ?\r\n { value: idTipoSolicitacao, label: listaTipoSolicitacao.filter(m => m.id == idTipoSolicitacao)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaTipoSolicitacao != undefined && listaTipoSolicitacao != null ?\r\n id == undefined ?\r\n listaTipoSolicitacao.filter(x => x.eventoEspecial == false)\r\n .filter(y => y.tipoFornecedor == usuario.usuarioFornecedor).sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n listaTipoSolicitacao.map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => CarregarInputs(e)}\r\n />\r\n O campo Tipo de Solicitação é obrigatório.\r\n \r\n\r\n\r\n \r\n Número Oficio\r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n }\r\n {\r\n idTipoSolicitacao != \"\" ?\r\n\r\n tipoSolicitacaoCompleto != undefined && tipoSolicitacaoCompleto != null &&\r\n tipoSolicitacaoCompleto.inputServico ?\r\n
\r\n \r\n {\r\n id == undefined ?\r\n \r\n Fornecedor\r\n ({ ...styles, borderColor: validated && idFornecedor === \"\" || idFornecedor === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idFornecedor === \"\" || idFornecedor === false ? 'red' : '#C0C0C0' })\r\n }}\r\n id=\"selectFornecedor\"\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n defaultValue={\r\n idFornecedor != \"\" && listaFornecedor != undefined && listaFornecedor != null\r\n ?\r\n listaFornecedor.filter(m => m.id == idFornecedor)[0].nomeFornecedor\r\n : (listaContratoFornecedor != undefined && listaContratoFornecedor != null && listaContratoFornecedor.length == 1) && idContrato != ''\r\n ?\r\n setIdFornecedor(listaContratoFornecedor[0].idFornecedor)\r\n :\r\n 0\r\n }\r\n disabled={idContrato == '' ? true : false}\r\n required\r\n options={\r\n listaContratoFornecedor != undefined && listaContratoFornecedor.length > 0 ?\r\n listaContratoFornecedor.filter(x => x.idContrato == idContrato &&\r\n listaFornecedor.filter(y => y.id == x.idFornecedor))\r\n .map(m =>\r\n m.fornecedor !== null ?\r\n ({\r\n value: m.idFornecedor, label: m.fornecedor.nomeFornecedor\r\n })\r\n :\r\n null\r\n )\r\n :\r\n null\r\n }\r\n onChange={(e) => setIdFornecedor(e !== null ? e.value.toString() : false)}\r\n //isInvalid={validated && (idFornecedor === \"\" || idFornecedor === false) ? true : false}\r\n //isValid={validated && idFornecedor !== \"\" ? true : false}\r\n />\r\n O campo Fornecedor é obrigatório.\r\n \r\n :\r\n \r\n Fornecedor\r\n ({ ...styles, borderColor: validated && idFornecedor === \"\" || idFornecedor === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idFornecedor === \"\" || idFornecedor === false ? 'red' : '#C0C0C0' })\r\n }}\r\n id=\"selectFornecedor\"\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n defaultInputValue={\r\n idFornecedor != \"\" && listaFornecedor != undefined && listaFornecedor != null && listaFornecedor.filter(m => m.id == idFornecedor).length > 0\r\n ?\r\n listaFornecedor.filter(m => m.id == idFornecedor)[0].nomeFornecedor\r\n : (listaContratoFornecedor != undefined && listaContratoFornecedor != null && listaContratoFornecedor.length == 1) && idContrato != ''\r\n ?\r\n setIdFornecedor(listaContratoFornecedor[0].idFornecedor)\r\n :\r\n 0\r\n }\r\n disabled={idContrato == '' ? true : false}\r\n required\r\n options={\r\n listaContratoFornecedor != undefined && listaContratoFornecedor.length > 0 ?\r\n listaContratoFornecedor.filter(x => x.idContrato == idContrato &&\r\n listaFornecedor.filter(y => y.id == x.idFornecedor))\r\n .map(m =>\r\n m.fornecedor !== null ?\r\n ({\r\n value: m.idFornecedor, label: m.fornecedor.nomeFornecedor\r\n })\r\n :\r\n null\r\n )\r\n :\r\n null\r\n }\r\n onChange={(e) => setIdFornecedor(e !== null ? e.value.toString() : false)}\r\n //isInvalid={validated && (idFornecedor === \"\" || idFornecedor === false) ? true : false}\r\n //isValid={validated && idFornecedor !== \"\" ? true : false}\r\n />\r\n O campo Fornecedor é obrigatório.\r\n \r\n }\r\n\r\n \r\n Prioridade\r\n ({ ...styles, borderColor: validated && idPrioridade === \"\" || idPrioridade === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idPrioridade === \"\" || idPrioridade === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n defaultValue={listaPrioridade != undefined && idPrioridade ?\r\n { value: idPrioridade, label: listaPrioridade.filter(m => m.id == idPrioridade)[0].descricao }\r\n : null\r\n }\r\n required\r\n options={\r\n listaPrioridade != undefined ?\r\n [...listaPrioridade].sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setIdPrioridade(e !== null ? e.value.toString() : false)}\r\n\r\n />\r\n O campo Prioridade é obrigatório.\r\n \r\n\r\n \r\n Número Orçamento\r\n setNumeroOrcamento(e.target.value)}\r\n />\r\n \r\n \r\n\r\n \r\n\r\n \r\n Assunto\r\n {\r\n setAssunto(e.target.value);\r\n KeyPressAssunto(e.target.value);\r\n }}\r\n required\r\n maxLength=\"200\"\r\n isInvalid={validated && assunto.trim() === '' ? true : false}\r\n isValid={validated && assunto.trim() !== '' ? true : false}\r\n />\r\n O campo Assunto é obrigatório.\r\n {\r\n assuntoRepetido != '' ?\r\n \r\n Já contém esse assunto cadastrado\r\n \r\n :\r\n ''\r\n }\r\n \r\n\r\n \r\n Local\r\n {\r\n setDescricaoLocal(e.target.value);\r\n KeyPressLocal(e.target.value);\r\n }}\r\n required\r\n maxLength=\"200\"\r\n isInvalid={validated && descricaoLocal.trim() === '' ? true : false}\r\n isValid={validated && descricaoLocal.trim() !== '' ? true : false}\r\n />\r\n O campo Local é obrigatório.\r\n {\r\n localRepetido != '' ?\r\n \r\n Já contém esse local cadastrado\r\n \r\n :\r\n ''\r\n }\r\n \r\n \r\n\r\n {\r\n tipoSolicitacaoCompleto != null &&\r\n tipoSolicitacaoCompleto.tipoFornecedor ?\r\n \r\n\r\n \r\n Bairro\r\n ({ ...styles, borderColor: validated && idBairro === \"\" || idBairro === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idBairro === \"\" || idBairro === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n defaultValue={listaBairro != undefined && idBairro ?\r\n { value: idBairro, label: listaBairro.filter(m => m.id == idBairro)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaBairro != undefined ?\r\n [...listaBairro].sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={e => onChangeBairro(e)}\r\n //isInvalid={validated && (idBairro === \"\" || idBairro === false) ? true : false}\r\n //isValid={validated && idBairro !== \"\" ? true : false}\r\n />\r\n O campo Bairro é obrigatório.\r\n \r\n\r\n \r\n Região\r\n ({ ...styles, borderColor: validated && idRegiao === \"\" || idRegiao === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idRegiao === \"\" || idRegiao === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n value={listaRegiao != undefined && idRegiao ?\r\n { value: idRegiao, label: listaRegiao.filter(m => m.id == idRegiao)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaRegiao != undefined ?\r\n [...listaRegiao].sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setIdRegiao(e !== null ? e.value.toString() : false)}\r\n //isInvalid={validated && (idRegiao === \"\" || idRegiao === false) ? true : false}\r\n //isValid={validated && idRegiao !== \"\" ? true : false}\r\n />\r\n O campo Região é obrigatório.\r\n \r\n\r\n \r\n Autorizador\r\n ({ ...styles, borderColor: validated && idAutorizador === \"\" || idAutorizador === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idAutorizador === \"\" || idAutorizador === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n defaultValue={listaUsuario != undefined && idAutorizador ?\r\n { value: idAutorizador, label: listaUsuario.filter(m => m.id == idAutorizador)[0].nome }\r\n : null\r\n }\r\n options={\r\n listaUsuario != undefined && tipoSolicitacaoCompleto != null ?\r\n listaUsuario.filter(y => y.usuarioFornecedor).sort((a, b) => a.nome.localeCompare(b.nome)).map(m => ({\r\n value: m.id, label: m.nome\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setIdAutorizador(e !== null ? e.value.toString() : false)}\r\n //isInvalid={validated && idAutorizador === \"\" ? true : false}\r\n //isValid={validated && idAutorizador !== \"\" ? true : false}\r\n />\r\n O campo Autorizador é obrigatório.\r\n \r\n\r\n \r\n Destinatário\r\n ({ ...styles, borderColor: validated && idDestinatario === \"\" || idDestinatario === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idDestinatario === \"\" || idDestinatario === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n defaultValue={listaUsuario != undefined && idDestinatario ?\r\n { value: idDestinatario, label: listaUsuario.filter(m => m.id == idDestinatario)[0].nome }\r\n : null\r\n }\r\n options={\r\n listaUsuario != undefined && tipoSolicitacaoCompleto != null ?\r\n listaUsuario.filter(y => !y.usuarioFornecedor).sort((a, b) => a.nome.localeCompare(b.nome)).map(m => ({\r\n value: m.id, label: m.nome\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setIdDestinatario(e !== null ? e.value.toString() : false)}\r\n //isInvalid={validated && (idDestinatario === \"\" || idDestinatario === false) ? true : false}\r\n //isValid={validated && idDestinatario !== \"\" ? true : false}\r\n />\r\n O campo Destinatário é obrigatório.\r\n \r\n \r\n :\r\n\r\n tipoSolicitacaoCompleto != null && tipoSolicitacaoCompleto.semOficio == true ?\r\n \r\n\r\n \r\n Bairro\r\n ({ ...styles, borderColor: validated && idBairro === \"\" || idBairro === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idBairro === \"\" || idBairro === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n defaultValue={listaBairro != undefined && idBairro ?\r\n { value: idBairro, label: listaBairro.filter(m => m.id == idBairro)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaBairro != undefined ?\r\n [...listaBairro].sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={e => onChangeBairro(e)}\r\n //isInvalid={validated && idBairro === \"\" ? true : false}\r\n //isValid={validated && idBairro !== \"\" ? true : false}\r\n />\r\n O campo Bairro é obrigatório.\r\n \r\n\r\n \r\n Região\r\n ({ ...styles, borderColor: validated && idRegiao === \"\" || idRegiao === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idRegiao === \"\" || idRegiao === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n value={listaRegiao != undefined && idRegiao ?\r\n { value: idRegiao, label: listaRegiao.filter(m => m.id == idRegiao)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaRegiao != undefined ?\r\n [...listaRegiao].sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setIdRegiao(e !== null ? e.value.toString() : false)}\r\n //isInvalid={validated && idRegiao === \"\" ? true : false}\r\n //isValid={validated && idRegiao !== \"\" ? true : false}\r\n />\r\n O campo Região é obrigatório.\r\n \r\n \r\n :\r\n \r\n\r\n \r\n Bairro\r\n ({ ...styles, borderColor: validated && idBairro === \"\" || idBairro === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idBairro === \"\" || idBairro === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n defaultValue={listaBairro != undefined && idBairro ?\r\n { value: idBairro, label: listaBairro.filter(m => m.id == idBairro)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaBairro != undefined ?\r\n [...listaBairro].sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={e => onChangeBairro(e)}\r\n //isInvalid={validated && idBairro === \"\" ? true : false}\r\n //isValid={validated && idBairro !== \"\" ? true : false}\r\n />\r\n O campo Bairro é obrigatório.\r\n \r\n\r\n \r\n Região\r\n ({ ...styles, borderColor: validated && idRegiao === \"\" || idRegiao === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idRegiao === \"\" || idRegiao === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n value={listaRegiao != undefined && idRegiao ?\r\n { value: idRegiao, label: listaRegiao.filter(m => m.id == idRegiao)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaRegiao != undefined ?\r\n [...listaRegiao].sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setIdRegiao(e !== null ? e.value.toString() : false)}\r\n //isInvalid={validated && idRegiao === \"\" ? true : false}\r\n //isValid={validated && idRegiao !== \"\" ? true : false}\r\n />\r\n O campo Região é obrigatório.\r\n \r\n\r\n \r\n Autorizador\r\n ({ ...styles, borderColor: validated && idAutorizador === \"\" || idAutorizador === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idAutorizador === \"\" || idAutorizador === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n defaultValue={listaUsuario != undefined && idAutorizador ?\r\n { value: idAutorizador, label: listaUsuario.filter(m => m.id == idAutorizador)[0].nome }\r\n : null\r\n }\r\n options={\r\n listaUsuario != undefined && tipoSolicitacaoCompleto != null ?\r\n listaUsuario.filter(y => y.usuarioFornecedor == false).sort((a, b) => a.nome.localeCompare(b.nome)).map(m => ({\r\n value: m.id, label: m.nome\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setIdAutorizador(e !== null ? e.value.toString() : false)}\r\n //isInvalid={validated && (idAutorizador === \"\" || idAutorizador === false) ? true : false}\r\n //isValid={validated && idAutorizador !== \"\" ? true : false}\r\n />\r\n O campo Autorizador é obrigatório.\r\n \r\n\r\n \r\n Destinatário\r\n ({ ...styles, borderColor: validated && idDestinatario === \"\" || idDestinatario === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idDestinatario === \"\" || idDestinatario === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n defaultValue={listaUsuario != undefined && idDestinatario ?\r\n { value: idDestinatario, label: listaUsuario.filter(m => m.id == idDestinatario)[0].nome }\r\n : null\r\n }\r\n options={\r\n listaUsuario != undefined && tipoSolicitacaoCompleto != null ?\r\n listaUsuario.filter(y => y.usuarioFornecedor).sort((a, b) => a.nome.localeCompare(b.nome)).map(m => ({\r\n value: m.id, label: m.nome\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setIdDestinatario(e !== null ? e.value.toString() : false)}\r\n //isInvalid={validated && idDestinatario === \"\" ? true : false}\r\n //isValid={validated && idDestinatario !== \"\" ? true : false}\r\n />\r\n O campo Destinatário é obrigatório.\r\n \r\n \r\n\r\n }\r\n\r\n \r\n\r\n \r\n Prazo (em dias)\r\n setPrazoDias(e.target.value)}\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n //required\r\n //maxLength=\"10\"\r\n //isInvalid={validated && prazoDias === \"\" ? true : false}\r\n //isValid={validated && prazoDias !== \"\" ? true : false}\r\n />\r\n O campo Prazo é obrigatório.\r\n \r\n\r\n {\r\n tipoSolicitacaoCompleto != null &&\r\n tipoSolicitacaoCompleto.tipoFornecedor &&\r\n tipoSolicitacaoCompleto.id == 129 ?\r\n\r\n \r\n Número Processo\r\n {\r\n setNumeroProcesso(e.target.value);\r\n KeyPressNumeroProcesso(e.target.value);\r\n }}\r\n maxLength=\"50\"\r\n isInvalid={validated && numeroProcesso != '' && numeroProcesso != null && numeroProcesso.trim().length > 50 ? true : false}\r\n />\r\n O campo Número Processo só pode conter 50 caracteres.\r\n {\r\n numeroProcessoRepetido != '' ?\r\n \r\n Já contém esse número de processo cadastrado\r\n \r\n :\r\n ''\r\n }\r\n \r\n :\r\n \r\n Número Processo\r\n {\r\n setNumeroProcesso(e.target.value);\r\n KeyPressNumeroProcesso(e.target.value);\r\n }}\r\n required\r\n maxLength=\"50\"\r\n isInvalid={validated && numeroProcesso.trim() === \"\" ? true : false}\r\n isValid={validated && numeroProcesso.trim() !== \"\" ? true : false}\r\n />\r\n O campo Número Processo é obrigatório.\r\n {\r\n numeroProcessoRepetido != '' ?\r\n \r\n Já contém esse número de processo cadastrado\r\n \r\n :\r\n ''\r\n }\r\n \r\n }\r\n\r\n \r\n Órgão\r\n \r\n {/* ({ ...styles, borderColor: validated && orgao === \"\" || orgao === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && orgao === \"\" || orgao === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n defaultValue={listaOrgao != undefined && orgao ?\r\n { value: orgao, label: listaOrgao.filter(m => m.id == orgao)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaOrgao != undefined && listaOrgao.length > 0 ?\r\n listaOrgao.filter(x => x.ativo == true).sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setOrgao(e !== null ? e.value.toString() : false)}\r\n isInvalid={validated && (orgao === \"\" || orgao === false) ? true : false}\r\n isValid={validated && orgao !== \"\" ? true : false}\r\n /> */}\r\n O campo Órgão é obrigatório.\r\n\r\n \r\n \r\n .\r\n \r\n \r\n \r\n {\r\n tipoSolicitacaoCompleto != null && tipoSolicitacaoCompleto.semOficio == true ?\r\n\r\n ''\r\n\r\n :\r\n\r\n \r\n\r\n {/*\r\n Descrição\r\n setDescricao(e.target.value)}\r\n required\r\n maxLength=\"400\"\r\n isInvalid={validated && descricao.trim() === \"\" ? true : false}\r\n isValid={validated && descricao.trim() !== \"\" ? true : false}\r\n />\r\n O campo Descrição é obrigatório.\r\n */}\r\n\r\n \r\n Observação\r\n setObservacao(e.target.value)}\r\n maxLength=\"500\"\r\n />\r\n O campo Descrição é obrigatório.\r\n \r\n\r\n \r\n {/* MudarTelefoneInteressado(e)}\r\n value={idInteressado}\r\n required\r\n isInvalid={validated && idInteressado === \"\" ? true : false}\r\n isValid={validated && idInteressado !== \"\" ? true : false}>\r\n \r\n {\r\n listaInteressado != undefined ?\r\n listaInteressado.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n */}\r\n Interessado\r\n \r\n O campo Interessado é 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 tipoSolicitacaoCompleto != null && tipoSolicitacaoCompleto.semOficio == true ?\r\n ''\r\n :\r\n \r\n\r\n \r\n Endereço Interessado\r\n setEndereco(e.target.value)}\r\n required\r\n maxLength=\"400\"\r\n isInvalid={validated && endereco.trim() === \"\" ? true : false}\r\n isValid={validated && endereco.trim() !== \"\" ? true : false}\r\n />\r\n O campo Endereço é obrigatório.\r\n \r\n\r\n \r\n DDD Interessado\r\n setDdd(e.target.value)}\r\n //isInvalid={validated && (ddd == undefined || ddd == null || ddd == '') ? false :\r\n // validated && !/^\\d{2}$/.test(String(ddd)) ? true : false}\r\n // isValid={validated && (ddd == undefined || ddd == null || ddd == '') ? true :\r\n // validated && /^\\d{2}$/.test(String(ddd)) ? true : false}\r\n />\r\n {/*O campo DDD esta com formato invalido.*/}\r\n \r\n\r\n \r\n Telefone Celular Interessado
\r\n setTelefone(e.target.value)}\r\n /*isInvalid={validated && (telefone == undefined || telefone == null || telefone == '') ? false :\r\n validated && (!/^\\d{1}\\d{4} \\d{4}$/.test(String(telefone)))\r\n && (!/^\\d{1}\\d{4}\\d{4}$/.test(String(telefone)))\r\n ? true : false}\r\n isValid={validated && (telefone == undefined || telefone == null || telefone == '') ? true :\r\n validated && (/^\\d{1}\\d{4} \\d{4}$/.test(String(telefone)))\r\n || (/^\\d{1}\\d{4}\\d{4}$/.test(String(telefone)))\r\n ? true : false} */>\r\n \r\n {/*O campo Telefone esta com formato invalido.*/}\r\n
\r\n\r\n \r\n DDD Fixo Interessado\r\n setDddFixo(e.target.value)}\r\n //isInvalid={validated && (dddFixo == undefined || dddFixo == null || dddFixo == '') ? false :\r\n // validated && !/^\\d{2}$/.test(String(dddFixo)) ? true : false}\r\n // isValid={validated && (dddFixo == undefined || dddFixo == null || dddFixo == '') ? true :\r\n // validated && /^\\d{2}$/.test(String(dddFixo)) ? true : false}\r\n />\r\n {/*O campo DDD Fixo esta com formato invalido.*/}\r\n \r\n\r\n \r\n Telefone Fixo Interessado
\r\n setTelefoneFixo(e.target.value)}\r\n // isInvalid={validated && (telefoneFixo == undefined || telefoneFixo == null || telefoneFixo == '') ? false :\r\n // validated && !/^\\d{4} \\d{4}$/.test(String(telefoneFixo)) ? true : false}\r\n // isValid={validated && (telefoneFixo == undefined || telefoneFixo == null || telefoneFixo == '') ? true :\r\n // validated && (/^\\d{4} \\d{4}$/.test(String(telefoneFixo))) ? true : false} \r\n >\r\n \r\n {/* O campo Telefone Fixo esta com formato invalido. */}\r\n
\r\n
\r\n \r\n Número Oficio (Origem)
\r\n setNumeroOficioSolicitacaoOrcamento(e.target.value)}\r\n >\r\n \r\n
\r\n
\r\n }\r\n
\r\n :\r\n tipoSolicitacaoCompleto != null && tipoSolicitacaoCompleto.eventoResposta == true ?\r\n
\r\n\r\n \r\n\r\n \r\n Interessado\r\n \r\n O campo Interessado é 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 Endereço Interessado\r\n setEndereco(e.target.value)}\r\n required\r\n maxLength=\"400\"\r\n isInvalid={validated && endereco != null && endereco.trim() === \"\" ? true : false}\r\n isValid={validated && endereco != null && endereco.trim() !== \"\" ? true : false}\r\n />\r\n O campo Endereço é obrigatório.\r\n \r\n\r\n \r\n DDD Interessado\r\n setDdd(e.target.value)}\r\n //isInvalid={validated && (ddd == undefined || ddd == null || ddd == '') ? false :\r\n // validated && !/^\\d{2}$/.test(String(ddd)) ? true : false}\r\n // isValid={validated && (ddd == undefined || ddd == null || ddd == '') ? true :\r\n // validated && /^\\d{2}$/.test(String(ddd)) ? true : false}\r\n />\r\n {/*O campo DDD esta com formato invalido.*/}\r\n \r\n\r\n \r\n Telefone Celular Interessado
\r\n setTelefone(e.target.value)}>\r\n \r\n {/*O campo Telefone esta com formato invalido.*/}\r\n
\r\n\r\n \r\n DDD Fixo Interessado\r\n setDddFixo(e.target.value)}\r\n //isInvalid={validated && (dddFixo == undefined || dddFixo == null || dddFixo == '') ? false :\r\n // validated && !/^\\d{2}$/.test(String(dddFixo)) ? true : false}\r\n // isValid={validated && (dddFixo == undefined || dddFixo == null || dddFixo == '') ? true :\r\n // validated && /^\\d{2}$/.test(String(dddFixo)) ? true : false}\r\n />\r\n {/*O campo DDD Fixo esta com formato invalido.*/}\r\n \r\n\r\n \r\n Telefone Fixo Interessado
\r\n setTelefoneFixo(e.target.value)}\r\n // isInvalid={validated && (telefoneFixo == undefined || telefoneFixo == null || telefoneFixo == '') ? false :\r\n // validated && !/^\\d{4} \\d{4}$/.test(String(telefoneFixo)) ? true : false}\r\n // isValid={validated && (telefoneFixo == undefined || telefoneFixo == null || telefoneFixo == '') ? true :\r\n // validated && (/^\\d{4} \\d{4}$/.test(String(telefoneFixo))) ? true : false} \r\n >\r\n \r\n {/* O campo Telefone Fixo esta com formato invalido. */}\r\n
\r\n
\r\n
\r\n :\r\n ''\r\n :\r\n ''\r\n }\r\n\r\n
\r\n {\r\n idTipoSolicitacao != \"\" ?\r\n\r\n tipoSolicitacaoCompleto != null && tipoSolicitacaoCompleto.listaFormularioCaracteristica != null ?\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica.map(function (m, y) {\r\n\r\n if (y % 2 == 0 && tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1] != null) {\r\n return (\r\n \r\n {\r\n m.caracteristica.tipoCaracteristica.descricao == 'select' ?\r\n m.caracteristica.id == 17 ?\r\n \r\n \r\n \r\n {m.caracteristica.descricaoLabel}\r\n 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null ?\r\n m.caracteristica.caracteristicaResposta.filter(x => x.id == listaResposta\r\n .find(x => x.descricao == m.caracteristica.descricao).idCaracteristicaResposta).length > 0 ?\r\n m.caracteristica.caracteristicaResposta.filter(x => x.id == listaResposta\r\n .find(x => x.descricao == m.caracteristica.descricao).idCaracteristicaResposta)[0].descricao : '' : ''\r\n }\r\n onChange={e => MudarValor(m.caracteristica.descricao, e.target.value, m.caracteristica.tipoCaracteristica.descricao,\r\n m.caracteristica.caracteristicaResposta[0].id)}\r\n maxLength=\"150\"\r\n required={m.caracteristica.nulavel ? false : true}\r\n isInvalid={\r\n validated && !m.caracteristica.nulavel && listaResposta != null && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null &&\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor === \"\" ? true : false}\r\n isValid={validated && !m.caracteristica.nulavel && listaResposta != null && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null &&\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor !== null ? true : false}\r\n />\r\n O campo {m.caracteristica.descricaoLabel} é obrigatório.\r\n \r\n \r\n .\r\n \r\n \r\n \r\n \r\n :\r\n \r\n {m.caracteristica.descricaoLabel}\r\n ({\r\n ...styles, borderColor: validated && !m.caracteristica.nulavel && listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor === \"\" ? 'red' : '#C0C0C0'\r\n }),\r\n placeholder: (styles) => ({\r\n ...styles, color: validated && !m.caracteristica.nulavel && listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor === \"\" ? 'red' : '#C0C0C0'\r\n })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n defaultValue={listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null &&\r\n m.caracteristica.caracteristicaResposta != undefined ?\r\n\r\n {\r\n value: listaResposta.find(x => x.descricao == m.caracteristica.descricao).idCaracteristicaResposta,\r\n label: m.caracteristica.caracteristicaResposta\r\n .filter(x => x.id == listaResposta.find(x => x.descricao == m.caracteristica.descricao).idCaracteristicaResposta).length > 0 ?\r\n m.caracteristica.caracteristicaResposta\r\n .filter(x => x.id == listaResposta.find(x => x.descricao == m.caracteristica.descricao).idCaracteristicaResposta)[0].descricao : ''\r\n } : ''\r\n }\r\n options={\r\n m.caracteristica.caracteristicaResposta != undefined && m.caracteristica.caracteristicaResposta.length > 0 ?\r\n [...m.caracteristica.caracteristicaResposta].sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={e => MudarValor(m.caracteristica.descricao, e != null ? e.value.toString() : '', m.caracteristica.tipoCaracteristica.descricao,\r\n m.caracteristica.caracteristicaResposta[0].id)}\r\n />\r\n O campo {m.caracteristica.descricaoLabel} é obrigatório.\r\n \r\n :\r\n m.caracteristica.tipoCaracteristica.inputLargo ?\r\n \r\n \r\n {m.caracteristica.descricaoLabel} \r\n {m.caracteristica.descricaoLabel === \"Memorando\" ?\r\n \r\n
\r\n *Favor adicionar ao texto, se necessário, o destinatário desejado. Ex.: \"Prezado Coordenador, \".\r\n
\r\n :\r\n ''\r\n }\r\n
\r\n 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null ?\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor : ''\r\n }\r\n onChange={e => MudarValor(m.caracteristica.descricao, e.target.value, m.caracteristica.tipoCaracteristica.descricao,\r\n m.caracteristica.caracteristicaResposta[0].id)}\r\n maxLength=\"10000\"\r\n required={m.caracteristica.nulavel ? false : true}\r\n isInvalid={\r\n validated && !m.caracteristica.nulavel && listaResposta != null && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null &&\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor === \"\" ? true : false}\r\n isValid={validated && !m.caracteristica.nulavel && listaResposta != null && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null &&\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor !== null ? true : false}\r\n />\r\n O campo {m.caracteristica.descricaoLabel} é obrigatório.\r\n
\r\n :\r\n m.caracteristica.tipoCaracteristica.inputGrande ?\r\n \r\n {m.caracteristica.descricaoLabel}\r\n 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null ?\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor : ''\r\n }\r\n onChange={e => MudarValor(m.caracteristica.descricao, e.target.value, m.caracteristica.tipoCaracteristica.descricao,\r\n m.caracteristica.caracteristicaResposta[0].id)}\r\n maxLength=\"150\"\r\n required={m.caracteristica.nulavel ? false : true}\r\n isInvalid={\r\n validated && !m.caracteristica.nulavel && listaResposta != null && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null &&\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor === \"\" ? true : false}\r\n isValid={validated && !m.caracteristica.nulavel && listaResposta != null && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null &&\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor !== null ? true : false}\r\n />\r\n O campo {m.caracteristica.descricaoLabel} é obrigatório.\r\n \r\n :\r\n \r\n {m.caracteristica.descricaoLabel}\r\n 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null ?\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor : ''\r\n }\r\n onChange={e => MudarValor(m.caracteristica.descricao, e.target.value, m.caracteristica.tipoCaracteristica.descricao,\r\n m.caracteristica.caracteristicaResposta[0].id)}\r\n maxLength=\"150\"\r\n required={m.caracteristica.nulavel ? false : true}\r\n isInvalid={\r\n validated && !m.caracteristica.nulavel && listaResposta != null && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null &&\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor === \"\" ? true : false}\r\n isValid={validated && !m.caracteristica.nulavel && listaResposta != null && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null &&\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor !== null ? true : false}\r\n />\r\n O campo {m.caracteristica.descricaoLabel} é obrigatório.\r\n \r\n }\r\n\r\n {\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.tipoCaracteristica.descricao == 'select' ?\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.id == 17 ?\r\n <>\r\n \r\n {tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricaoLabel}\r\n 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null ?\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.caracteristicaResposta.filter(\r\n x => x.id == listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).idCaracteristicaResposta\r\n ).length > 0 ?\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.caracteristicaResposta.filter(\r\n x => x.id == listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).idCaracteristicaResposta\r\n )[0].descricao\r\n : ''\r\n : ''\r\n }\r\n onChange={e => MudarValor(tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao, e.target.value, tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.tipoCaracteristica.descricao,\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.caracteristicaResposta[0].id)}\r\n maxLength=\"150\"\r\n required={tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel ? false : true}\r\n isInvalid={\r\n validated && !tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor === \"\" ? true : false}\r\n isValid={validated && !tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor !== null ? true : false}\r\n />\r\n O campo {tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricaoLabel} é obrigatório.\r\n \r\n \r\n .\r\n \r\n \r\n \r\n :\r\n \r\n {tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricaoLabel}\r\n\r\n ({\r\n ...styles, borderColor: validated && !tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor === \"\" ? 'red' : '#C0C0C0'\r\n }),\r\n placeholder: (styles) => ({\r\n ...styles, color: validated && !tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor === \"\" ? 'red' : '#C0C0C0'\r\n })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n defaultValue={listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null &&\r\n m.caracteristica.caracteristicaResposta != undefined\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null ?\r\n {\r\n value: listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).idCaracteristicaResposta,\r\n label: tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.caracteristicaResposta != null && tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.caracteristicaResposta\r\n .filter(x => x.id == listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).idCaracteristicaResposta).length > 0 ?\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.caracteristicaResposta\r\n .filter(x => x.id == listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).idCaracteristicaResposta)[0].descricao : ''\r\n }\r\n : ''\r\n }\r\n options={\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.caracteristicaResposta != undefined && m.caracteristica.caracteristicaResposta.length > 0 ?\r\n [...tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1]\r\n .caracteristica.caracteristicaResposta].sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={\r\n e => MudarValor(tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao, e != null ? e.value.toString() : '', tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.tipoCaracteristica.descricao,\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.caracteristicaResposta[0].id)}\r\n />\r\n O campo {tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricaoLabel} é obrigatório.\r\n \r\n :\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.tipoCaracteristica.inputLargo ?\r\n \r\n {tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricaoLabel}\r\n 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null ?\r\n listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor : ''\r\n }\r\n onChange={e => MudarValor(tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao, e.target.value, tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.tipoCaracteristica.descricao,\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.caracteristicaResposta[0].id)}\r\n maxLength=\"10000\"\r\n required={tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel ? false : true}\r\n isInvalid={\r\n validated && !tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor === \"\" ? true : false}\r\n isValid={validated && !tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor !== null ? true : false}\r\n />\r\n O campo {tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricaoLabel} é obrigatório.\r\n \r\n :\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.tipoCaracteristica.inputGrande ?\r\n \r\n {tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricaoLabel}\r\n 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null ?\r\n listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor : ''\r\n }\r\n onChange={e => MudarValor(tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao, e.target.value, tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.tipoCaracteristica.descricao,\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.caracteristicaResposta[0].id)}\r\n maxLength=\"150\"\r\n required={tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel ? false : true}\r\n isInvalid={\r\n validated && !tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor === \"\" ? true : false}\r\n isValid={validated && !tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor !== null ? true : false}\r\n />\r\n O campo {tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricaoLabel} é obrigatório.\r\n \r\n :\r\n \r\n {tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricaoLabel}\r\n 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null ?\r\n listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor : ''\r\n }\r\n onChange={e => MudarValor(tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao, e.target.value, tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.tipoCaracteristica.descricao,\r\n tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.caracteristicaResposta[0].id)}\r\n maxLength=\"150\"\r\n required={tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel ? false : true}\r\n isInvalid={\r\n validated && !tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor === \"\" ? true : false}\r\n isValid={validated && !tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.nulavel && listaResposta.length > 0\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricao).valor !== null ? true : false}\r\n />\r\n O campo {tipoSolicitacaoCompleto.listaFormularioCaracteristica[y + 1].caracteristica.descricaoLabel} é obrigatório.\r\n \r\n }\r\n\r\n
\r\n )\r\n } else if (y % 2 == 0) {\r\n return (\r\n \r\n\r\n {\r\n m.caracteristica.tipoCaracteristica.descricao == 'select' ?\r\n m.caracteristica.id === 17 ?\r\n \r\n \r\n \r\n {m.caracteristica.descricaoLabel}\r\n 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null ?\r\n m.caracteristica.caracteristicaResposta.filter(x => x.id == listaResposta\r\n .find(x => x.descricao == m.caracteristica.descricao).idCaracteristicaResposta).length > 0 ?\r\n m.caracteristica.caracteristicaResposta.filter(x => x.id == listaResposta\r\n .find(x => x.descricao == m.caracteristica.descricao).idCaracteristicaResposta)[0].descricao : '' : ''\r\n }\r\n onChange={e => MudarValor(m.caracteristica.descricao, e.target.value, m.caracteristica.tipoCaracteristica.descricao,\r\n m.caracteristica.caracteristicaResposta[0].id)}\r\n maxLength=\"150\"\r\n required={m.caracteristica.nulavel ? false : true}\r\n isInvalid={\r\n validated && !m.caracteristica.nulavel && listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor === \"\" ? true : false}\r\n isValid={validated && !m.caracteristica.nulavel && listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor !== null ? true : false}\r\n />\r\n O campo {m.caracteristica.descricaoLabel} é obrigatório.\r\n \r\n \r\n .\r\n \r\n \r\n \r\n \r\n :\r\n \r\n {m.caracteristica.descricaoLabel}\r\n ({\r\n ...styles, borderColor: validated && !m.caracteristica.nulavel && listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor === \"\" ? 'red' : '#C0C0C0'\r\n }),\r\n placeholder: (styles) => ({\r\n ...styles, color: validated && !m.caracteristica.nulavel && listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor === \"\" ? 'red' : '#C0C0C0'\r\n })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n defaultValue={listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null &&\r\n m.caracteristica.caracteristicaResposta != undefined ?\r\n\r\n {\r\n value: listaResposta.find(x => x.descricao == m.caracteristica.descricao).idCaracteristicaResposta,\r\n label: m.caracteristica.caracteristicaResposta\r\n .filter(x => x.id == listaResposta.find(x => x.descricao == m.caracteristica.descricao).idCaracteristicaResposta).length > 0 ?\r\n m.caracteristica.caracteristicaResposta\r\n .filter(x => x.id == listaResposta.find(x => x.descricao == m.caracteristica.descricao).idCaracteristicaResposta)[0].descricao : ''\r\n } : ''\r\n }\r\n options={\r\n m.caracteristica.caracteristicaResposta != undefined && m.caracteristica.caracteristicaResposta.length > 0 ?\r\n [...m.caracteristica.caracteristicaResposta].sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={e => MudarValor(m.caracteristica.descricao, e != null ? e.value.toString() : '', m.caracteristica.tipoCaracteristica.descricao,\r\n m.caracteristica.caracteristicaResposta[0].id)}\r\n />\r\n O campo {m.caracteristica.descricaoLabel} é obrigatório.\r\n \r\n :\r\n m.caracteristica.tipoCaracteristica.inputLargo ?\r\n \r\n {m.caracteristica.descricaoLabel}\r\n 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null ?\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor : ''\r\n }\r\n onChange={e => MudarValor(m.caracteristica.descricao, e.target.value, m.caracteristica.tipoCaracteristica.descricao,\r\n m.caracteristica.caracteristicaResposta[0].id)}\r\n maxLength=\"10000\"\r\n required={m.caracteristica.nulavel ? false : true}\r\n isInvalid={\r\n validated && !m.caracteristica.nulavel && listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor === \"\" ? true : false}\r\n isValid={validated && !m.caracteristica.nulavel && listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor !== null ? true : false}\r\n />\r\n O campo {m.caracteristica.descricaoLabel} é obrigatório.\r\n \r\n :\r\n m.caracteristica.tipoCaracteristica.inputGrande ?\r\n \r\n {m.caracteristica.descricaoLabel}\r\n 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null ?\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor : ''\r\n }\r\n onChange={e => MudarValor(m.caracteristica.descricao, e.target.value, m.caracteristica.tipoCaracteristica.descricao,\r\n m.caracteristica.caracteristicaResposta[0].id)}\r\n maxLength=\"150\"\r\n required={m.caracteristica.nulavel ? false : true}\r\n isInvalid={\r\n validated && !m.caracteristica.nulavel && listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor === \"\" ? true : false}\r\n isValid={validated && !m.caracteristica.nulavel && listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor !== null ? true : false}\r\n />\r\n O campo {m.caracteristica.descricaoLabel} é obrigatório.\r\n \r\n :\r\n \r\n {m.caracteristica.descricaoLabel}\r\n 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null ?\r\n listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor : ''\r\n }\r\n onChange={e => MudarValor(m.caracteristica.descricao, e.target.value, m.caracteristica.tipoCaracteristica.descricao,\r\n m.caracteristica.caracteristicaResposta[0].id)}\r\n maxLength=\"150\"\r\n required={m.caracteristica.nulavel ? false : true}\r\n isInvalid={\r\n validated && !m.caracteristica.nulavel && listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor === \"\" ? true : false}\r\n isValid={validated && !m.caracteristica.nulavel && listaResposta.length > 0 && listaResposta.find(x => x.descricao == m.caracteristica.descricao) != null\r\n && listaResposta.find(x => x.descricao == m.caracteristica.descricao).valor !== null ? true : false}\r\n />\r\n O campo {m.caracteristica.descricaoLabel} é obrigatório.\r\n \r\n }\r\n \r\n )\r\n }\r\n })\r\n :\r\n null\r\n :\r\n null\r\n }\r\n
\r\n\r\n \r\n {\r\n id == undefined\r\n ?\r\n \r\n {\r\n id == undefined && inserir == true\r\n ?\r\n \r\n \r\n \r\n\r\n : alterar == true\r\n ?\r\n \r\n \r\n \r\n :\r\n ''\r\n }\r\n \r\n :\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Solicitação está Cancelada!\r\n \r\n \r\n :\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true)[0].id).length > 0 &&\r\n usuarioCompleto && usuarioCompleto.grupoAcesso &&\r\n usuarioCompleto.grupoAcesso.nomeGrupo !== \"Super Administrador\"\r\n ?\r\n \r\n \r\n A Solicitação está Finalizada!\r\n \r\n \r\n :\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1] != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento != null && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento.somenteLeitura == true &&\r\n usuarioCompleto && usuarioCompleto.grupoAcesso &&\r\n usuarioCompleto.grupoAcesso.nomeGrupo !== \"Super Administrador\" ?\r\n \r\n \r\n Status atual desta solicitação só permite leitura!\r\n \r\n \r\n :\r\n \r\n \r\n {\r\n id == undefined && inserir == true\r\n ?\r\n \r\n \r\n \r\n\r\n : alterar == 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 id != undefined ?\r\n\r\n (tipoSolicitacaoCompleto != null && tipoSolicitacaoCompleto.servico && tipoSolicitacaoCompleto.idFormulario != 2)\r\n || (tipoSolicitacaoCompleto != null && (tipoSolicitacaoCompleto.id == 148 || tipoSolicitacaoCompleto.id == 149 || tipoSolicitacaoCompleto.id == 150)) ?\r\n \r\n } fileName=\"solicitacaoFornecimento.pdf\">\r\n \r\n Exportar Solicitação Orçamento\r\n \r\n {({ blob, url, loading, error }) => (loading ? 'Carregando autorização fornecimento...' : 'Exportar como PDF')}\r\n \r\n \r\n :\r\n tipoSolicitacaoCompleto != null && tipoSolicitacaoCompleto.semOficio == false && tipoSolicitacaoCompleto.eventoResposta == false ?\r\n \r\n } fileName=\"solicitacaoFornecimentoEvento.pdf\">\r\n \r\n Exportar Solicitação Orçamento com Evento\r\n \r\n {({ blob, url, loading, error }) => (loading ? 'Carregando autorização fornecimento Evento...' : 'Exportar como PDF')}\r\n \r\n \r\n :\r\n ''\r\n :\r\n ''\r\n }\r\n \r\n \r\n {\r\n id == undefined || (solicitacaoFornecimento != null && solicitacaoFornecimento.numeroOficio != '') ?\r\n ''\r\n :\r\n \r\n GerarOficio()}>\r\n Gerar Ofício\r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n :\r\n \r\n }\r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n \r\n \r\n \r\n Foi alterado o número de orçamento. Você deseja criar uma nova versão de solicitação?\r\n \r\n \r\n \r\n Observação\r\n setObservacaoVersao(e.target.value)}\r\n required\r\n as=\"textarea\"\r\n rows=\"5\"\r\n maxLength=\"500\"\r\n isInvalid={validatedObservacaoNovaVersao && observacaoVersao === \"\" ? true : false}\r\n isValid={validatedObservacaoNovaVersao && observacaoVersao !== \"\" ? true : false}\r\n />\r\n O campo observação é obrigatório.\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n inserir == true ?\r\n \r\n :\r\n ''\r\n\r\n }\r\n {\r\n alterar == 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}","import { Col, Alert, Form, Button, Row } from \"react-bootstrap\";\r\nimport { useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useState } from \"react\";\r\nimport { InserirCoordenadasdSolicitacaoFornecimentoRequest, BuscarSolicitacaoFornecimentoPorIdRequest, BuscarCoordenadasPorEnderecoRequest } from \"../../../store/modules/solicitacaoFornecimento/actions\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { ListarStatusSolicitacaoFornecimentoRequest } from '../../../store/modules/statusSolicitacaoFornecimento/actions';\r\nimport GoogleMapReact from 'google-map-react';\r\nimport Geocode from \"react-geocode\";\r\nimport './mapa.css';\r\n\r\nconst PinReactComponent = () =>\r\n
\r\n
\r\n\r\nexport default function Mapa() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const solicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.solicitacaoFornecimentoCompleto);\r\n const coordenadasPorEndereco = useSelector(state => state.solicitacaoFornecimento.coordenadasPorEndereco);\r\n const listaTipoSolicitacao = useSelector(state => state.tipoSolicitacao.listaTipoSolicitacao);\r\n const listaSolicitacaoFornecimentoVersaoStatus = useSelector(state =>\r\n state.solicitacaoFornecimentoVersaoStatus.listaSolicitacaoFornecimentoVersaoStatus);\r\n const listaStatusSolicitacaoFornecimentoCompleto = useSelector(state => state.statusSolicitacaoFornecimento.listaStatusSolicitacaoFornecimentoCompleto);\r\n\r\n const [latitude, setLatitude] = useState('-23.5489');\r\n const [longitude, setLongitude] = useState('-46.6388233256');\r\n const [endereco, setEndereco] = useState(\"\");\r\n const [zoom, setZoom] = useState(7);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n //dispatch(ListarStatusSolicitacaoFornecimentoRequest());\r\n\r\n }, [])\r\n\r\n //AIzaSyAamdmy1AK-Hz9QS40toW0F6qAXgGAJi7E\r\n //AIzaSyDRLnbHWWWL5XQDwFi5aFxDiMY0d8INnSc\r\n useEffect(() => {\r\n\r\n if (solicitacaoFornecimento != null) {\r\n setLatitude(solicitacaoFornecimento.latitude == '0' ? '-23.5489' : solicitacaoFornecimento.latitude);\r\n setLongitude(solicitacaoFornecimento.longitude == '0' ? '-46.6388233256' : solicitacaoFornecimento.longitude);\r\n setEndereco(solicitacaoFornecimento.descricaoLocal)\r\n }\r\n\r\n }, [solicitacaoFornecimento])\r\n\r\n useEffect(() => {\r\n\r\n if (coordenadasPorEndereco != null) {\r\n setLatitude(coordenadasPorEndereco.latitude);\r\n setLongitude(coordenadasPorEndereco.longitude);\r\n setZoom(4);\r\n }\r\n\r\n }, [coordenadasPorEndereco])\r\n\r\n function SalvarCoordenada() {\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': id,\r\n 'Latitude': `${latitude}`,\r\n 'Longitude': `${longitude}`\r\n }\r\n\r\n dispatch(InserirCoordenadasdSolicitacaoFornecimentoRequest(data));\r\n }\r\n\r\n function MudarPinoMapa(coordenadas) {\r\n setLatitude(coordenadas.lat);\r\n setLongitude(coordenadas.lng);\r\n }\r\n\r\n function BuscarEndereco(enderecoLocal) {\r\n\r\n if (enderecoLocal != '') {\r\n /* Geocode.setApiKey(\"AIzaSyDRLnbHWWWL5XQDwFi5aFxDiMY0d8INnSc\");\r\n Geocode.setLanguage(\"pt-BR\");\r\n Geocode.setRegion(\"br\");\r\n Geocode.setLocationType(\"ROOFTOP\");\r\n Geocode.enableDebug(true); \r\n Geocode.fromAddress(enderecoLocal).then(\r\n (response) => {\r\n const { lat, lng } = response.results[0].geometry.location;\r\n setLatitude(lat);\r\n setLongitude(lng);\r\n },\r\n (error) => {\r\n console.error(error);\r\n }\r\n ); */\r\n dispatch(BuscarCoordenadasPorEnderecoRequest(enderecoLocal));\r\n }\r\n\r\n }\r\n\r\n\r\n return (\r\n <>\r\n\r\n
\r\n {solicitacaoFornecimento != null && listaTipoSolicitacao != undefined && listaTipoSolicitacao.length > 0 &&\r\n listaTipoSolicitacao.filter((tipoSoli) => tipoSoli.id === solicitacaoFornecimento.idTipoSolicitacao).length > 0 &&\r\n listaTipoSolicitacao.filter((tipoSoli) => tipoSoli.id === solicitacaoFornecimento.idTipoSolicitacao)[0].geografico\r\n\r\n ?\r\n\r\n \r\n \r\n \r\n \r\n Endereço\r\n setEndereco(e.target.value)}\r\n />\r\n
\r\n \r\n {/*} {*/}\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n { MudarPinoMapa(cor) }}\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n {\r\n id != undefined && listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Solicitação está Cancelada!\r\n \r\n \r\n :\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Solicitação está Finalizada!\r\n \r\n \r\n :\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1] != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento != null && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento.somenteLeitura == true ?\r\n \r\n \r\n Status atual desta solicitação só permite leitura!\r\n \r\n \r\n :\r\n inserir == true ?\r\n \r\n \r\n \r\n :\r\n ''\r\n }\r\n
\r\n
\r\n :\r\n
\r\n Essa Solicitação não tem o tipo geográfico.\r\n
\r\n }\r\n
\r\n \r\n )\r\n}","export function ListarSolicitacaoFornecimentoVersaoSubitemCustoRequest(idSolicitacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_REQUEST', idSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarSolicitacaoFornecimentoVersaoSubitemCustoResponse(listaSolicitacaoFornecimentoVersaoSubitemCusto) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_RESPONSE',\r\n listaSolicitacaoFornecimentoVersaoSubitemCusto\r\n }\r\n}\r\n\r\nexport function InserirSolicitacaoFornecimentoVersaoSubitemCustoRequest(data, idSolicitacaoFornecimento, idContratoVersao) {\r\n return {\r\n type: 'INSERIR_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_REQUEST',\r\n data, idSolicitacaoFornecimento, idContratoVersao\r\n }\r\n}\r\n\r\nexport function AlterarSolicitacaoFornecimentoVersaoSubitemCustoRequest(data, idSolicitacaoFornecimento) {\r\n return {\r\n type: 'ALTERAR_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_REQUEST',\r\n data, idSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ExcluirSolicitacaoFornecimentoVersaoSubitemCustoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ExcluirSolicitacaoFornecimentoVersaoSubitemCustoPorIdSolicitacaoRequest(idSolicitacaoFornecimentoVersao, idSolicitacaoFornecimento) {\r\n return {\r\n type: 'EXCLUIR_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_POR_ID_SOLICITACAO_REQUEST',\r\n idSolicitacaoFornecimentoVersao,\r\n idSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ImportarSolicitacaoFornecimentoVersaoSubitemCustoExcelRequest(listaImportacao, idSolicitacaoFornecimento, idContratoVersao) {\r\n return {\r\n type: 'IMPORTACAO_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_REQUEST',\r\n listaImportacao, idSolicitacaoFornecimento, idContratoVersao\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarAutorizacaoFornecimentoSubitemCustoRequest(data) {\r\n return {\r\n type: 'LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ListarAutorizacaoFornecimentoSubitemCustoResponse(listaAutorizacaoFornecimentoSubitemCusto) {\r\n return {\r\n type: 'LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_RESPONSE',\r\n listaAutorizacaoFornecimentoSubitemCusto\r\n }\r\n}\r\n\r\nexport function ListarCompletoAutorizacaoFornecimentoSubitemCustoRequest(data) {\r\n return {\r\n type: 'LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ListarCompletoAutorizacaoFornecimentoSubitemCustoResponse(listaCompletoAutorizacaoFornecimentoSubitemCusto) {\r\n return {\r\n type: 'LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_RESPONSE',\r\n listaCompletoAutorizacaoFornecimentoSubitemCusto\r\n }\r\n}\r\n\r\nexport function BuscarAutorizacaoFornecimentoSubitemCustoPorIdResponse(autorizacaoFornecimentoSubitemCustoCompleto) {\r\n return {\r\n type: 'BUSCAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_POR_ID_RESPONSE',\r\n autorizacaoFornecimentoSubitemCustoCompleto\r\n }\r\n}\r\n\r\nexport function InserirAutorizacaoFornecimentoSubitemCustoComFotoRequest(data, idAutorizacaoFornecimento, idContratoVersao, formData) {\r\n return {\r\n type: 'INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_COM_FOTO_REQUEST',\r\n data, idAutorizacaoFornecimento, idContratoVersao, formData\r\n }\r\n}\r\n\r\nexport function InserirAutorizacaoFornecimentoSubitemCustoRequest(data, idAutorizacaoFornecimento, idContratoVersao) {\r\n return {\r\n type: 'INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_REQUEST',\r\n data, idAutorizacaoFornecimento, idContratoVersao\r\n }\r\n}\r\n\r\nexport function AlterarAutorizacaoFornecimentoSubitemCustoRequest(data, validado) {\r\n return {\r\n type: 'ALTERAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_REQUEST',\r\n data, validado\r\n }\r\n}\r\n\r\nexport function ExcluirAutorizacaoFornecimentoSubitemCustoRequest(data) {\r\n return {\r\n type: 'EXCLUIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}\r\n\r\n","export function ListarAutorizacaoFornecimentoSubitemCustoMedicaoRequest(id) {\r\n return {\r\n type: 'LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ListarAutorizacaoFornecimentoSubitemCustoMedicaoResponse(listaAutorizacaoFornecimentoSubitemCustoMedicao) {\r\n return {\r\n type: 'LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_RESPONSE',\r\n listaAutorizacaoFornecimentoSubitemCustoMedicao\r\n }\r\n}\r\n\r\nexport function InserirAutorizacaoFornecimentoSubitemCustoMedicaoRequest(data, idAutorizacaoFornecimento) {\r\n return {\r\n type: 'INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_REQUEST',\r\n data,\r\n idAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function AlterarAutorizacaoFornecimentoSubitemCustoMedicaoRequest(data, idAutorizacaoFornecimento) {\r\n return {\r\n type: 'ALTERAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_REQUEST',\r\n data,\r\n idAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoRequest(data) {\r\n return {\r\n type: 'EXCLUIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function BuscarAutorizacaoFornecimentoSubitemCustoMedicaoPorIdRequest(idAutorizacaoFornecimentoSubitemCustoMedicao) {\r\n return {\r\n type: 'BUSCAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_POR_ID_REQUEST',\r\n idAutorizacaoFornecimentoSubitemCustoMedicao\r\n }\r\n}\r\n\r\nexport function BuscarAutorizacaoFornecimentoSubitemCustoMedicaoPorIdResponse(autorizacaoFornecimentoSubitemCustoMedicaoCompleto) {\r\n return {\r\n type: 'BUSCAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_POR_ID_RESPONSE',\r\n autorizacaoFornecimentoSubitemCustoMedicaoCompleto\r\n }\r\n}\r\n\r\n\r\nexport function InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoRequest(data, idAutorizacaoFornecimento, idContratoVersao) {\r\n return {\r\n type: 'INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_SEM_AUTORIZACAO_REQUEST',\r\n data,\r\n idAutorizacaoFornecimento, idContratoVersao\r\n }\r\n}\r\n\r\nexport function InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoComFotoRequest(data, idAutorizacaoFornecimento, idContratoVersao, formData, dados, valorSubitemMedicoes, valorEcedente) {\r\n return {\r\n type: 'INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_SEM_AUTORIZACAO_COM_FOTO_REQUEST',\r\n data,\r\n idAutorizacaoFornecimento, idContratoVersao, formData, dados, valorSubitemMedicoes, valorEcedente\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarMedicaoAutorizacaoFornecimentoRequest(id) {\r\n return {\r\n type: 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ListarTodasMedicaoAutorizacaoFornecimentoRequest() {\r\n return {\r\n type: 'LISTAR_TODAS_MEDICAO_AUTORIZACAO_FORNECIMENTO_REQUEST',\r\n }\r\n}\r\n\r\nexport function ListarTodasMedicaoAutorizacaoFornecimentoResponse(listaTodasMedicaoAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_TODAS_MEDICAO_AUTORIZACAO_FORNECIMENTO_RESPONSE',\r\n listaTodasMedicaoAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarMedicaoAutorizacaoFornecimentoResponse(listaMedicaoAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_RESPONSE',\r\n listaMedicaoAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function InserirMedicaoAutorizacaoFornecimentoRequest(data) {\r\n return {\r\n type: 'INSERIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarMedicaoAutorizacaoFornecimentoRequest(data) {\r\n return {\r\n type: 'ALTERAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirMedicaoAutorizacaoFornecimentoRequest(data) {\r\n return {\r\n type: 'EXCLUIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function BuscarMedicaoAutorizacaoFornecimentoPorIdRequest(id) {\r\n return {\r\n type: 'BUSCAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_POR_ID_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function BuscarMedicaoAutorizacaoFornecimentoPorIdResponse(medicaoAutorizacaoFornecimentoCompleto) {\r\n return {\r\n type: 'BUSCAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_POR_ID_RESPONSE',\r\n medicaoAutorizacaoFornecimentoCompleto\r\n }\r\n}\r\n\r\nexport function LimparMedicao() {\r\n return {\r\n type: 'LIMPAR_MEDICAO'\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { Row, Button, Modal, ModalFooter, Col, Form, Container } from \"react-bootstrap\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { PatchedPagination } from \"../PatchedPagination/patchedPagination\";\r\nimport { BuscarContratoVersaoPorIdRequest } from '../../store/modules/contratoVersao/actions';\r\nimport { ListarTipoSolicitacaoRequest } from '../../store/modules/tipoSolicitacao/actions';\r\nimport { BuscarSolicitacaoFornecimentoPorIdRequest, InserirSolicitacaoFornecimentoRequest, AlterarSolicitacaoFornecimentoRequest } from '../../store/modules/solicitacaoFornecimento/actions';\r\nimport { InserirAutorizacaoFornecimentoSubitemCustoRequest,\r\n InserirAutorizacaoFornecimentoSubitemCustoComFotoRequest } from '../../store/modules/autorizacaoFornecimentoSubitemCusto/actions';\r\nimport {\r\n ListarSolicitacaoFornecimentoVersaoSubitemCustoRequest,\r\n ExcluirSolicitacaoFornecimentoVersaoSubitemCustoPorIdSolicitacaoRequest,\r\n InserirSolicitacaoFornecimentoVersaoSubitemCustoRequest\r\n} from '../../store/modules/solicitacaoFornecimentoVersaoSubitemCusto/actions';\r\nimport { ListarContratoUsuarioRequest } from '../../store/modules/contratoUsuario/actions';\r\nimport {\r\n InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoRequest,\r\n InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoComFotoRequest\r\n} from '../../store/modules/autorizacaoFornecimentoSubitemCustoMedicao/actions';\r\nimport { ListarUnidadeMedidaRequest } from '../../store/modules/unidadeMedida/actions';\r\nimport { BuscarMedicaoAutorizacaoFornecimentoPorIdRequest } from '../../store/modules/medicaoAutorizacaoFornecimento/actions';\r\nimport { toast } from \"react-toastify\";\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport Select from 'react-select';\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function ModalSubitemAutorizacao({ idContratoVersao, show, onHide, idAutorizacaoFornecimento, idSolicitacaoFornecimento, numeroOrcamentoSolicitacao, idMedicao, idAuto,\r\n totalOrcamento, totalOrcamentoAdicionados }) {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const contratoVersao = useSelector(state => state.contratoVersao.contratoVersaoCompleto);\r\n const solicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.solicitacaoFornecimentoCompleto);\r\n const listaSolicitacaoFornecimentoVersaoSubitemCusto =\r\n useSelector(state => state.solicitacaoFornecimentoVersaoSubitemCusto.listaSolicitacaoFornecimentoVersaoSubitemCusto);\r\n const listaAutorizacaoFornecimentoSubitemCusto = useSelector(state => state.autorizacaoFornecimentoSubitemCusto.listaAutorizacaoFornecimentoSubitemCusto);\r\n const tipoSolicitacaoCompleto = useSelector(state => state.tipoSolicitacao.tipoSolicitacaoCompleto);\r\n const listaAutorizacaoFornecimentoSubitemCustoMedicao =\r\n useSelector(state => state.autorizacaoFornecimentoSubitemCustoMedicao.listaAutorizacaoFornecimentoSubitemCustoMedicao);\r\n const listaUnidadeMedida = useSelector(state => state.unidadeMedida.listaUnidadeMedida);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const medicaoAutorizacaoFornecimentoCompleto = useSelector(state => state.medicaoAutorizacaoFornecimento.medicaoAutorizacaoFornecimentoCompleto);\r\n const listaMedicaoAutorizacaoFornecimento = useSelector(state => state.medicaoAutorizacaoFornecimento.listaMedicaoAutorizacaoFornecimento);\r\n \r\n const options = contratoVersao ?\r\n contratoVersao.subitemCusto.map(subitemUnidade => ({\r\n value: subitemUnidade.id, label: subitemUnidade.descricao\r\n }))\r\n :\r\n [];\r\n\r\n const [listaDataCompleta, setListaDataCompleta] = useState('');\r\n const [listaSubitem, setListaSubitem] = useState([]);\r\n const [numeroOrcamento, setNumeroOrcamento] = useState('');\r\n const [dados, setDados] = useState('');\r\n const [showModal, setShowModal] = useState(false);\r\n const [dataSolicitacao, setDataSolicitacao] = useState('');\r\n const [novaSolicitacao, setNovaSolictacao] = useState(false);\r\n const [observacaoSubitem, setObservacaoSubitem] = useState('');\r\n const [validated, setValidated] = useState(false);\r\n const [showConfirmacao, setShowConfirmacao] = useState(false);\r\n const [showFoto, setShowFoto] = useState(false);\r\n const [showFotoMedicao, setShowFotoMedicao] = useState(false);\r\n const [observacao, setObservacao] = useState('');\r\n const [listaFile, setListaFile] = useState([]);\r\n const [dataMedicao, setDataMedicao] = useState('');\r\n\r\n const handleCloseConfirmacao = () => setShowConfirmacao(false);\r\n const handleShowConfirmacao = () => setShowConfirmacao(true);\r\n\r\n const handleClose = () => setShowModal(false);\r\n const handleShow = () => setShowModal(true);\r\n\r\n const handleCloseFoto = () => setShowFoto(false);\r\n const handleShowFoto = () => setShowFoto(true);\r\n\r\n const handleCloseFotoMedicao = () => setShowFotoMedicao(false);\r\n const handleShowFotoMedicao = () => setShowFotoMedicao(true);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if(idMedicao){\r\n dispatch(BuscarMedicaoAutorizacaoFornecimentoPorIdRequest(idMedicao))\r\n }\r\n \r\n }, [idMedicao])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarContratoUsuarioRequest());\r\n dispatch(ListarUnidadeMedidaRequest());\r\n dispatch(ListarTipoSolicitacaoRequest());\r\n dispatch(BuscarContratoVersaoPorIdRequest(idContratoVersao));\r\n\r\n if (idSolicitacaoFornecimento != undefined) { }\r\n //dispatch(BuscarSolicitacaoFornecimentoPorIdRequest(idSolicitacaoFornecimento));\r\n }, [])\r\n\r\n useEffect(() => {\r\n constroiData();\r\n }, [contratoVersao])\r\n\r\n const handleSubmit = (event) => {\r\n\r\n //Verifica se foi inserido algo na descrição de cancelamento\r\n if (observacaoSubitem.trim() == '') {\r\n event.preventDefault();\r\n } else {\r\n ValidacaoInserirSubitemMedicao()\r\n setDataMedicao(event)\r\n //InserirSubitemMedicao(event);\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n function constroiData() {\r\n\r\n let dataCompleta = [];\r\n\r\n if (contratoVersao != null && contratoVersao.subitemCusto != null & contratoVersao.subitemCusto != undefined && listaUnidadeMedida != undefined) {\r\n\r\n if (idAutorizacaoFornecimento != undefined) {\r\n\r\n contratoVersao.subitemCusto.map((subitem) => {\r\n\r\n if ((listaAutorizacaoFornecimentoSubitemCusto != undefined &&\r\n listaAutorizacaoFornecimentoSubitemCusto.find(x => x.idSubitemCusto == subitem.id) == undefined) ||\r\n (listaAutorizacaoFornecimentoSubitemCusto != undefined &&\r\n listaAutorizacaoFornecimentoSubitemCusto.filter(x => x.idSubitemCusto == subitem.id && x.inseridoAposSolicitacao == true).length == 0)) {\r\n dataCompleta.push({\r\n id: subitem.id,\r\n descricao: subitem.descricaoCodigoInterno + \" - \" + subitem.descricao,\r\n quantidade: 0,\r\n valorUnitario: subitem.valorUnitario,\r\n valorTotal: 0,\r\n saldoContratoExcedente: subitem.saldoExcedente,\r\n saldoContrato: subitem.saldo,\r\n observacao: subitem.observacao,\r\n unidadeMedida: listaUnidadeMedida != undefined ? listaUnidadeMedida.filter(y => y.id == subitem.idUnidadeMedida)[0].descricao : ''\r\n });\r\n }\r\n })\r\n\r\n } else if (idSolicitacaoFornecimento != undefined) {\r\n\r\n contratoVersao.subitemCusto.map((subitem) => {\r\n\r\n if (listaSolicitacaoFornecimentoVersaoSubitemCusto != undefined) {\r\n dataCompleta.push({\r\n id: subitem.id,\r\n descricao: subitem.descricaoCodigoInterno + \" - \" + subitem.descricao,\r\n quantidade: 0,\r\n valorUnitario: subitem.valorUnitario,\r\n valorTotal: 0,\r\n saldoContratoExcedente: subitem.saldoExcedente,\r\n saldoContrato: subitem.saldo,\r\n unidadeMedida: listaUnidadeMedida != undefined ? listaUnidadeMedida.filter(y => y.id == subitem.idUnidadeMedida)[0].descricao : ''\r\n });\r\n }\r\n })\r\n } else {\r\n\r\n contratoVersao.subitemCusto.map((subitem) => {\r\n\r\n if (listaAutorizacaoFornecimentoSubitemCustoMedicao != undefined && listaAutorizacaoFornecimentoSubitemCusto &&\r\n listaAutorizacaoFornecimentoSubitemCustoMedicao.find(x => x.autorizacaoFornecimentoSubitemCusto.idSubitemCusto == subitem.id) == undefined &&\r\n listaAutorizacaoFornecimentoSubitemCusto.find(x => x.idSubitemCusto == subitem.id) == undefined) {\r\n dataCompleta.push({\r\n id: subitem.id,\r\n descricao: subitem.descricaoCodigoInterno + \" - \" + subitem.descricao,\r\n quantidade: 0,\r\n valorUnitario: subitem.valorUnitario,\r\n valorTotal: 0,\r\n saldoContratoExcedente: subitem.saldoExcedente,\r\n saldoContrato: subitem.saldo,\r\n unidadeMedida: listaUnidadeMedida != undefined ? listaUnidadeMedida.filter(y => y.id == subitem.idUnidadeMedida)[0].descricao : ''\r\n });\r\n }\r\n })\r\n\r\n }\r\n\r\n if (numeroOrcamentoSolicitacao !== null && numeroOrcamentoSolicitacao !== undefined && numeroOrcamentoSolicitacao !== '') {\r\n setNumeroOrcamento(numeroOrcamentoSolicitacao)\r\n }\r\n }\r\n\r\n setListaDataCompleta(dataCompleta);\r\n }\r\n\r\n function Selecionar(data) {\r\n setListaSubitem(data);\r\n }\r\n\r\n function InserirSubitemAutorizacao() {\r\n\r\n var verificacao = true;\r\n var valor = totalOrcamento.split('$', totalOrcamento.length);\r\n let valorOrcamento = parseFloat(valor[1]);\r\n var valorAdicionados = totalOrcamentoAdicionados.split('$', totalOrcamentoAdicionados.length)\r\n let valorTotalAdicionados = parseFloat(valorAdicionados[1]);\r\n\r\n listaSubitem.forEach(subitem => {\r\n valorTotalAdicionados += subitem.quantidade * subitem.valorUnitario;\r\n });\r\n\r\n listaSubitem.forEach(subitem => {\r\n\r\n if(subitem.quantidade > subitem.saldoContratoExcedente && contratoVersao && contratoVersao.liberaExcedenteAutorizacao) {\r\n if(contratoVersao && valorOrcamento && valorTotalAdicionados){\r\n let valorTotalExcedente = valorOrcamento + valorOrcamento * contratoVersao.valorIndiceQuantidadeItemExcedente;\r\n if(valorTotalAdicionados > valorTotalExcedente){\r\n verificacao = false;\r\n return;\r\n }\r\n }\r\n }\r\n\r\n if (subitem.quantidade == 0) {\r\n toast.error('Item: ' + subitem.descricao + ' não pode ter quantidade zero');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (subitem.observacao == undefined || subitem.observacao == null || subitem.observacao == '') {\r\n toast.error('Observação é obrigatório');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (subitem.observacao != undefined && subitem.observacao != null && subitem.observacao.length > 500) {\r\n toast.error('Observação não pode conter mais que 500 caracteres');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n });\r\n\r\n if (verificacao && listaSubitem.length > 0) {\r\n\r\n var listaSubitemInsercao = listaSubitem.map((subitem) => {\r\n return {\r\n 'Id': 0,\r\n 'IdAutorizacaoFornecimento': parseInt(idAutorizacaoFornecimento),\r\n 'IdSubitemCusto': subitem.id,\r\n 'Quantidade': parseFloat(subitem.quantidade),\r\n 'Cancelado': false,\r\n 'Finalizado': false,\r\n 'InseridoAposSolicitacao': true,\r\n 'InseridoAposSolicitacaoAprovado': false,\r\n 'Observacao': listaSubitem.filter(x => x.id == subitem.id)[0].observacao,\r\n 'IdUsuario': parseInt(usuario.id)\r\n }\r\n })\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'IdAutorizacaoFornecimento': listaSubitemInsercao[0].IdAutorizacaoFornecimento,\r\n 'IdSubitemCusto': listaSubitemInsercao[0].IdSubitemCusto,\r\n 'Quantidade': listaSubitemInsercao[0].Quantidade,\r\n 'Cancelado': false,\r\n 'Finalizado': false,\r\n 'InseridoAposSolicitacao': true,\r\n 'InseridoAposSolicitacaoAprovado': false,\r\n ListaAutorizacaoFornecimentoSubitemCustoApiModel: listaSubitemInsercao,\r\n 'Observacao': listaSubitem.filter(x => x.id == listaSubitemInsercao[0].IdSubitemCusto)[0].observacao,\r\n 'IdUsuario': parseInt(usuario.id)\r\n }\r\n\r\n dispatch(InserirAutorizacaoFornecimentoSubitemCustoRequest(data, idAutorizacaoFornecimento, contratoVersao.id));\r\n setListaSubitem([]);\r\n onHide(true);\r\n }\r\n }\r\n\r\n function InserirSubitemAutorizacaoComFoto() {\r\n\r\n var verificacao = true;\r\n\r\n listaSubitem.forEach(subitem => {\r\n\r\n if (subitem.quantidade == 0) {\r\n toast.error('Item: ' + subitem.descricao + ' não pode ter quantidade zero');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (subitem.observacao == undefined || subitem.observacao == null || subitem.observacao == '') {\r\n toast.error('Observação é obrigatório');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (subitem.observacao != undefined && subitem.observacao != null && subitem.observacao.length > 500) {\r\n toast.error('Observação não pode conter mais que 500 caracteres');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n });\r\n\r\n let formData = new FormData();\r\n\r\n if (listaFile.length > 0) {\r\n for (var x = 0; x < listaFile.length; x++) {\r\n formData.append('File', listaFile[x]);\r\n formData.append('IdAutorizacaoFornecimentoSubitemCusto', null);\r\n formData.append('IdAutorizacaoFornecimentoSubitemCustoMedicao', null);\r\n formData.append('IdUsuario', usuario.id);\r\n if (observacao != '')\r\n formData.append('Observacao', observacao);\r\n }\r\n setListaFile([]);\r\n handleCloseFoto();\r\n } else {\r\n toast.error('Para continuar insira um documento');\r\n }\r\n\r\n if (verificacao && listaSubitem.length > 0) {\r\n\r\n var listaSubitemInsercao = listaSubitem.map((subitem) => {\r\n return {\r\n 'Id': 0,\r\n 'IdAutorizacaoFornecimento': parseInt(idAutorizacaoFornecimento),\r\n 'IdSubitemCusto': subitem.id,\r\n 'Quantidade': parseFloat(subitem.quantidade),\r\n 'Cancelado': false,\r\n 'Finalizado': false,\r\n 'InseridoAposSolicitacao': true,\r\n 'InseridoAposSolicitacaoAprovado': false,\r\n 'Observacao': listaSubitem.filter(x => x.id == subitem.id)[0].observacao,\r\n 'IdUsuario': parseInt(usuario.id)\r\n }\r\n })\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'IdAutorizacaoFornecimento': listaSubitemInsercao[0].IdAutorizacaoFornecimento,\r\n 'IdSubitemCusto': listaSubitemInsercao[0].IdSubitemCusto,\r\n 'Quantidade': listaSubitemInsercao[0].Quantidade,\r\n 'Cancelado': false,\r\n 'Finalizado': false,\r\n 'InseridoAposSolicitacao': true,\r\n 'InseridoAposSolicitacaoAprovado': false,\r\n ListaAutorizacaoFornecimentoSubitemCustoApiModel: listaSubitemInsercao,\r\n 'Observacao': listaSubitem.filter(x => x.id == listaSubitemInsercao[0].IdSubitemCusto)[0].observacao,\r\n 'IdUsuario': parseInt(usuario.id)\r\n }\r\n\r\n dispatch(InserirAutorizacaoFornecimentoSubitemCustoComFotoRequest(data, idAutorizacaoFornecimento, contratoVersao.id,\r\n formData));\r\n setListaSubitem([]);\r\n onHide(true);\r\n }\r\n }\r\n\r\n function InserirSubitemSolicitacao() {\r\n\r\n var verificacao = true;\r\n\r\n listaSubitem.forEach(subitem => {\r\n\r\n if (subitem.quantidade > subitem.saldoContratoExcedente && contratoVersao != null && contratoVersao.liberaExcedenteGlobal == false &&\r\n contratoVersao.liberaExcedenteSubitem == false) {\r\n toast.error('Item: ' + subitem.descricao + ' esta ultrapassando o saldo do contrato');\r\n verificacao = false;\r\n return;\r\n }\r\n if (subitem.quantidade == 0) {\r\n toast.error('Item: ' + subitem.descricao + ' não pode ter quantidade zero');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n });\r\n\r\n if (numeroOrcamento.trim() == '' && solicitacaoFornecimento !== undefined) {\r\n if (solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento !== '') {\r\n setNumeroOrcamento(solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento)\r\n }\r\n else {\r\n toast.error('Número Orçamento é obrigatório');\r\n verificacao = false;\r\n return;\r\n }\r\n }\r\n\r\n\r\n if (verificacao && listaSubitem.length > 0) {\r\n\r\n var listaSubitemInsercao = listaSubitem.map((subitem) => {\r\n return {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimentoVersao': solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id,\r\n 'IdSubItemCusto': parseInt(subitem.id),\r\n 'Ativo': true,\r\n 'Quantidade': parseInt(subitem.quantidade),\r\n }\r\n })\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimentoVersao': listaSubitemInsercao[0].IdSolicitacaoFornecimentoVersao,\r\n 'IdSubItemCusto': listaSubitemInsercao[0].IdSubItemCusto,\r\n 'Ativo': listaSubitemInsercao[0].Ativo,\r\n 'Quantidade': listaSubitemInsercao[0].Quantidade,\r\n ListaSolicitacaoFornecimentoVersaoSubitemCustoApiModel: listaSubitemInsercao,\r\n ListaSolicitacaoFornecimentoVersaoApiModel: {\r\n 'Id': solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id,\r\n 'IdSolicitacaoFornecimento': solicitacaoFornecimento.id,\r\n 'Observacao': solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.observacao,\r\n 'NumeroOrcamento': numeroOrcamento !== '' ? numeroOrcamento : solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento,\r\n 'DataVersao': novaSolicitacao ? moment((new Date())).add('hours', 2) : solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.dataVersao,\r\n 'IdUsuario': usuario.id\r\n }\r\n }\r\n setDataSolicitacao(data);\r\n\r\n if (idSolicitacaoFornecimento !== undefined && idSolicitacaoFornecimento !== null && numeroOrcamento.trim() !== '' && numeroOrcamento !== solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento\r\n && solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento.trim() !== \"\") {\r\n setNovaSolictacao(true);\r\n }\r\n\r\n if (solicitacaoFornecimento !== null && solicitacaoFornecimento !== undefined &&\r\n numeroOrcamento.trim() !== '') {\r\n let solicitacaoCompleta = {\r\n 'Id': solicitacaoFornecimento.id,\r\n 'IdContratoVersao': solicitacaoFornecimento.idContratoVersao,\r\n 'IdTipoSolicitacao': solicitacaoFornecimento.idTipoSolicitacao,\r\n 'NumeroProcesso': solicitacaoFornecimento.numeroProcesso,\r\n 'NumeroOficio': solicitacaoFornecimento.numeroOficio,\r\n 'DescricaoSolicitacao': solicitacaoFornecimento.descricaoSolicitacao,\r\n 'Observacao': solicitacaoFornecimento.observacao,\r\n 'DataSolicitacao': solicitacaoFornecimento.dataSolicitacao,\r\n 'Endereco': solicitacaoFornecimento.endereco,\r\n 'Latitude': solicitacaoFornecimento.latitude,\r\n 'Longitude': solicitacaoFornecimento.longitude,\r\n 'IdRegiao': parseInt(solicitacaoFornecimento.idRegiao),\r\n 'IdUsuario': usuario.id,\r\n 'IdContrato': parseInt(solicitacaoFornecimento.idContrato),\r\n 'IdFornecedor': parseInt(solicitacaoFornecimento.idFornecedor),\r\n 'IdPrioridade': parseInt(solicitacaoFornecimento.idPrioridade),\r\n 'PrazoDias': parseInt(solicitacaoFornecimento.prazoDias),\r\n 'IdBairro': parseInt(solicitacaoFornecimento.idBairro),\r\n 'IdAutorizador': parseInt(solicitacaoFornecimento.idAutorizador),\r\n 'IdInteressado': parseInt(solicitacaoFornecimento.idInteressado),\r\n 'IdDestinatario': parseInt(solicitacaoFornecimento.idDestinatario),\r\n 'DDD': parseInt(solicitacaoFornecimento.ddd),\r\n 'Telefone': solicitacaoFornecimento.telefone,\r\n 'TipoSolicitacaoServico': tipoSolicitacaoCompleto != null ? tipoSolicitacaoCompleto.servico : false,\r\n 'DescricaoLocal': solicitacaoFornecimento.descricaoLocal,\r\n 'Assunto': solicitacaoFornecimento.assunto,\r\n 'SolicitacaoFornecimentoVersaoApiModel': {\r\n 'Id': solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id,\r\n 'IdSolicitacaoFornecimento': solicitacaoFornecimento.id,\r\n 'Observacao': solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.observacao,\r\n 'NumeroOrcamento': numeroOrcamento !== '' ? numeroOrcamento : solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento,\r\n 'DataVersao': novaSolicitacao ? moment((new Date())).add('hours', 2) : solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.dataVersao,\r\n 'IdUsuario': usuario.id,\r\n },\r\n 'SolicitacaoFornecimentoVersaoStatusApiModel': {\r\n 'Id': solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel.id,\r\n 'IdSolicitacaoFornecimentoVersao': solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel.idSolicitacaoFornecimentoVersao,\r\n 'IdStatusSolicitacaoFornecimento': solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel.idStatusSolicitacaoFornecimento,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': novaSolicitacao ? moment((new Date())).add('hours', 2) : solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel.dataStatus,\r\n 'ObservacaoReprovado': solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel.observacaoReprovado,\r\n 'ObservacaoCancelado': '',\r\n 'StatusReprovado': false,\r\n 'StatusAprovado': false,\r\n 'AnaliseConcluida': false\r\n }\r\n }\r\n\r\n setDados(solicitacaoCompleta);\r\n\r\n if (idSolicitacaoFornecimento !== undefined && idSolicitacaoFornecimento !== null && numeroOrcamento.trim() !== '' && numeroOrcamento !== solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento\r\n && solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento.trim() !== \"\") {\r\n handleShow();\r\n } else if (idSolicitacaoFornecimento !== undefined && numeroOrcamento == solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento) {\r\n dispatch(InserirSolicitacaoFornecimentoVersaoSubitemCustoRequest(data, idSolicitacaoFornecimento, contratoVersao.id));\r\n setListaSubitem([]);\r\n onHide(true);\r\n setNumeroOrcamento('');\r\n }\r\n else {\r\n //dispatch(AlterarSolicitacaoFornecimentoRequest(solicitacaoCompleta));\r\n dispatch(InserirSolicitacaoFornecimentoVersaoSubitemCustoRequest(data, idSolicitacaoFornecimento, contratoVersao.id));\r\n setListaSubitem([]);\r\n onHide(true);\r\n setNumeroOrcamento('');\r\n }\r\n }\r\n }\r\n }\r\n\r\n function InserirSubitemMedicao(event) {\r\n\r\n //event.preventDefault();\r\n var verificacao = true;\r\n\r\n listaSubitem.forEach(subitem => {\r\n\r\n if (subitem.quantidade > subitem.saldoContratoExcedente && contratoVersao != null && contratoVersao.liberaExcedenteGlobal == false &&\r\n contratoVersao.liberaExcedenteSubitem == false && listaContratoUsuario && listaContratoUsuario.filter(a => a.id == contratoVersao.idContrato && a.idUsuario == usuario.id)[0] &&\r\n listaContratoUsuario.filter(a => a.idContrato == contratoVersao.idContrato && a.idUsuario == usuario.id)[0].editaExcedenteSubitemAutorizacao === false) {\r\n toast.error('Item: ' + subitem.descricao + ' esta ultrapassando o saldo do contrato');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (subitem.quantidade == 0) {\r\n toast.error('Item: ' + subitem.descricao + ' não pode ter quantidade zero');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n });\r\n\r\n if (verificacao && listaSubitem.length > 0) {\r\n\r\n var listaSubitemInsercao = listaSubitem.map((subitem) => {\r\n return {\r\n IdMedicaoAutorizacaoFornecimento: parseInt(idMedicao),\r\n DataUltimaAlteracao: moment((new Date())).add('hours', 2),\r\n Quantidade: parseFloat(subitem.quantidade),\r\n IdSubItemCusto: parseInt(subitem.id),\r\n Observacao: observacaoSubitem\r\n }\r\n })\r\n\r\n dispatch(InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoRequest(listaSubitemInsercao, idAuto, idContratoVersao));\r\n setListaSubitem([]);\r\n handleCloseConfirmacao();\r\n onHide(true);\r\n }\r\n }\r\n\r\n function InserirSubitemMedicaoComFoto(event) {\r\n\r\n event.preventDefault();\r\n var verificacao = true;\r\n var dados = null;\r\n\r\n let formData = new FormData();\r\n\r\n if (listaFile.length > 0) {\r\n for (var x = 0; x < listaFile.length; x++) {\r\n formData.append('File', listaFile[x]);\r\n formData.append('IdAutorizacaoFornecimentoSubitemCustoMedicao', null);\r\n formData.append('IdUsuario', usuario.id);\r\n if (observacao != '')\r\n formData.append('Observacao', observacao);\r\n }\r\n setListaFile([]);\r\n handleCloseFotoMedicao();\r\n } else {\r\n toast.error('Para continuar insira um documento');\r\n }\r\n\r\n listaSubitem.forEach(subitem => {\r\n\r\n if (subitem.quantidade == 0) {\r\n toast.error('Item: ' + subitem.descricao + ' não pode ter quantidade zero');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n });\r\n\r\n if (verificacao && listaSubitem.length > 0) {\r\n\r\n var listaSubitemInsercao = listaSubitem.map((subitem) => {\r\n return {\r\n IdMedicaoAutorizacaoFornecimento: parseInt(idMedicao),\r\n DataUltimaAlteracao: moment((new Date())).add('hours', 2),\r\n Quantidade: parseFloat(subitem.quantidade),\r\n IdSubItemCusto: parseInt(subitem.id),\r\n Observacao: observacaoSubitem\r\n }\r\n })\r\n\r\n dispatch(InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoComFotoRequest(listaSubitemInsercao, idAuto, idContratoVersao, formData, dados));\r\n setListaSubitem([]);\r\n handleCloseConfirmacao();\r\n onHide(true);\r\n }\r\n }\r\n\r\n function LimparSubitens() {\r\n\r\n dispatch(InserirSolicitacaoFornecimentoVersaoSubitemCustoRequest(dataSolicitacao, idSolicitacaoFornecimento, contratoVersao.id));\r\n //dispatch(AlterarSolicitacaoFornecimentoRequest(dados));\r\n\r\n if (solicitacaoFornecimento !== undefined) {\r\n dispatch(ExcluirSolicitacaoFornecimentoVersaoSubitemCustoPorIdSolicitacaoRequest(solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id, idSolicitacaoFornecimento))\r\n }\r\n\r\n /*if (idSolicitacaoFornecimento != undefined)\r\n dispatch(BuscarSolicitacaoFornecimentoPorIdRequest(idSolicitacaoFornecimento));*/\r\n\r\n\r\n setNumeroOrcamento('');\r\n setListaSubitem([]);\r\n handleClose();\r\n onHide(true);\r\n\r\n /*} else {\r\n toast.error('Para a nova versão o número de orçamento não pode ser vazio!');\r\n }*/\r\n }\r\n\r\n function ValidacaoInserirSubitemAutorizacao(){\r\n\r\n var valor = totalOrcamento.split('$', totalOrcamento.length);\r\n let valorOrcamento = parseFloat(valor[1]);\r\n var valorAdicionados = totalOrcamentoAdicionados.split('$', totalOrcamentoAdicionados.length)\r\n let valorTotalAdicionados = parseFloat(valorAdicionados[1]);\r\n var validacao = 0;\r\n \r\n listaSubitem.forEach(subitem => {\r\n valorTotalAdicionados += subitem.quantidade * subitem.valorUnitario;\r\n });\r\n\r\n listaSubitem.forEach(subitem => {\r\n\r\n if(subitem.quantidade > subitem.saldoContratoExcedente && contratoVersao && contratoVersao.liberaExcedenteAutorizacao) {\r\n if(contratoVersao && valorOrcamento && valorTotalAdicionados){\r\n let valorTotalExcedente = valorOrcamento + valorOrcamento * contratoVersao.valorIndiceQuantidadeItemExcedente;\r\n if(valorTotalAdicionados > valorTotalExcedente){\r\n toast.error('Item: ' + subitem.descricao + ' esta ultrapassando o saldo do contrato');\r\n return;\r\n }\r\n else{\r\n validacao = validacao + 1;\r\n handleShowFoto();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n });\r\n\r\n if(validacao === 0){\r\n InserirSubitemAutorizacao();\r\n }\r\n }\r\n\r\n function ValidacaoInserirSubitemMedicao(){\r\n\r\n var valor = totalOrcamento.split('$', totalOrcamento.length);\r\n let valorComItensAdicionados = parseFloat(valor[1]);\r\n var valorOrcamento = 0.0;\r\n var validacao = 0;\r\n var totalItensSelecionados = 0.0;\r\n let valorTotalExcedente = 0.0;\r\n var validacaoExcedendoValor = 0;\r\n\r\n if(listaAutorizacaoFornecimentoSubitemCusto){\r\n listaAutorizacaoFornecimentoSubitemCusto.forEach(subitem => {\r\n if(subitem.inseridoAposSolicitacao == false){\r\n valorOrcamento += subitem.quantidade * subitem.subitemCusto.valorUnitario;\r\n }\r\n })\r\n }\r\n\r\n if(contratoVersao){\r\n valorTotalExcedente = valorOrcamento + valorOrcamento * contratoVersao.valorIndiceQuantidadeItemExcedente;\r\n }\r\n\r\n listaSubitem.forEach(subitem => {\r\n totalItensSelecionados += subitem.valorTotal\r\n })\r\n\r\n var valorTodasMedicoes = 0.0;\r\n if(listaMedicaoAutorizacaoFornecimento){\r\n listaMedicaoAutorizacaoFornecimento.forEach(medicao => {\r\n valorTodasMedicoes += medicao.valorTotalMedicao;\r\n });\r\n }\r\n\r\n var teste = totalItensSelecionados + valorTodasMedicoes;\r\n if(teste > valorTotalExcedente && contratoVersao && contratoVersao.liberaExcedenteAutorizacao){\r\n validacaoExcedendoValor = validacaoExcedendoValor + 1;\r\n /*toast.error('O valor total dos itens selecionados esta ultrapassando o saldo do contrato');\r\n return;*/\r\n }\r\n\r\n /*\r\n listaSubitem.forEach(subitem => {\r\n\r\n if(subitem.quantidade > subitem.saldoContratoExcedente && contratoVersao && contratoVersao.liberaExcedenteAutorizacao && medicaoAutorizacaoFornecimentoCompleto) {\r\n validacao = validacao + 1;\r\n if(contratoVersao && valorOrcamento){\r\n valorTotalExcedente = valorOrcamento + valorOrcamento * contratoVersao.valorIndiceQuantidadeItemExcedente;\r\n let valorTotalMed = (subitem.quantidade * subitem.valorUnitario) + valorComItensAdicionados;\r\n if(valorTotalMed > valorTotalExcedente){\r\n toast.error('Item: ' + subitem.descricao + ' esta ultrapassando o saldo do contrato');\r\n return;\r\n }\r\n else{\r\n setObservacao(observacaoSubitem);\r\n handleShowFotoMedicao();\r\n return;\r\n }\r\n }\r\n }\r\n\r\n });*/\r\n\r\n if(/*validacao === 0*/ validacaoExcedendoValor === 1){\r\n setObservacao(observacaoSubitem);\r\n handleShowFotoMedicao();\r\n }\r\n else\r\n {\r\n InserirSubitemMedicao(dataMedicao);\r\n }\r\n\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Novo Item\r\n \r\n \r\n {\r\n contratoVersao != null && contratoVersao.subitemCusto != null & contratoVersao.subitemCusto != undefined ?\r\n {\r\n if (rowData.quantidade === undefined || rowData.quantidade === \"\" || isNaN(rowData.quantidade)) {\r\n return \"Campo Obrigatório\"\r\n } else if (rowData.quantidadeMedicao.toString().length > 10) {\r\n return \"A quantidade não pode conter mais que 10 dígitos\"\r\n } else if (rowData.quantidadeMedicao > rowData.saldoAutorizacao) {\r\n return \"Quantidade ultrapassou o saldo da autorização\"\r\n }\r\n return true\r\n },\r\n },\r\n {\r\n title: 'Saldo Contrato (Excedente)', field: 'saldoContrato', cellStyle: {\r\n width: '10%'\r\n },\r\n editable: 'never',\r\n render: rowData => rowData.saldoContrato + ' (' + rowData.saldoContratoExcedente + ')'\r\n },\r\n {\r\n title: 'Unidade de Medida',\r\n field: 'unidadeMedida',\r\n cellStyle: {\r\n width: '10%'\r\n },\r\n editable: 'never'\r\n },\r\n {\r\n title: \"Valor Unitário\", field: 'valorUnitario', cellStyle: {\r\n width: '10%'\r\n }, editable: 'never',\r\n render: rowData =>\r\n rowData.valorUnitario === null ?\r\n null\r\n :\r\n rowData.valorUnitario.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n })\r\n },\r\n {\r\n title: \"Valor Total\", field: 'valorTotal', cellStyle: {\r\n width: '10%'\r\n }, editable: 'never',\r\n render: rowData =>\r\n rowData.valorTotal === null ?\r\n null\r\n :\r\n rowData.valorTotal.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n })\r\n },\r\n {\r\n title: 'Observação', field: 'observacao', cellStyle: {\r\n width: '15%'\r\n },\r\n hidden: idAutorizacaoFornecimento != undefined ? false : true,\r\n validate: rowData => {\r\n if (rowData.observacao != null && rowData.observacao != undefined && rowData.observacao.length > 500) {\r\n return \"A observacao não pode conter mais que 500 dígitos\"\r\n }\r\n return true\r\n },\r\n render: rowData => rowData.observacao == '' || rowData.observacao == undefined ?\r\n
\r\n : rowData.observacao\r\n }\r\n ]}\r\n data={listaDataCompleta}\r\n options={{\r\n minBodyHeight: 500,\r\n showTextRowsSelected: false,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n selection: true,\r\n selectionProps: rowData => ({\r\n color: 'primary'\r\n }),\r\n showSelectAllCheckbox: true\r\n }}\r\n cellEditable={{\r\n onCellEditApproved: (newValue, oldValue, rowData, columnDef) => {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n if (columnDef.field == 'quantidade') {\r\n rowData.quantidade = newValue\r\n rowData.valorTotal = newValue * rowData.valorUnitario\r\n }\r\n else {\r\n rowData.observacao = newValue\r\n }\r\n rowData.tableData.checked = true;\r\n var novaLista = listaSubitem;\r\n var tem = novaLista.filter(a => a == rowData);\r\n if (tem.length == 0) {\r\n novaLista.push(rowData)\r\n }\r\n Selecionar(novaLista);\r\n resolve()\r\n }, 1000)\r\n });\r\n }\r\n }}\r\n onSelectionChange={\r\n (rowData) =>\r\n Selecionar(rowData)\r\n }\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n nRowsSelected: '{0} linha(s) selecionada'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n\r\n :\r\n
\r\n No momento não possui Itens para serem inseridos.\r\n
\r\n }\r\n {\r\n solicitacaoFornecimento !== null && idSolicitacaoFornecimento ?\r\n
\r\n
\r\n \r\n \r\n Número Orçamento\r\n setNumeroOrcamento(e.target.value)}\r\n maxLength=\"50\"\r\n />\r\n \r\n \r\n
\r\n :\r\n null\r\n }\r\n
\r\n \r\n \r\n idAutorizacaoFornecimento ? ValidacaoInserirSubitemAutorizacao() :\r\n idSolicitacaoFornecimento ?\r\n InserirSubitemSolicitacao() : handleShowConfirmacao()}>\r\n Adicionar Itens\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n \r\n \r\n \r\n Foi alterado o número de orçamento. Ao ser alterado, todos os itens do orçamento anterior serão excluídos. Deseja continuar?\r\n \r\n \r\n \r\n \r\n \r\n {\r\n inserir == true ?\r\n \r\n :\r\n ''\r\n\r\n }\r\n {\r\n alterar == true ?\r\n \r\n :\r\n ''\r\n }\r\n\r\n \r\n \r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n \r\n \r\n \r\n Também será criado um item na autorização, deseja continuar?\r\n \r\n \r\n \r\n Observação: \r\n setObservacaoSubitem(e.target.value)}\r\n required\r\n maxLength=\"500\"\r\n isInvalid={validated && observacaoSubitem.trim() === \"\" ? true : false}\r\n isValid={validated && observacaoSubitem.trim() !== \"\" ? true : false}\r\n />\r\n O campo observação é 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 Registro Fotográfico\r\n \r\n \r\n \r\n \r\n O valor da obra foi excedido. Inclua uma foto e uma justificativa para esta ação
\r\n \r\n

\r\n setListaFile(files)}\r\n filesLimit={10}\r\n acceptedFiles={['image/png, image/jpeg, image/jpg']}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 10 arquivos`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={30000000}\r\n />\r\n
\r\n
\r\n \r\n Observacao\r\n setObservacao(e.target.value)} />\r\n O campo Descrição Objeto é 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 Registro Fotográfico\r\n \r\n \r\n \r\n \r\n O valor da obra foi excedido. Inclua uma foto e uma justificativa para esta ação
\r\n \r\n

\r\n setListaFile(files)}\r\n filesLimit={10}\r\n acceptedFiles={['image/png, image/jpeg, image/jpg']}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 10 arquivos`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={30000000}\r\n />\r\n
\r\n
\r\n \r\n Observacao\r\n setObservacao(e.target.value)} />\r\n O campo Descrição Objeto é 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 { useEffect, useState } from \"react\";\r\nimport { Button, Alert, Row, Col, Modal, Form, Container } from \"react-bootstrap\";\r\nimport {\r\n ListarSolicitacaoFornecimentoVersaoSubitemCustoRequest, InserirSolicitacaoFornecimentoVersaoSubitemCustoRequest,\r\n ImportarSolicitacaoFornecimentoVersaoSubitemCustoExcelRequest, AlterarSolicitacaoFornecimentoVersaoSubitemCustoRequest\r\n} from '../../../store/modules/solicitacaoFornecimentoVersaoSubitemCusto/actions';\r\nimport { BuscarContratoVersaoPorIdRequest } from '../../../store/modules/contratoVersao/actions';\r\nimport { BuscarSolicitacaoFornecimentoPorIdRequest } from '../../../store/modules/solicitacaoFornecimento/actions';\r\nimport { ListarContratoUsuarioRequest } from '../../../store/modules/contratoUsuario/actions';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport { BuscarContratoPorIdRequest } from \"../../../store/modules/contrato/actions\";\r\nimport { ListarStatusSolicitacaoFornecimentoRequest } from '../../../store/modules/statusSolicitacaoFornecimento/actions';\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport { toast } from \"react-toastify\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { InserirSolicitacaoFornecimentoVersaoRequest } from \"../../../store/modules/solicitacaoFornecimentoVersao/actions\";\r\nimport ModalSubitemAutorizacao from \"../../../components/ModalSubitemAutorizacao/modalSubitemAutorizacao\";\r\nimport { BuscarUsuarioPorIdRequest } from \"../../../store/modules/usuario/actions\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport Select from 'react-select';\r\nimport MaterialTable from 'material-table';\r\nimport './subitem.css';\r\nimport * as XLSX from \"xlsx\";\r\nimport 'moment/locale/pt-br';\r\nimport moment from 'moment';\r\n\r\nexport default function Subitem() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const contratoVersao = useSelector(state => state.contratoVersao.contratoVersaoCompleto);\r\n const listaSolicitacaoFornecimentoVersaoSubitemCusto = useSelector(state => state.solicitacaoFornecimentoVersaoSubitemCusto.listaSolicitacaoFornecimentoVersaoSubitemCusto);\r\n const solicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.solicitacaoFornecimentoCompleto);\r\n const listaSolicitacaoFornecimentoVersaoStatus = useSelector(state =>\r\n state.solicitacaoFornecimentoVersaoStatus.listaSolicitacaoFornecimentoVersaoStatus);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const contratoCompleto = useSelector(state => state.contrato.contratoCompleto);\r\n const carregando = useSelector(state => state.solicitacaoFornecimentoVersaoSubitemCusto.carregando);\r\n const listaStatusSolicitacaoFornecimentoCompleto = useSelector(state => state.statusSolicitacaoFornecimento.listaStatusSolicitacaoFornecimentoCompleto);\r\n const usuarioCompleto = useSelector(state => state.usuario.usuario);\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [items, setItems] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const [showSubitem, setShowSubitem] = useState(false);\r\n const [messageError, setMessageError] = useState('');\r\n const [showError, setShowError] = useState(false);\r\n const [orcamento, setOrcamento] = useState('');\r\n const [showModal, setShowModal] = useState(false);\r\n const [observacaoVersao, setObservacaoVersao] = useState('');\r\n const [validatedObservacaoNovaVersao, setValidatedObservacaoNovaVersao] = useState(false);\r\n const [valorTotalSubItem, setValorTotalSubItem] = useState('');\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const handleCloseSubitem = () => setShowSubitem(false);\r\n const handleShowSubitem = () => setShowSubitem(true);\r\n const handleCloseError = () => setShowError(false);\r\n const handleShowError = () => setShowError(true);\r\n const handleCloseImport = () => setShowModal(false);\r\n const handleShowImport = () => setShowModal(true);\r\n\r\n const options = contratoVersao ?\r\n contratoVersao.subitemCusto.map(subitemUnidade => ({\r\n value: subitemUnidade.id, label: subitemUnidade.descricaoCodigoInterno + \" - \" + subitemUnidade.descricao\r\n }))\r\n :\r\n [];\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n\r\n }, [])\r\n\r\n const readExcel = (file) => {\r\n const promise = new Promise((resolve, reject) => {\r\n const fileReader = new FileReader();\r\n fileReader.readAsArrayBuffer(file);\r\n\r\n fileReader.onload = (e) => {\r\n const bufferArray = e.target.result;\r\n\r\n const wb = XLSX.read(bufferArray, { type: \"buffer\" });\r\n\r\n const wsname = wb.SheetNames[0];\r\n\r\n const ws = wb.Sheets[wsname];\r\n\r\n const data = XLSX.utils.sheet_to_json(ws);\r\n\r\n resolve(data);\r\n };\r\n\r\n fileReader.onerror = (error) => {\r\n reject(error);\r\n };\r\n });\r\n\r\n promise.then((d) => {\r\n setItems(d);\r\n });\r\n\r\n };\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n //dispatch(ListarStatusSolicitacaoFornecimentoRequest());\r\n dispatch(ListarContratoUsuarioRequest());\r\n\r\n if (id != undefined)\r\n dispatch(ListarSolicitacaoFornecimentoVersaoSubitemCustoRequest(id));\r\n\r\n }, [id])\r\n\r\n useEffect(() => {\r\n\r\n if (solicitacaoFornecimento != null) {\r\n dispatch(BuscarContratoVersaoPorIdRequest(solicitacaoFornecimento.idContratoVersao));\r\n dispatch(BuscarContratoPorIdRequest(solicitacaoFornecimento.idContrato));\r\n }\r\n\r\n }, [solicitacaoFornecimento])\r\n\r\n useEffect(() => {\r\n\r\n if (listaSolicitacaoFornecimentoVersaoSubitemCusto != undefined) {\r\n\r\n var total = 0;\r\n listaSolicitacaoFornecimentoVersaoSubitemCusto.filter((solicitacao) => solicitacao.idSolicitacaoFornecimentoVersao === solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id)\r\n .map((subItemUnidade) => {\r\n\r\n total += (subItemUnidade.subitemCusto.valorUnitario * subItemUnidade.quantidade);\r\n })\r\n\r\n setValorTotalSubItem(\"R$\" + total.toFixed(2));\r\n }\r\n\r\n }, [listaSolicitacaoFornecimentoVersaoSubitemCusto])\r\n\r\n function ImportarArquivo(e) {\r\n\r\n e.preventDefault();\r\n\r\n var verificacao = true;\r\n\r\n // Verifica se possui número de orçamento\r\n /*if (solicitacaoFornecimento != null && solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento === '' && orcamento === '') {\r\n toast.error('Não é possível cadastrar subitens se a solicitação não possuir Número de Orçamento.');\r\n verificacao = false;\r\n return;\r\n }*/\r\n\r\n // Verifica se o usuário tem permissão pra importar subitens\r\n if (listaContratoUsuario != undefined && contratoCompleto != null && usuario != null\r\n && listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id && contratoUsu.criaItemSolicitacao === true).length === 0) {\r\n toast.error('Você não tem permissão para importar itens.');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (usuarioCompleto != null && !usuarioCompleto.usuarioFornecedor) {\r\n\r\n toast.error('Você precisar ser fornecedor para inserir itens.');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (verificacao === true) {\r\n try {\r\n\r\n if (items.length > 0 && solicitacaoFornecimento !== undefined) {\r\n\r\n let i = 0;\r\n let lista = [];\r\n let orcamentos = '';\r\n\r\n items.forEach(item => {\r\n\r\n if (i == 1) {\r\n if (item.__EMPTY_2 != undefined) {\r\n orcamentos = (item.__EMPTY_2)\r\n }\r\n }\r\n\r\n if (i > 9) {\r\n\r\n //EMPTY 8 = valor total / EMPTY 6 = quantidade / EMPTY 1 = item\r\n if (item.__EMPTY_6 != undefined && item.__EMPTY_6 != null && item.__EMPTY_6 != '' &&\r\n item.__EMPTY_1 != undefined && item.__EMPTY_1 != null && item.__EMPTY_1 != '') {\r\n\r\n var data = {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimento': id,\r\n 'IdSubItemCusto': 0,\r\n 'Ativo': true,\r\n 'Quantidade': parseFloat(item.__EMPTY_6),\r\n 'NumeroSubItem': item.__EMPTY_1,\r\n 'ValorSubItem': item.__EMPTY_7\r\n }\r\n\r\n var dadosSolicitacaoFornecimentoVersaoApiModel = {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimento': solicitacaoFornecimento.id,\r\n 'Observacao': observacaoVersao,\r\n 'NumeroOrcamento': orcamentos,\r\n 'DataVersao': moment((new Date())).add('hours', 2),\r\n 'IdUsuario': usuario.id,\r\n 'SolicitacaoFornecimentoVersaoStatusApiModel': {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimentoVersao': 0,\r\n 'IdStatusSolicitacaoFornecimento': 0,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoReprovacao': ''\r\n },\r\n 'pageImport': false\r\n }\r\n\r\n //lista.push(data);\r\n lista.push({ 'item': data, 'solicitacaoFornecimentoVersao': dadosSolicitacaoFornecimentoVersaoApiModel });\r\n }\r\n }\r\n\r\n i++;\r\n });\r\n\r\n if (lista.length > 0) {\r\n dispatch(ImportarSolicitacaoFornecimentoVersaoSubitemCustoExcelRequest(lista, id, contratoVersao != null ?\r\n contratoVersao.id : null));\r\n handleClose();\r\n handleCloseImport();\r\n }\r\n else {\r\n toast.error('Não é possível importar Sub Itens se a solicitação não possuir Número de Orçamento.');\r\n return;\r\n }\r\n\r\n } else {\r\n handleShowError();\r\n setMessageError(\"Selecione o Excel antes de Importar!\");\r\n }\r\n\r\n } catch (error) {\r\n handleShowError();\r\n setMessageError(\"CAMPOS IMPORTANTES ESTÃO FALTANDO NO EXCEL, VERIFIQUE NOVAMENTE ANTES DE IMPORTAR\");\r\n }\r\n }\r\n\r\n }\r\n\r\n function AdicionarSubitem(subitemSolicitacao) {\r\n\r\n var verificacao = true;\r\n\r\n let selectText = '';\r\n let selectSelecionado = [];\r\n\r\n // Pega o subitem selecionado na tabela\r\n if (document.getElementById('idSelectSubItem') != null && contratoVersao.subitemCusto != undefined) {\r\n selectText = document.getElementById('idSelectSubItem').innerText;\r\n selectSelecionado = contratoVersao.subitemCusto.filter(soli => soli.descricaoCodigoInterno + \" - \" + soli.descricao == selectText);\r\n }\r\n\r\n // Verifica se subitem foi selecionado\r\n if (selectSelecionado.length == 0) {\r\n toast.error(`Item não selecionado`);\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n // Verifica se subitem ja pertence a lista de subitem da solicitação\r\n var listaSubItensAtual = listaSolicitacaoFornecimentoVersaoSubitemCusto.filter((solicitacaoSub) =>\r\n (solicitacaoSub.idSolicitacaoFornecimentoVersao === solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id)\r\n &&\r\n (solicitacaoSub.idSubitemCusto === parseInt(selectSelecionado[0].id)));\r\n\r\n if (listaSubItensAtual.length > 0) {\r\n toast.error('Item ja está na lista');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n // Verifica se tem número de orçamento\r\n if (solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento === '') {\r\n toast.error('Não é possível cadastrar itens se a solicitação não possuir Número de Orçamento.');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n // Verifica se o usuário tem permissão de inserir subitem na solicitação\r\n if (listaContratoUsuario != undefined && listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id && contratoUsu.criaItemSolicitacao === true).length === 0) {\r\n\r\n toast.error('Você não tem permissão de cadastrar itens.');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (isNaN(subitemSolicitacao.quantidade) || subitemSolicitacao.quantidade == undefined\r\n || subitemSolicitacao.quantidade == null || subitemSolicitacao.quantidade == 0) {\r\n toast.error(`Quantidade informada inválida`);\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (verificacao === true && selectSelecionado.length > 0) {\r\n let data = {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimentoVersao': solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id,\r\n 'IdSubItemCusto': parseInt(selectSelecionado[0].id),\r\n 'Ativo': subitemSolicitacao.ativo == undefined ? true : subitemSolicitacao.ativo,\r\n 'Quantidade': parseFloat(subitemSolicitacao.quantidade)\r\n }\r\n\r\n dispatch(InserirSolicitacaoFornecimentoVersaoSubitemCustoRequest(data, id));\r\n }\r\n }\r\n\r\n function AlterarSubitem(subitemSolicitacao) {\r\n\r\n var verificacao = true;\r\n\r\n // Verifica se o usuário tem permissao de editar subitens\r\n if (listaContratoUsuario != undefined && contratoCompleto != null &&\r\n listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id && contratoUsu.criaItemSolicitacao === true).length === 0) {\r\n\r\n toast.error('Você não tem permissão para editar itens.');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (isNaN(subitemSolicitacao.quantidade) || subitemSolicitacao.quantidade == undefined\r\n || subitemSolicitacao.quantidade == null || subitemSolicitacao.quantidade == 0) {\r\n toast.error(`Quantidade informada inválida`);\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (verificacao === true) {\r\n let data = {\r\n 'Id': subitemSolicitacao.id,\r\n 'IdSolicitacaoFornecimentoVersao': solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id,\r\n 'IdSubItemCusto': parseInt(subitemSolicitacao.subitem),\r\n 'Ativo': subitemSolicitacao.ativo != undefined ? subitemSolicitacao.ativo : false,\r\n 'Quantidade': parseFloat(subitemSolicitacao.quantidade)\r\n }\r\n\r\n dispatch(AlterarSolicitacaoFornecimentoVersaoSubitemCustoRequest(data, id));\r\n }\r\n }\r\n\r\n function InserirSubitem() {\r\n // Verifica se o usuário tem permissão de inserir subitem na autorização\r\n if (contratoCompleto != null && listaContratoUsuario != undefined && listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id && contratoUsu.criaItemSolicitacao === true).length === 0) {\r\n\r\n toast.error('Você não tem permissão de cadastrar itens.');\r\n return;\r\n }\r\n\r\n if (usuarioCompleto != null && !usuarioCompleto.usuarioFornecedor) {\r\n\r\n toast.error('Você precisar ser fornecedor para inserir itens.');\r\n return;\r\n }\r\n\r\n handleShowSubitem();\r\n }\r\n\r\n function CriarNovaVersaoSolicitacao(e) {\r\n\r\n e.preventDefault();\r\n\r\n if (items.length > 0) {\r\n\r\n // Verifica se é a primeira versão da solicitacao, se não for, aparece o modal de nova versão para o usuário confimar\r\n if (listaSolicitacaoFornecimentoVersaoSubitemCusto.length > 0) {\r\n handleShowImport();\r\n } else {\r\n ImportarArquivo(e);\r\n }\r\n\r\n } else {\r\n handleShowError();\r\n handleCloseImport();\r\n setMessageError(\"Selecione o Excel antes de Importar!\");\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n carregando ?\r\n x.statusSolicitacaoFornecimento.solicitaOrcamentoSolicitacao == true).length > 0\r\n ?\r\n \r\n \r\n Novo 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 columns={[\r\n {\r\n title: 'Código/Descrição Item',\r\n field: 'subitem',\r\n cellStyle: {\r\n width: '23%'\r\n },\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value ? e.value.toString() : false)\r\n }}\r\n />\r\n )\r\n },\r\n editable: 'onAdd',\r\n lookup:\r\n contratoVersao ?\r\n contratoVersao.subitemCusto.map(subitemUnidade => {\r\n return {\r\n id: subitemUnidade.id, descricao: subitemUnidade.descricaoCodigoInterno + \" - \" + subitemUnidade.descricao\r\n }\r\n }).reduce(function (acc, cur, i) {\r\n acc[cur.id] = cur.descricao;\r\n return acc;\r\n }, {})\r\n :\r\n null,\r\n editComponent: (props) => (\r\n { }} />)\r\n }\r\n ]}\r\n data={\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel != null &&\r\n listaSolicitacaoFornecimentoVersaoSubitemCusto != undefined ?\r\n listaSolicitacaoFornecimentoVersaoSubitemCusto\r\n .filter((solicitacao) => solicitacao.idSolicitacaoFornecimentoVersao === solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id)\r\n .map((subItemUnidade) => {\r\n\r\n return {\r\n id: subItemUnidade.id,\r\n codigoInterno: subItemUnidade.subitemCusto.descricaoCodigoInterno,\r\n subitem: subItemUnidade.idSubitemCusto,\r\n quantidade: subItemUnidade.quantidade,\r\n unidadeMedida: subItemUnidade.subitemCusto.unidadeMedida.descricao,\r\n ativo: subItemUnidade.ativo,\r\n saldoContrato: subItemUnidade.saldo,\r\n saldoContratoExcedente: subItemUnidade.saldoContratoExcedente,\r\n valorUnitario: subItemUnidade.subitemCusto.valorUnitario,\r\n valorTotalSubitem: subItemUnidade.subitemCusto.valorUnitario * subItemUnidade.quantidade\r\n }\r\n })\r\n :\r\n []\r\n }\r\n editable={{\r\n /*onRowAdd:\r\n id != undefined && listaSolicitacaoFornecimentoVersaoStatus != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1] != null && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento.somenteLeitura == false &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento.subitemSomenteLeitura == false &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusReprovado == false\r\n ?\r\n newData =>\r\n new Promise((resolve, reject) => {\r\n inserir == true ?\r\n setTimeout(() => {\r\n AdicionarSubitem(newData);\r\n resolve();\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n : null,*/\r\n onRowUpdate:\r\n id != undefined && listaSolicitacaoFornecimentoVersaoStatus != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1] != null && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento.somenteLeitura == false &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento.subitemSomenteLeitura == false &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusReprovado == false && usuarioCompleto != null && usuarioCompleto.usuarioFornecedor &&\r\n listaSolicitacaoFornecimentoVersaoStatus[listaSolicitacaoFornecimentoVersaoStatus.length - 1].analiseConcluida == false\r\n ?\r\n (newData, oldData) =>\r\n new Promise((resolve, reject) => {\r\n alterar == true ?\r\n setTimeout(() => {\r\n AlterarSubitem(newData);\r\n resolve();\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n : null\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n actionsColumnIndex: -1,\r\n addRowPosition: \"first\",\r\n filtering: true,\r\n rowStyle:\r\n rowData => ({\r\n backgroundColor:\r\n rowData.quantidade > rowData.saldoContratoExcedente && listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true)[0].id).length == 0 && rowData.ativo ? '#F7D1D1' :\r\n (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: \r\n {'Esse item esta passando ' + (rowData.quantidade - rowData.saldoContratoExcedente) + ' unidades da quantidade excedente do contrato.'}\r\n ,\r\n hidden: rowData.quantidade - rowData.saldoContratoExcedente <= 0 || rowData.ativo == false || listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true)[0].id).length > 0 ? true : false\r\n })\r\n ]}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n }\r\n \r\n \r\n
\r\n \r\n Valor total do orçamento\r\n \r\n \r\n
\r\n\r\n {\r\n id != undefined &&\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Solicitação está Cancelada!\r\n \r\n \r\n :\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Solicitação está Finalizada!\r\n \r\n \r\n :\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1] != null && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento != null &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento.somenteLeitura == true ?\r\n \r\n \r\n Status atual desta solicitação só permite leitura!\r\n \r\n \r\n :\r\n\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1] != null && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento != null &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento.subitemSomenteLeitura == true &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusReprovado == false ?\r\n \r\n \r\n Solicitação está em análise!\r\n \r\n \r\n :\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1] != null && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento != null &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento.subitemSomenteLeitura == true &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusReprovado == true ?\r\n \r\n \r\n Solicitação foi reprovada!\r\n \r\n \r\n :\r\n ''\r\n }\r\n \r\n
\r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n
\r\n

{messageError}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Importar Itens\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n if (files.length > 0) {\r\n readExcel(files[0])\r\n } else {\r\n setItems([])\r\n }\r\n }}\r\n filesLimit={1}\r\n acceptedFiles={[\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"]}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 1 arquivo`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={30000000}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n inserir == 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 Atenção\r\n \r\n \r\n \r\n \r\n \r\n Ao importar novos itens com um novo número de orçamento, todos os itens antigos serão excluidos. Deseja continuar?\r\n \r\n {\r\n /*\r\n \r\n \r\n Observação\r\n setObservacaoVersao(e.target.value)}\r\n required\r\n as=\"textarea\"\r\n rows=\"5\"\r\n maxLength=\"150\"\r\n isInvalid={validatedObservacaoNovaVersao && observacaoVersao === \"\" ? true : false}\r\n isValid={validatedObservacaoNovaVersao && observacaoVersao !== \"\" ? true : false}\r\n />\r\n O campo observação é obrigatório.\r\n \r\n \r\n */\r\n }\r\n \r\n \r\n \r\n \r\n {\r\n inserir == true ?\r\n \r\n :\r\n ''\r\n\r\n }\r\n {\r\n alterar == true ?\r\n \r\n :\r\n ''\r\n }\r\n\r\n \r\n \r\n \r\n )\r\n}","export function ListarSolicitacaoFornecimentoDocumentoArquivoRequest(id) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ListarSolicitacaoFornecimentoDocumentoArquivoResponse(listaSolicitacaoFornecimentoDocumentoArquivo) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_RESPONSE',\r\n listaSolicitacaoFornecimentoDocumentoArquivo\r\n }\r\n}\r\n\r\nexport function InserirSolicitacaoFornecimentoDocumentoArquivoRequest(data, id) {\r\n return {\r\n type: 'INSERIR_SOLICITACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST',\r\n data,\r\n id\r\n }\r\n}\r\n\r\nexport function AlterarSolicitacaoFornecimentoDocumentoArquivoRequest(data, id) {\r\n return {\r\n type: 'ALTERAR_SOLICITACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST',\r\n data,\r\n id\r\n }\r\n}\r\n\r\nexport function ExcluirSolicitacaoFornecimentoDocumentoArquivoRequest(id, idSolicitacao) {\r\n return {\r\n type: 'EXCLUIR_SOLICITACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST',\r\n id,\r\n idSolicitacao\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { useEffect, useState } from \"react\";\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport { Button, Alert, Row, Col, Modal, Form } from \"react-bootstrap\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n InserirSolicitacaoFornecimentoDocumentoArquivoRequest, AlterarSolicitacaoFornecimentoDocumentoArquivoRequest,\r\n ExcluirSolicitacaoFornecimentoDocumentoArquivoRequest, ListarSolicitacaoFornecimentoDocumentoArquivoRequest\r\n} from \"../../../store/modules/solicitacaoFornecimentoDocumentoArquivo/actions\";\r\nimport { ListarTipoDocumentoArquivoRequest } from \"../../../store/modules/tipoDocumentoArquivo/actions\";\r\nimport { BaixarDocumentoRequest } from \"../../../store/modules/global/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { ListarStatusSolicitacaoFornecimentoRequest } from '../../../store/modules/statusSolicitacaoFornecimento/actions';\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport './documentoArquivo.css';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function DocumentoArquivo() {\r\n\r\n const { id } = useParams();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const listaSolicitacaoFornecimentoDocumentoArquivo = useSelector(state => state.solicitacaoFornecimentoDocumentoArquivo.listaSolicitacaoFornecimentoDocumentoArquivo);\r\n const listaTipoDocumentoArquivo = useSelector(state => state.tipoDocumentoArquivo.listaTipoDocumentoArquivo);\r\n const listaSolicitacaoFornecimentoVersaoStatus = useSelector(state =>\r\n state.solicitacaoFornecimentoVersaoStatus.listaSolicitacaoFornecimentoVersaoStatus);\r\n const listaStatusSolicitacaoFornecimentoCompleto = useSelector(state => state.statusSolicitacaoFornecimento.listaStatusSolicitacaoFornecimentoCompleto);\r\n const tipoSolicitacaoCompleto = useSelector(state => state.tipoSolicitacao.tipoSolicitacaoCompleto);\r\n\r\n const [listaFile, setListaFile] = useState([]);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [observacao, setObservacao] = useState('');\r\n const [tipoDocumentoArquivo, setTipoDocumentoArquivo] = useState();\r\n const [validated, setValidated] = useState(false);\r\n const [show, setShow] = useState(false);\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n setTipoDocumentoArquivo();\r\n setObservacao('');\r\n setValidated(false);\r\n }\r\n const handleShow = () => setShow(true);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n const [excluir, setExcluir] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoExcluir\").length == 1) {\r\n setExcluir(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [dispatch])\r\n\r\n useEffect(() => {\r\n //dispatch(ListarStatusSolicitacaoFornecimentoRequest());\r\n dispatch(ListarTipoDocumentoArquivoRequest());\r\n if (id != undefined) {\r\n dispatch(ListarSolicitacaoFornecimentoDocumentoArquivoRequest(id));\r\n }\r\n }, [id])\r\n\r\n const handleSubmit = (event) => {\r\n\r\n if (tipoDocumentoArquivo == undefined || tipoDocumentoArquivo == '') {\r\n event.preventDefault();\r\n setValidated(true);\r\n } else {\r\n InserirDocumentoArquivo(event);\r\n setValidated(false);\r\n }\r\n };\r\n\r\n function InserirDocumentoArquivo() {\r\n\r\n let formData = new FormData();\r\n\r\n if (listaFile.length > 0) {\r\n for (var x = 0; x < listaFile.length; x++) {\r\n formData.append('File', listaFile[x]);\r\n formData.append('IdSolicitacao', id);\r\n formData.append('IdUsuario', usuario.id);\r\n formData.append('IdTipoDocumentoArquivo', parseInt(tipoDocumentoArquivo));\r\n formData.append('StatusReprovado', false);\r\n if (observacao != '')\r\n formData.append('Observacao', observacao);\r\n }\r\n setListaFile([]);\r\n dispatch(InserirSolicitacaoFornecimentoDocumentoArquivoRequest(formData, id));\r\n handleClose();\r\n } else {\r\n toast.error('Para continuar insira um documento');\r\n }\r\n }\r\n\r\n function AlterarDocumentoArquivo(documentoArquivo, novoValorCampoEditado, colunaEditada) {\r\n\r\n // Valida alteração do campo nome arquivo\r\n if (colunaEditada.field == \"nomeArquivo\") {\r\n\r\n if (novoValorCampoEditado == null || novoValorCampoEditado == undefined\r\n || novoValorCampoEditado == ' ' || novoValorCampoEditado == '') {\r\n\r\n toast.error(`Nome do arquivo inválido`);\r\n return;\r\n }\r\n\r\n if (novoValorCampoEditado.length > 150) {\r\n toast.error(`O nome do arquivo não pode conter mais que 150 caracteres`);\r\n return;\r\n }\r\n }\r\n\r\n // Valida alteração do campo observação\r\n if (colunaEditada.field == \"observacao\") {\r\n if (novoValorCampoEditado.length > 500) {\r\n toast.error(`A observação não pode conter mais que 500 caracteres`);\r\n return;\r\n }\r\n }\r\n\r\n if (colunaEditada != null) {\r\n\r\n let data = {\r\n 'Id': documentoArquivo.id,\r\n 'IdSolicitacaoFornecimento': documentoArquivo.idSolicitacaoFornecimento,\r\n 'DocumentoArquivoGuid': documentoArquivo.documentoArquivoGuid,\r\n 'NomeArquivo': colunaEditada.field == \"observacao\" ? documentoArquivo.nomeArquivo : novoValorCampoEditado,\r\n 'DescricaoExtensaoArquivo': documentoArquivo.descricaoExtensaoArquivo,\r\n 'DataInclusao': documentoArquivo.dataInclusaoApi,\r\n 'IdTipoDocumentoArquivo': documentoArquivo.idTipoDocumentoArquivo,\r\n 'IdUsuario': documentoArquivo.idUsuario,\r\n 'Observacao': colunaEditada.field == \"observacao\" ? novoValorCampoEditado : documentoArquivo.observacao,\r\n 'StatusReprovado': false\r\n };\r\n\r\n dispatch(AlterarSolicitacaoFornecimentoDocumentoArquivoRequest(data, id));\r\n }\r\n }\r\n\r\n function ExcluirDocumento(idDocumentoArquivo) {\r\n dispatch(ExcluirSolicitacaoFornecimentoDocumentoArquivoRequest(idDocumentoArquivo, id));\r\n }\r\n\r\n function BaixarDocumento(idDocumentoArquivo) {\r\n dispatch(BaixarDocumentoRequest(idDocumentoArquivo));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n Adicionar Documentos\r\n :\r\n '')\r\n :\r\n ''\r\n\r\n }\r\n columns={[\r\n {\r\n title: \"Número do Documento\", field: 'id', defaultSort: 'desc', editable: 'never', cellStyle: {\r\n width: '10%',\r\n }\r\n },\r\n {\r\n title: \"Nome\", field: 'nomeArquivo', cellStyle: {\r\n width: '18%'\r\n }\r\n },\r\n {\r\n title: \"Tipo Documento Arquivo\", field: 'tipoDocumentoArquivo', editable: 'never', cellStyle: {\r\n width: '18%'\r\n }\r\n },\r\n {\r\n title: \"Usuário\", field: 'usuario', editable: 'never', cellStyle: {\r\n width: '18%'\r\n }\r\n },\r\n {\r\n title: \"Data\", field: 'dataInclusao', editable: 'never', cellStyle: {\r\n width: '18%'\r\n }\r\n },\r\n {\r\n title: \"Observação\", field: 'observacao', cellStyle: {\r\n width: '18%'\r\n },\r\n render: rowData => rowData.observacao == '' ?\r\n
\r\n : rowData.observacao\r\n }\r\n ]}\r\n data={\r\n listaSolicitacaoFornecimentoDocumentoArquivo != undefined && listaTipoDocumentoArquivo != undefined ?\r\n listaSolicitacaoFornecimentoDocumentoArquivo.filter(x => x.statusReprovado == false)\r\n .map(doc => {\r\n return {\r\n // Info colunas tabela\r\n id: doc.id,\r\n nomeArquivo: doc.nomeArquivo,\r\n tipoDocumentoArquivo:\r\n doc.tipoDocumentoArquivo != null ?\r\n doc.tipoDocumentoArquivo.descricao\r\n : '',\r\n usuario: doc.usuario.nome,\r\n dataInclusao: moment(doc.dataInclusao).format('L LT'),\r\n observacao: doc.observacao,\r\n\r\n // Info para alteração de documento arquivo\r\n dataInclusaoApi: doc.dataInclusao,\r\n descricaoExtensaoArquivo: doc.descricaoExtensaoArquivo,\r\n documentoArquivoGuid: doc.documentoArquivoGuid,\r\n idSolicitacaoFornecimento: doc.idSolicitacaoFornecimento,\r\n idTipoDocumentoArquivo: doc.idTipoDocumentoArquivo,\r\n idUsuario: doc.idUsuario,\r\n IdSolicitacaoFornecimentoVersaoStatus: doc.idSolicitacaoFornecimentoVersaoStatus,\r\n StatusReprovado: doc.statusReprovado\r\n }\r\n })\r\n :\r\n []\r\n }\r\n cellEditable={{\r\n onCellEditApproved: (newValue, oldValue, rowData, columnDef) => {\r\n return new Promise((resolve, reject) => {\r\n alterar == true\r\n ?\r\n setTimeout(() => {\r\n AlterarDocumentoArquivo(rowData, newValue, columnDef);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n });\r\n }\r\n }}\r\n editable={{\r\n isDeleteHidden: () => listaSolicitacaoFornecimentoVersaoStatus != undefined &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n .filter(x => x.statusSolicitacaoFornecimento\r\n .descricaoSolicitacaoFornecimentoVersao == \"Reprovado/Encerrado\" ||\r\n x.statusSolicitacaoFornecimento.cancelaSolicitacao == true ||\r\n x.statusSolicitacaoFornecimento.finalizaSolicitacao == true).length == 1,\r\n onRowDelete:\r\n (id != undefined\r\n /*((listaSolicitacaoFornecimentoVersaoStatus != undefined) &&\r\n (listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.statusAtual == true).length > 0) &&\r\n (listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.statusAtual == true)[0].statusSolicitacaoFornecimento.permiteAlterarSolicitacao)*/)\r\n ?\r\n oldData =>\r\n new Promise((resolve, reject) => {\r\n excluir == true ?\r\n (listaSolicitacaoFornecimentoVersaoStatus != undefined &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n .filter(x => x.statusSolicitacaoFornecimento\r\n .descricaoSolicitacaoFornecimentoVersao == \"Reprovado/Encerrado\" ||\r\n x.statusSolicitacaoFornecimento.cancelaSolicitacao == true ||\r\n x.statusSolicitacaoFornecimento.finalizaSolicitacao == true).length == 1)\r\n ?\r\n setTimeout(() => {\r\n resolve()\r\n toast.error('Não é possível realizar operações pois essa solicitação está Reprovada/Encerrada');\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n ExcluirDocumento(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n\r\n })\r\n : null,\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n {\r\n icon: 'download',\r\n onClick: (event, rowData) => BaixarDocumento(rowData.id)\r\n },\r\n ]}\r\n localization={{\r\n header: {\r\n actions: 'Ações'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n }\r\n {\r\n id != undefined && listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Solicitação está Cancelada!\r\n \r\n \r\n :\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Solicitação está Finalizada!\r\n \r\n \r\n :\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1] != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento != null && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento.somenteLeitura == true ?\r\n \r\n \r\n Status atual desta solicitação só permite leitura!\r\n \r\n \r\n :\r\n ''\r\n }\r\n \r\n
\r\n \r\n \r\n Documentos\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n
\r\n setListaFile(files)}\r\n filesLimit={10}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 10 arquivos`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={500000000}\r\n />\r\n
\r\n
\r\n \r\n Observacao\r\n setObservacao(e.target.value)} />\r\n O campo Descrição Objeto é obrigatório.\r\n \r\n\r\n \r\n Tipo documento arquivo\r\n setTipoDocumentoArquivo(e.target.value)}\r\n value={tipoDocumentoArquivo}\r\n required\r\n isInvalid={validated && tipoDocumentoArquivo == undefined\r\n || validated && tipoDocumentoArquivo == '' ? true : false}\r\n isValid={validated && tipoDocumentoArquivo !== undefined\r\n || validated && tipoDocumentoArquivo !== '' ? true : false}>\r\n \r\n {\r\n listaTipoDocumentoArquivo != undefined ?\r\n listaTipoDocumentoArquivo.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n \r\n\r\n
\r\n\r\n \r\n
\r\n \r\n {\r\n inserir == true ?\r\n \r\n :\r\n ''\r\n }\r\n\r\n \r\n
\r\n\r\n \r\n )\r\n}","export function ListarTipoSolicitacaoTipoDocumentoArquivoRequest() {\r\n return {\r\n type: 'LISTAR_TIPO_SOLICITACAO_TIPO_DOCUMENTO_ARQUIVO_REQUEST'\r\n }\r\n }\r\n \r\n export function ListarTipoSolicitacaoTipoDocumentoArquivoResponse(listaTipoSolicitacaoTipoDocumentoArquivo) {\r\n return {\r\n type: 'LISTAR_TIPO_SOLICITACAO_TIPO_DOCUMENTO_ARQUIVO_RESPONSE',\r\n listaTipoSolicitacaoTipoDocumentoArquivo\r\n }\r\n }\r\n \r\n export function InserirTipoSolicitacaoTipoDocumentoArquivoRequest(data) {\r\n return {\r\n type: 'INSERIR_TIPO_SOLICITACAO_TIPO_DOCUMENTO_ARQUIVO_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function AlterarTipoSolicitacaoTipoDocumentoArquivoRequest(data) {\r\n return {\r\n type: 'ALTERAR_TIPO_SOLICITACAO_TIPO_DOCUMENTO_ARQUIVO_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function ExcluirTipoSolicitacaoTipoDocumentoArquivoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_TIPO_SOLICITACAO_TIPO_DOCUMENTO_ARQUIVO_REQUEST',\r\n id\r\n }\r\n}\r\n \r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarAutorizacaoFornecimentoRequest() {\r\n return {\r\n type: 'LISTAR_AUTORIZACAO_FORNECIMENTO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarAutorizacaoFornecimentoDoEmpenhoRequest(idEmpenho) {\r\n return {\r\n type: 'LISTAR_AUTORIZACAO_DO_EMPENHO_FORNECIMENTO_REQUEST',\r\n idEmpenho\r\n }\r\n}\r\n\r\nexport function ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemRequest(idEmpenho, idContrato, idFornecedor) {\r\n return {\r\n type: 'LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_REQUEST',\r\n idEmpenho, idContrato, idFornecedor\r\n }\r\n}\r\n\r\nexport function ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemResponse(listaCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitem) {\r\n return {\r\n type: 'LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_RESPONSE',\r\n listaCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitem\r\n }\r\n}\r\n\r\nexport function ListarCompletoAutorizacaoFornecimentoComRedirecionamentoRequest(idSolicitacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_COM_REDIRECIONAMENTO_REQUEST',\r\n idSolicitacaoFornecimento\r\n }\r\n}\r\n\r\nexport function BuscarCompletoAutorizacaoFornecimentoRequest(idAutorizacaoFornecimento) {\r\n return {\r\n type: 'BUSCAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_REQUEST',\r\n idAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function BuscarAutorizacaoFornecimentoPorIdRequest(idAutorizacaoFornecimento) {\r\n return {\r\n type: 'BUSCAR_AUTORIZACAO_FORNECIMENTO_POR_ID_REQUEST',\r\n idAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function BuscarAutorizacaoFornecimentoPorIdResponse(autorizacaoFornecimento) {\r\n return {\r\n type: 'BUSCAR_AUTORIZACAO_FORNECIMENTO_POR_ID_RESPONSE',\r\n autorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function BuscarCompletoAutorizacaoFornecimentoResponse(autorizacaoFornecimentoCompleto) {\r\n return {\r\n type: 'BUSCAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_RESPONSE',\r\n autorizacaoFornecimentoCompleto\r\n }\r\n}\r\n\r\nexport function ListarAutorizacaoFornecimentoResponse(listaAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_AUTORIZACAO_FORNECIMENTO_RESPONSE',\r\n listaAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function InserirAutorizacaoFornecimentoRequest(data) {\r\n return {\r\n type: 'INSERIR_AUTORIZACAO_FORNECIMENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarAutorizacaoFornecimentoRequest(data) {\r\n return {\r\n type: 'ALTERAR_AUTORIZACAO_FORNECIMENTO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirAutorizacaoFornecimentoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_AUTORIZACAO_FORNECIMENTO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function LimparAutorizacao() {\r\n return {\r\n type: 'LIMPAR_AUTORIZACAO'\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}\r\n\r\n\r\n","export function ListarEmpenhoStatusRequest(idEmpenho) {\r\n return {\r\n type: 'LISTAR_EMPENHO_STATUS_REQUEST', idEmpenho\r\n }\r\n}\r\n\r\nexport function ListarEmpenhoStatusResponse(listaEmpenhoStatus) {\r\n return {\r\n type: 'LISTAR_EMPENHO_STATUS_RESPONSE',\r\n listaEmpenhoStatus\r\n }\r\n}\r\n\r\nexport function ListarCompletoEmpenhoStatusRequest(idEmpenho) {\r\n return {\r\n type: 'LISTAR_COMPLETO_EMPENHO_STATUS_REQUEST', idEmpenho\r\n }\r\n}\r\n\r\nexport function ListarCompletoEmpenhoStatusResponse(listaCompletoEmpenhoStatus) {\r\n return {\r\n type: 'LISTAR_COMPLETO_EMPENHO_STATUS_RESPONSE',\r\n listaCompletoEmpenhoStatus\r\n }\r\n}\r\n\r\nexport function InserirEmpenhoStatusRequest(data, idEmpenho, validacaoFinalizado) {\r\n return {\r\n type: 'INSERIR_EMPENHO_STATUS_REQUEST',\r\n data, idEmpenho, validacaoFinalizado\r\n }\r\n}\r\n\r\nexport function AlterarEmpenhoStatusRequest(data, idEmpenho, validacaoFinalizado) {\r\n return {\r\n type: 'ALTERAR_EMPENHO_STATUS_REQUEST',\r\n data, idEmpenho, validacaoFinalizado\r\n }\r\n}\r\n\r\nexport function ExcluirEmpenhoStatusRequest(id) {\r\n return {\r\n type: 'EXCLUIR_EMPENHO_STATUS_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ValidarEmpenhoStatusResponse(listaValidacaoEmpenhoStatus) {\r\n return {\r\n type: 'VALIDAR_EMPENHO_STATUS_RESPONSE',\r\n listaValidacaoEmpenhoStatus\r\n }\r\n}\r\n\r\nexport function LimparListaValidacaoEmpenho() {\r\n return {\r\n type: 'LIMPAR_LISTA_VALIDACAO_EMPENHO'\r\n }\r\n}\r\n\r\nexport function ListarMultaEmpenhoRequest(idEmpenho) {\r\n return {\r\n type: 'LISTAR_MULTA_EMPENHO_REQUEST', idEmpenho\r\n }\r\n}\r\n\r\nexport function ListarMultaEmpenhoResponse(listarMultaEmpenho) {\r\n return {\r\n type: 'LISTAR_MULTA_EMPENHO_RESPONSE',\r\n listarMultaEmpenho\r\n }\r\n}\r\n\r\nexport function ListarDiferencaEmpenhoRequest(idEmpenho) {\r\n return {\r\n type: 'LISTAR_DIFERENCA_EMPENHO_REQUEST', idEmpenho\r\n }\r\n}\r\n\r\nexport function ListarDiferencaEmpenhoResponse(listarDiferencaEmpenho) {\r\n return {\r\n type: 'LISTAR_DIFERENCA_EMPENHO_RESPONSE',\r\n listarDiferencaEmpenho\r\n }\r\n}\r\n\r\nexport function VoltarStatusEmpenhoRequest(id) {\r\n return {\r\n type: 'VOLTAR_STATUS_EMPENHO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarMedicaoAutorizacaoFornecimentoStatusRequest(IdMedicaoAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST',\r\n IdMedicaoAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarMedicaoAutorizacaoFornecimentoStatusResponse(listaMedicaoAutorizacaoFornecimentoStatus) {\r\n return {\r\n type: 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_RESPONSE',\r\n listaMedicaoAutorizacaoFornecimentoStatus\r\n }\r\n}\r\n\r\nexport function ListarCompletoMedicaoAutorizacaoFornecimentoStatusRequest(IdMedicaoAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_COMPLETO_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST',\r\n IdMedicaoAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse(listaCompletoMedicaoAutorizacaoFornecimentoStatus) {\r\n return {\r\n type: 'LISTAR_COMPLETO_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_RESPONSE',\r\n listaCompletoMedicaoAutorizacaoFornecimentoStatus\r\n }\r\n}\r\n\r\nexport function InserirMedicaoAutorizacaoFornecimentoStatusRequest(data, IdMedicaoAutorizacaoFornecimento, validacao) {\r\n return {\r\n type: 'INSERIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST',\r\n data, IdMedicaoAutorizacaoFornecimento, validacao\r\n }\r\n}\r\n\r\nexport function AlterarMedicaoAutorizacaoFornecimentoStatusRequest(data, IdMedicaoAutorizacaoFornecimento) {\r\n return {\r\n type: 'ALTERAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST',\r\n data, IdMedicaoAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ExcluirMedicaoAutorizacaoFornecimentoStatusRequest(IdMedicaoAutorizacaoFornecimento) {\r\n return {\r\n type: 'EXCLUIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST',\r\n IdMedicaoAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ValidarMedicaoAutorizacaoFornecimentoStatusResponse(listaValidacaoMedicaoStatus) {\r\n return {\r\n type: 'VALIDAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_RESPONSE',\r\n listaValidacaoMedicaoStatus\r\n }\r\n}\r\n\r\nexport function ReabrirMedicaoAutorizacaoFornecimentoStatusRequest(data, idAutorizacaoFornecimento) {\r\n return {\r\n type: 'REABRIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST',\r\n data,\r\n idAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function LimparListaValidacaoMedicao() {\r\n return {\r\n type: 'LIMPAR_LISTA_VALIDACAO_MEDICAO'\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { Container, Row, Col, Modal } from \"react-bootstrap\";\r\nimport { LimparListaValidacaoEmpenho } from \"../../store/modules/empenhoStatus/actions\";\r\nimport { LimparListaValidacaoMedicao } from \"../../store/modules/medicaoAutorizacaoFornecimentoStatus/actions\";\r\nimport { LimparListaValidacaoSolicitacao } from \"../../store/modules/solicitacaoFornecimentoVersaoStatus/actions\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nexport default function ModalVerificacaoSaldoSubitem({ show, onHide, solicitacao, medicao, empenho }) {\r\n\r\n const dispatch = useDispatch();\r\n const listaValidacaoEmpenhoStatus = useSelector(state => state.empenhoStatus.listaValidacaoEmpenhoStatus);\r\n const listaValidacaoSolicitacaoStatus = useSelector(state => state.solicitacaoFornecimentoVersaoStatus.listaValidacaoSolicitacaoStatus);\r\n const listaValidacaoMedicaoStatus = useSelector(state => state.medicaoAutorizacaoFornecimentoStatus.listaValidacaoMedicaoStatus);\r\n\r\n function LimparValidacao() {\r\n\r\n if (solicitacao) {\r\n\r\n dispatch(LimparListaValidacaoSolicitacao());\r\n onHide();\r\n\r\n } else if (medicao) {\r\n\r\n dispatch(LimparListaValidacaoMedicao());\r\n onHide();\r\n\r\n } else if (empenho) {\r\n\r\n dispatch(LimparListaValidacaoEmpenho());\r\n onHide();\r\n\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Atenção\r\n \r\n \r\n \r\n \r\n \r\n {\r\n listaValidacaoEmpenhoStatus != undefined && listaValidacaoEmpenhoStatus != null ?\r\n listaValidacaoEmpenhoStatus.map((listaValidacaoEmpenhoStatus) => (\r\n listaValidacaoEmpenhoStatus != null && listaValidacaoEmpenhoStatus != undefined ?\r\n listaValidacaoEmpenhoStatus.saldoContratoAlemExcedente == true ?\r\n \r\n

\r\n

O item ({listaValidacaoEmpenhoStatus.descricaoSubitem}) está com uma quantidade total no empenho ({listaValidacaoEmpenhoStatus.quantidadeSubitemMedicaoContrato}) que excede além do permitido o saldo do item no contrato!
\r\n {`Quantidade máxima do item no contrato é: ${listaValidacaoEmpenhoStatus.quantidadeSubitemMaxima}.\r\n Quantidade de itens usados no contrato é: ${listaValidacaoEmpenhoStatus.quantidadeSubitemConsumido}.\r\n Assim o saldo atual é: ${listaValidacaoEmpenhoStatus.quantidadeSubitemMaxima - listaValidacaoEmpenhoStatus.quantidadeSubitemConsumido}.`}\r\n

\r\n
\r\n :\r\n null\r\n :\r\n null\r\n ))\r\n :\r\n null\r\n }\r\n {\r\n listaValidacaoEmpenhoStatus != undefined && listaValidacaoEmpenhoStatus != null ?\r\n listaValidacaoEmpenhoStatus.map((listaValidacaoEmpenhoStatus) => (\r\n listaValidacaoEmpenhoStatus != null && listaValidacaoEmpenhoStatus != undefined ?\r\n listaValidacaoEmpenhoStatus.saldoAutorizacaoExcedente == true ?\r\n \r\n

\r\n

O item ({listaValidacaoEmpenhoStatus.descricaoSubitem}) está com uma quantidade total no empenho ({listaValidacaoEmpenhoStatus.quantidadeSubitemMedicao}) que excede o saldo do item na autorização ({listaValidacaoEmpenhoStatus.descricaoAutorizacao})!
\r\n {`Quantidade máxima do item na autorização é: ${listaValidacaoEmpenhoStatus.quantidadeSubitemMaximaAutorizacao}.\r\n Quantidade de itens usados na autorização é: ${listaValidacaoEmpenhoStatus.quantidadeSubitemConsumidoAutorizacao}.\r\n Assim o saldo atual é: ${listaValidacaoEmpenhoStatus.quantidadeSubitemMaximaAutorizacao - listaValidacaoEmpenhoStatus.quantidadeSubitemConsumidoAutorizacao}.`}

\r\n
\r\n :\r\n\r\n null\r\n :\r\n null\r\n ))\r\n :\r\n null\r\n }\r\n {\r\n listaValidacaoSolicitacaoStatus != undefined && listaValidacaoSolicitacaoStatus != null ?\r\n listaValidacaoSolicitacaoStatus.map((listaValidacaoSolicitacaoStatus) => (\r\n listaValidacaoSolicitacaoStatus != null && listaValidacaoSolicitacaoStatus != undefined ?\r\n listaValidacaoSolicitacaoStatus.saldoContratoAlemExcedente == true ?\r\n \r\n

\r\n

O item ({listaValidacaoSolicitacaoStatus.descricaoSubitem}) está com uma quantidade ({listaValidacaoSolicitacaoStatus.quantidadeSubitemMedicao}) que excede o além do permitido o saldo do item no contrato!
\r\n {`Quantidade máxima do item no contrato é: ${listaValidacaoSolicitacaoStatus.quantidadeSubitemMaxima}.\r\n Quantidade de itens usados no contrato é: ${listaValidacaoSolicitacaoStatus.quantidadeSubitemConsumido}.\r\n Assim o saldo atual é: ${listaValidacaoSolicitacaoStatus.quantidadeSubitemMaxima - listaValidacaoSolicitacaoStatus.quantidadeSubitemConsumido}.`}\r\n

\r\n
\r\n :\r\n null\r\n :\r\n null\r\n ))\r\n :\r\n null\r\n }\r\n {\r\n listaValidacaoMedicaoStatus != undefined && listaValidacaoMedicaoStatus != null ?\r\n listaValidacaoMedicaoStatus.map((listaValidacaoMedicaoStatus) => (\r\n listaValidacaoMedicaoStatus != null && listaValidacaoMedicaoStatus != undefined ?\r\n listaValidacaoMedicaoStatus.saldoContratoAlemExcedente == true ?\r\n \r\n

\r\n

O item ({listaValidacaoMedicaoStatus.descricaoSubitem}) está com uma quantidade ({listaValidacaoMedicaoStatus.quantidadeSubitemMedicao}) que excede além do permitido o saldo do item no contrato!
\r\n {`Quantidade máxima do item no contrato é: ${listaValidacaoMedicaoStatus.quantidadeSubitemMaxima}.\r\n Quantidade de itens usados no contrato é: ${listaValidacaoMedicaoStatus.quantidadeSubitemConsumido}.\r\n Assim o saldo atual é: ${listaValidacaoMedicaoStatus.quantidadeSubitemMaxima - listaValidacaoMedicaoStatus.quantidadeSubitemConsumido}.`}

\r\n
\r\n :\r\n\r\n null\r\n :\r\n null\r\n ))\r\n :\r\n null\r\n }\r\n {\r\n listaValidacaoMedicaoStatus != undefined && listaValidacaoMedicaoStatus != null ?\r\n listaValidacaoMedicaoStatus.map((listaValidacaoMedicaoStatus) => (\r\n listaValidacaoMedicaoStatus != null && listaValidacaoMedicaoStatus != undefined ?\r\n listaValidacaoMedicaoStatus.saldoAutorizacaoExcedente == true ?\r\n \r\n

\r\n

O item ({listaValidacaoMedicaoStatus.descricaoSubitem}) está com uma quantidade ({listaValidacaoMedicaoStatus.quantidadeSubitemMedicao}) que excede o saldo do item na autorização!
\r\n {`Quantidade máxima do item na autorização é: ${listaValidacaoMedicaoStatus.quantidadeSubitemMaximaAutorizacao}.\r\n Quantidade de itens usados na autorização é: ${listaValidacaoMedicaoStatus.quantidadeSubitemConsumidoAutorizacao}.\r\n Assim o saldo atual é: ${listaValidacaoMedicaoStatus.quantidadeSubitemMaximaAutorizacao - listaValidacaoMedicaoStatus.quantidadeSubitemConsumidoAutorizacao}.`}

\r\n
\r\n :\r\n\r\n null\r\n :\r\n null\r\n ))\r\n :\r\n null\r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import { useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { RiCheckboxCircleFill, RiCloseCircleFill } from \"react-icons/ri\";\r\nimport { Button, Container, Row, Col, Modal, Form } from \"react-bootstrap\";\r\nimport {\r\n InserirSolicitacaoFornecimentoVersaoStatusRequest, ListarSolicitacaoFornecimentoVersaoStatusRequest,\r\n AlterarSolicitacaoFornecimentoVersaoStatusRequest, LimparListaValidacaoSolicitacao, LimparSolicitacaoStatus,\r\n ExcluirSolicitacaoFornecimentoVersaoStatusRequest, ExcluirSolicitacaoFornecimentoVersaoStatusMantendoOsItensRequest\r\n} from \"../../../store/modules/solicitacaoFornecimentoVersaoStatus/actions\";\r\nimport { ListarSolicitacaoFornecimentoVersaoSubitemCustoRequest } from '../../../store/modules/solicitacaoFornecimentoVersaoSubitemCusto/actions';\r\nimport { ListarSolicitacaoFornecimentoDocumentoArquivoRequest } from \"../../../store/modules/solicitacaoFornecimentoDocumentoArquivo/actions\";\r\nimport { BuscarContratoPorIdRequest } from \"../../../store/modules/contrato/actions\";\r\nimport { ListarUsuarioFornecedorRequest } from \"../../../store/modules/usuarioFornecedor/actions\";\r\nimport { ListarContratoUsuarioRequest } from '../../../store/modules/contratoUsuario/actions';\r\nimport { ListarStatusSolicitacaoFornecimentoRequest } from '../../../store/modules/statusSolicitacaoFornecimento/actions';\r\nimport { BuscarSolicitacaoFornecimentoPorIdRequest } from '../../../store/modules/solicitacaoFornecimento/actions';\r\nimport { BuscarUsuarioPorIdRequest } from \"../../../store/modules/usuario/actions\";\r\nimport { toast } from 'react-toastify';\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { ListarTipoSolicitacaoTipoDocumentoArquivoRequest } from \"../../../store/modules/tipoSolicitacaoTipoDocumentoArquivo/actions\";\r\nimport { InserirSolicitacaoFornecimentoVersaoRequest } from \"../../../store/modules/solicitacaoFornecimentoVersao/actions\";\r\nimport { ListarTipoDocumentoArquivoRequest } from \"../../../store/modules/tipoDocumentoArquivo/actions\";\r\nimport { ListarCompletoAutorizacaoFornecimentoComRedirecionamentoRequest } from \"../../../store/modules/autorizacaoFornecimento/actions\";\r\nimport {\r\n InserirSolicitacaoFornecimentoDocumentoArquivoRequest\r\n} from \"../../../store/modules/solicitacaoFornecimentoDocumentoArquivo/actions\";\r\nimport { BaixarDocumentoRequest } from \"../../../store/modules/global/actions\";\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport ModalVerificacaoSaldoSubitem from \"../../../components/ModalVerificacaoSaldoSubitem/modalVerificacaoSaldoSubitem\";\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\nimport './status.css';\r\nimport { parse } from \"date-fns\";\r\nimport { RiFileListFill, RiFolder3Fill, RiFileTextFill } from \"react-icons/ri\";\r\n\r\nexport default function Status() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const usuarioCompleto = useSelector(state => state.usuario.usuario);\r\n const listaSolicitacaoFornecimentoVersaoStatus = useSelector(state =>\r\n state.solicitacaoFornecimentoVersaoStatus.listaSolicitacaoFornecimentoVersaoStatus);\r\n const solicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.solicitacaoFornecimentoCompleto);\r\n const contratoCompleto = useSelector(state => state.contrato.contratoCompleto);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const listaSolicitacaoFornecimentoDocumentoArquivo = useSelector(state =>\r\n state.solicitacaoFornecimentoDocumentoArquivo.listaSolicitacaoFornecimentoDocumentoArquivo);\r\n const listaTipoSolicitacaoTipoDocumentoArquivo = useSelector(state =>\r\n state.tipoSolicitacaoTipoDocumentoArquivo.listaTipoSolicitacaoTipoDocumentoArquivo);\r\n const listaStatusSolicitacaoFornecimentoCompleto = useSelector(state => state.statusSolicitacaoFornecimento.listaStatusSolicitacaoFornecimentoCompleto);\r\n const listaSolicitacaoFornecimentoVersaoSubitemCusto = useSelector(state =>\r\n state.solicitacaoFornecimentoVersaoSubitemCusto.listaSolicitacaoFornecimentoVersaoSubitemCusto);\r\n const listaTipoDocumentoArquivo = useSelector(state => state.tipoDocumentoArquivo.listaTipoDocumentoArquivo);\r\n const listaUsuarioFornecedor = useSelector(state => state.usuarioFornecedor.listaUsuarioFornecedor);\r\n const listaValidacaoSolicitacaoStatus = useSelector(state => state.solicitacaoFornecimentoVersaoStatus.listaValidacaoSolicitacaoStatus);\r\n const documentos = useSelector(state => state.solicitacaoFornecimentoDocumentoArquivo.listaSolicitacaoFornecimentoDocumentoArquivo);\r\n const listaRegistroFotografico = useSelector(state => state.solicitacaoFornecimentoRegistroFotografico.listaSolicitacaoFornecimentoRegistroFotografico);\r\n\r\n const [descricaoObservacaoReprovado, setDescricaoObservacaoReprovado] = useState(\"\");\r\n const [descricaoObservacaoCancelado, setDescricaoObservacaoCancelado] = useState(\"\");\r\n const [show, setShow] = useState(false);\r\n const [modal, setModal] = useState(false);\r\n const [showStatus, setShowStatus] = useState(false);\r\n const [showNovaVersao, setShowNovaVersao] = useState(false);\r\n const [showStatusReprovado, setShowStatusReprovado] = useState(false);\r\n const [status, setStatus] = useState('');\r\n const [listaFile, setListaFile] = useState([]);\r\n const [tipoDocumentoArquivo, setTipoDocumentoArquivo] = useState();\r\n const [statusAnaliseAcao, setStatusAnaliseAcao] = useState('');\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [validated, setValidated] = useState(false);\r\n const [validatedReprovado, setValidatedReprovado] = useState(false);\r\n const [showValidacao, setShowValidacao] = useState(false);\r\n const [showFinalizarOrcamento, setShowFinalizarOrcamento] = useState(false);\r\n const [finalizarOrcamento, setFinalizarOrcamento] = useState('');\r\n const [manterItens, setManterItens] = useState(false);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const handleCloseStatus = () => setShowStatus(false);\r\n const handleShowStatus = () => setShowStatus(true);\r\n const handleCloseNovaVersao = () => setShowNovaVersao(false);\r\n const handleShowNovaVersao = () => setShowNovaVersao(true);\r\n const handleCloseStatusReprovado = () => setShowStatusReprovado(false);\r\n const handleShowStatusReprovado = () => setShowStatusReprovado(true);\r\n const handleCloseValidacao = () => setShowValidacao(false);\r\n const handleShowValidacao = () => setShowValidacao(true);\r\n const handleCloseFinalizarOrcamento = () => setShowFinalizarOrcamento(false);\r\n const handleShowFinalizarOrcamento = () => setShowFinalizarOrcamento(true);\r\n\r\n var relacaoIdStatus = listaSolicitacaoFornecimentoVersaoStatus != undefined ?\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.statusReprovado == true)\r\n : [];\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarUsuarioFornecedorRequest());\r\n //dispatch(ListarContratoUsuarioRequest());\r\n dispatch(ListarSolicitacaoFornecimentoDocumentoArquivoRequest(id));\r\n dispatch(ListarTipoSolicitacaoTipoDocumentoArquivoRequest());\r\n //dispatch(ListarStatusSolicitacaoFornecimentoRequest());\r\n dispatch(ListarTipoDocumentoArquivoRequest());\r\n\r\n if (id != undefined) {\r\n dispatch(ListarSolicitacaoFornecimentoVersaoStatusRequest(id));\r\n //dispatch(ListarSolicitacaoFornecimentoVersaoSubitemCustoRequest(id));\r\n }\r\n\r\n }, [id])\r\n\r\n useEffect(() => () =>\r\n dispatch(LimparSolicitacaoStatus())\r\n , []);\r\n\r\n useEffect(() => {\r\n dispatch(BuscarUsuarioPorIdRequest(usuario.id));\r\n if (solicitacaoFornecimento != null) {\r\n dispatch(BuscarContratoPorIdRequest(solicitacaoFornecimento.idContrato));\r\n }\r\n\r\n }, [solicitacaoFornecimento])\r\n\r\n // Abrir o modal de aviso com itens excedentes (caso tenha) ao aprovar análise de orçamento\r\n useEffect(() => {\r\n if (listaValidacaoSolicitacaoStatus != null && listaValidacaoSolicitacaoStatus != undefined) {\r\n handleShowValidacao();\r\n }\r\n }, [listaValidacaoSolicitacaoStatus])\r\n\r\n // Verificar observação ao cancelar solicitação\r\n const handleSubmit = (event) => {\r\n\r\n if (descricaoObservacaoCancelado.trim() == '') {\r\n event.preventDefault();\r\n } else {\r\n InserirSolicitacaoStatusCancelado(event);\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n // Verificar observação ao reprovar análise de orçamento em solicitação\r\n /*const handleSubmitReprovado = (event) => {\r\n\r\n if (descricaoObservacaoReprovado == '') {\r\n event.preventDefault();\r\n } else {\r\n InserirSolicitacaoStatus();\r\n setDescricaoObservacaoReprovado('');\r\n }\r\n\r\n setValidatedReprovado(true);\r\n };*/\r\n\r\n const handleSubmitReprovadoComDocumento = (event) => {\r\n\r\n if (descricaoObservacaoReprovado.trim() === '') {\r\n toast.error('Descrição invalida');\r\n event.preventDefault();\r\n setValidated(true);\r\n } else {\r\n if (descricaoObservacaoReprovado.trim() !== '' && listaFile.length > 0 && (tipoDocumentoArquivo === undefined || isNaN(tipoDocumentoArquivo) || tipoDocumentoArquivo === '')) {\r\n toast.error('Insira um tipo documento arquivo');\r\n setValidated(true);\r\n return\r\n }\r\n else if (descricaoObservacaoReprovado.trim() !== '' && listaFile.length === 0 && (tipoDocumentoArquivo !== undefined && !isNaN(tipoDocumentoArquivo) && tipoDocumentoArquivo !== '')) {\r\n toast.error('Ao selecionar um Tipo Documento Arquivo deve-se inserir um Documento');\r\n event.preventDefault();\r\n setValidated(true);\r\n return\r\n }\r\n else if (descricaoObservacaoReprovado.trim() !== '' && listaFile.length > 0 && (tipoDocumentoArquivo !== undefined && !isNaN(tipoDocumentoArquivo) && tipoDocumentoArquivo !== '')) {\r\n SalvarDocumento(event);\r\n setValidated(false);\r\n InserirSolicitacaoStatus();\r\n if (id != undefined)\r\n dispatch(BuscarSolicitacaoFornecimentoPorIdRequest(id));\r\n\r\n }\r\n else if (descricaoObservacaoReprovado.trim() !== '' && listaFile.length === 0 && (tipoDocumentoArquivo === undefined || isNaN(tipoDocumentoArquivo) || tipoDocumentoArquivo === '')) {\r\n InserirSolicitacaoStatus();\r\n setDescricaoObservacaoReprovado('');\r\n }\r\n setTipoDocumentoArquivo();\r\n setDescricaoObservacaoReprovado('');\r\n }\r\n\r\n setValidatedReprovado(true);\r\n };\r\n\r\n // Faz verificações para ver se poderá avançar ao próximo status\r\n function ValidarProximoStatus(statusParametro) {\r\n\r\n var verificacao = true;\r\n\r\n if (statusParametro == 'Orçamento Solicitado') {\r\n\r\n if (listaSolicitacaoFornecimentoDocumentoArquivo.filter(x => x.idTipoDocumentoArquivo == 98).length == 0) {\r\n toast.error(\"Para avançar no status é preciso que tenha um documento do tipo Ofício inserido na solicitação.\");\r\n verificacao = false;\r\n return;\r\n }\r\n }\r\n\r\n // Algumas validações de acordo com o tipo do status\r\n if (listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.descricaoSolicitacaoFornecimentoVersao == statusParametro).length > 0) {\r\n\r\n // Verifica se o status precisa validar documentos\r\n if (listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.descricaoSolicitacaoFornecimentoVersao == statusParametro)[0].documentoObrigatorio == true) {\r\n\r\n var documentos = '';\r\n\r\n // Verifica se falta algum documento obrigatório, se faltar manda o toast com os pendentes\r\n if (listaTipoSolicitacaoTipoDocumentoArquivo != undefined && listaSolicitacaoFornecimentoDocumentoArquivo != undefined\r\n && solicitacaoFornecimento != null) {\r\n var x = 0;\r\n listaTipoSolicitacaoTipoDocumentoArquivo.map(relacao => {\r\n if (relacao.idTipoSolicitacao == solicitacaoFornecimento.idTipoSolicitacao) {\r\n var verifica = listaSolicitacaoFornecimentoDocumentoArquivo.filter(x => relacao.idTipoDocumentoArquivo == x.idTipoDocumentoArquivo)\r\n if (verifica.length > 0) {\r\n } else {\r\n var tipoDocumento = listaTipoDocumentoArquivo.filter(x => x.id == relacao.idTipoDocumentoArquivo)\r\n if (tipoDocumento.length > 0) {\r\n if (x == 0) {\r\n documentos = documentos.concat(tipoDocumento[0].descricao);\r\n x++;\r\n } else {\r\n documentos = documentos.concat(', ' + tipoDocumento[0].descricao);\r\n x++;\r\n }\r\n }\r\n }\r\n }\r\n })\r\n\r\n if (documentos != '') {\r\n toast.error(\"Para aprovar é preciso que a solicitação tenha todos os documentos inseridos! Documentos pendentes: \" + documentos);\r\n verificacao = false;\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Verifica se o status precisa validar numero de processo\r\n if (listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.descricaoSolicitacaoFornecimentoVersao == statusParametro)[0].numeroProcessoObrigatorio == true) {\r\n\r\n if (solicitacaoFornecimento.numeroProcesso == '' || solicitacaoFornecimento.numeroProcesso == null) {\r\n toast.error(\"Para aprovar é preciso que a solicitação tenha o Número Processo!\");\r\n verificacao = false;\r\n return;\r\n }\r\n }\r\n\r\n // Verifica se precisa de fotos\r\n /*if(listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.descricaoSolicitacaoFornecimentoVersao == statusParametro)[0].solicitaOrcamentoSolicitacao == true\r\n || listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.descricaoSolicitacaoFornecimentoVersao == statusParametro)[0].descricaoSolicitacaoFornecimentoVersao\r\n == 'Orçamento Finalizado'){\r\n if(solicitacaoFornecimento.tipoSolicitacao.fotoObrigatorio == true && solicitacaoFornecimento.tipoSolicitacao.quantidadeFotoObrigatorio != null){\r\n\r\n if(listaRegistroFotografico.length < solicitacaoFornecimento.tipoSolicitacao.quantidadeFotoObrigatorio){\r\n toast.error(\"Para seguir é preciso que a solicitação tenha \" + solicitacaoFornecimento.tipoSolicitacao.quantidadeFotoObrigatorio + \" registro(s) fotográfico(s) inseridos!\");\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n }\r\n }*/\r\n\r\n // Verifica se o status precisa validar se possui subitens inseridos\r\n if (listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.descricaoSolicitacaoFornecimentoVersao == statusParametro)[0].itemObrigatorio == true) {\r\n\r\n if (!listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.descricaoSolicitacaoFornecimentoVersao == statusParametro)[0].solicitaOrcamentoSolicitacao) {\r\n // Verifica número de subitens na solicitação\r\n if (listaSolicitacaoFornecimentoVersaoSubitemCusto != undefined && solicitacaoFornecimento != null &&\r\n solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel != null && listaSolicitacaoFornecimentoVersaoSubitemCusto\r\n .filter((solicitacao) => solicitacao.idSolicitacaoFornecimentoVersao\r\n === solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id).length == 0) {\r\n\r\n toast.error(\"Para seguir é preciso que a solicitação tenha itens inseridos!\");\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n // Verifica se tem pelo menos 1 subitem ativo para continuar\r\n var ativo = false;\r\n var verificaAtivoLista = [];\r\n\r\n if (listaSolicitacaoFornecimentoVersaoSubitemCusto != undefined && solicitacaoFornecimento != null &&\r\n solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel != null) {\r\n\r\n verificaAtivoLista = listaSolicitacaoFornecimentoVersaoSubitemCusto\r\n .filter((solicitacao) => solicitacao.idSolicitacaoFornecimentoVersao === solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id);\r\n }\r\n\r\n if (verificaAtivoLista.length > 0) {\r\n\r\n verificaAtivoLista.map(x => {\r\n if (x.ativo == true) {\r\n ativo = true;\r\n }\r\n })\r\n\r\n if (ativo == false) {\r\n toast.error(\"Para seguir é preciso que a solicitação tenha pelo menos 1 item ativo!\");\r\n verificacao = false;\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.descricaoSolicitacaoFornecimentoVersao == statusParametro).length > 0\r\n && listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.descricaoSolicitacaoFornecimentoVersao == statusParametro)[0].statusParteFornecedor == true) {\r\n\r\n if (usuarioCompleto != null && !usuarioCompleto.usuarioFornecedor) {\r\n\r\n toast.error(\"Para avançar o status é necessario ser fornecedor!\");\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n } else {\r\n\r\n if (usuarioCompleto != null && usuarioCompleto.usuarioFornecedor) {\r\n\r\n toast.error(\"Para avançar o status é necessario ser cliente!\");\r\n verificacao = false;\r\n return;\r\n }\r\n }\r\n\r\n // Se não tiver problema abre o modal para o usuário avançar\r\n if (verificacao == true) {\r\n setStatus(statusParametro);\r\n handleShowStatus();\r\n }\r\n }\r\n\r\n // Insere(ou altera em alguns casos) o status que o usuário clicou para avançar\r\n function InserirSolicitacaoStatus() {\r\n\r\n // Pega o status a ser inserido (próximo)\r\n let proximoStatus = [];\r\n var verificacao = true;\r\n\r\n if (listaStatusSolicitacaoFornecimentoCompleto != undefined) {\r\n proximoStatus = listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.descricaoSolicitacaoFornecimentoVersao == status);\r\n }\r\n\r\n // Caso o status é análise e já está criado, busca o status para altera-lo\r\n let relacaoAlterarAnalise = [];\r\n\r\n if (statusAnaliseAcao != '' && proximoStatus.length > 0) {\r\n relacaoAlterarAnalise = listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento == proximoStatus[0].id)\r\n }\r\n\r\n // Altera status análise de orçamento caso foi aprovado\r\n if (statusAnaliseAcao == 'Aprovar') {\r\n if (relacaoAlterarAnalise.length > 0) {\r\n let data = {\r\n 'Id': relacaoAlterarAnalise[0].id,\r\n 'IdSolicitacaoFornecimentoVersao': relacaoAlterarAnalise[0].idSolicitacaoFornecimentoVersao,\r\n 'IdStatusSolicitacaoFornecimento': relacaoAlterarAnalise[0].idStatusSolicitacaoFornecimento,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoReprovado': '',\r\n 'StatusAprovado': true,\r\n 'StatusReprovado': false,\r\n 'ObservacaoCancelado': '',\r\n 'AnaliseConcluida': false,\r\n 'IdSolicitacaoFornecimento': id\r\n }\r\n\r\n dispatch(AlterarSolicitacaoFornecimentoVersaoStatusRequest(data, id, false));\r\n }\r\n\r\n // Altera status análise de orçamento caso foi reprovado\r\n } else if (statusAnaliseAcao == 'Reprovar') {\r\n\r\n if (relacaoAlterarAnalise.length > 0) {\r\n let data = {\r\n 'Id': relacaoAlterarAnalise[0].id,\r\n 'IdSolicitacaoFornecimentoVersao': relacaoAlterarAnalise[0].idSolicitacaoFornecimentoVersao,\r\n 'IdStatusSolicitacaoFornecimento': relacaoAlterarAnalise[0].idStatusSolicitacaoFornecimento,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoReprovado': descricaoObservacaoReprovado,\r\n 'StatusAprovado': false,\r\n 'StatusReprovado': true,\r\n 'ObservacaoCancelado': '',\r\n 'AnaliseConcluida': false,\r\n 'IdSolicitacaoFornecimento': id\r\n }\r\n\r\n dispatch(AlterarSolicitacaoFornecimentoVersaoStatusRequest(data, id, true));\r\n setModal(false);\r\n handleCloseStatusReprovado();\r\n }\r\n\r\n // Cria o status finalizado, mas verifica antes se tem algum item ultrapassando o saldo excedente do contrato\r\n } else if (proximoStatus.length > 0 && proximoStatus[0].finalizaSolicitacao) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimentoVersao': parseInt(solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id),\r\n 'IdStatusSolicitacaoFornecimento': proximoStatus[0].id,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoReprovado': '',\r\n 'StatusAprovado': false,\r\n 'StatusReprovado': false,\r\n 'ObservacaoCancelado': '',\r\n 'AnaliseConcluida': false,\r\n 'IdSolicitacaoFornecimento': id\r\n }\r\n\r\n dispatch(InserirSolicitacaoFornecimentoVersaoStatusRequest(data, id, false));\r\n\r\n // Insere o status solicita orçamento\r\n } else if (proximoStatus[0].solicitaOrcamentoSolicitacao) {\r\n\r\n // Verificar se é cliente\r\n if (usuarioCompleto != null && usuarioCompleto.usuarioFornecedor) {\r\n toast.error(\"Você precisa ser cliente para solicitar o orçamento!\");\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (proximoStatus.length > 0 && verificacao) {\r\n let data = {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimentoVersao': parseInt(solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id),\r\n 'IdStatusSolicitacaoFornecimento': proximoStatus[0].id,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoReprovado': '',\r\n 'StatusAprovado': false,\r\n 'StatusReprovado': false,\r\n 'ObservacaoCancelado': '',\r\n 'AnaliseConcluida': false,\r\n 'IdSolicitacaoFornecimento': id,\r\n 'DataOrcamentoSolicitado': moment((new Date())).add('hours', 2),\r\n 'IdUsuarioOrcamentoSolicitado': usuario.id\r\n }\r\n\r\n dispatch(InserirSolicitacaoFornecimentoVersaoStatusRequest(data, id, true));\r\n }\r\n }\r\n // Cria o próximo status\r\n else {\r\n\r\n if (proximoStatus.length > 0) {\r\n let data = {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimentoVersao': parseInt(solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id),\r\n 'IdStatusSolicitacaoFornecimento': proximoStatus[0].id,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoReprovado': '',\r\n 'StatusAprovado': false,\r\n 'StatusReprovado': false,\r\n 'ObservacaoCancelado': '',\r\n 'AnaliseConcluida': false,\r\n 'IdSolicitacaoFornecimento': id\r\n }\r\n\r\n dispatch(InserirSolicitacaoFornecimentoVersaoStatusRequest(data, id, true));\r\n }\r\n }\r\n\r\n setStatusAnaliseAcao('');\r\n handleCloseStatus();\r\n }\r\n\r\n // Insere o status cancelado na solicitação\r\n function InserirSolicitacaoStatusCancelado(e) {\r\n\r\n e.preventDefault();\r\n\r\n var verificacao = true;\r\n\r\n // Verificar se é cliente\r\n if (usuarioCompleto != null && usuarioCompleto.usuarioFornecedor) {\r\n toast.error(\"Você precisa ser cliente para cancelar a solicitação!\");\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n // Busca o status cancelado\r\n let proximoStatus = [];\r\n\r\n if (listaStatusSolicitacaoFornecimentoCompleto != undefined) {\r\n proximoStatus = listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true);\r\n }\r\n\r\n if (verificacao && proximoStatus.length > 0) {\r\n let data = {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimentoVersao': parseInt(solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id),\r\n 'IdStatusSolicitacaoFornecimento': proximoStatus[0].id,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoReprovado': '',\r\n 'StatusAprovado': false,\r\n 'StatusReprovado': false,\r\n 'ObservacaoCancelado': descricaoObservacaoCancelado,\r\n 'AnaliseConcluida': false,\r\n 'IdSolicitacaoFornecimento': id\r\n }\r\n\r\n dispatch(InserirSolicitacaoFornecimentoVersaoStatusRequest(data, id, true));\r\n setValidated(false);\r\n setDescricaoObservacaoCancelado('');\r\n handleClose();\r\n }\r\n }\r\n\r\n // Análise de orçamento aprovada e abre o modal para confirmação\r\n function AprovarSolicitacaoStatusAnaliseOrcamento(statusParametro) {\r\n\r\n var verificacao = true;\r\n\r\n // Verifica se o usuario é cliente\r\n if (usuarioCompleto != null && usuarioCompleto.usuarioFornecedor) {\r\n\r\n toast.error(\"Para avançar o status é necessario ser cliente!\");\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (statusParametro != 0) {\r\n setStatus(statusParametro);\r\n setStatusAnaliseAcao('Aprovar');\r\n handleShowStatus();\r\n }\r\n }\r\n\r\n // Análise de orçamento reprovada e abre o modal para inserir observação e confirmação\r\n function ReprovarSolicitacaoStatusAnaliseOrcamento(statusParametro) {\r\n\r\n var verificacao = true;\r\n\r\n // Verifica se o usuario é cliente\r\n if (usuarioCompleto != null && usuarioCompleto.usuarioFornecedor) {\r\n\r\n toast.error(\"Para avançar o status é necessario ser cliente!\");\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n if (verificacao && statusParametro != 0) {\r\n setModal(false);\r\n setStatus(statusParametro);\r\n setStatusAnaliseAcao('Reprovar');\r\n handleShowStatusReprovado();\r\n }\r\n }\r\n\r\n // Cria nova versão da solicitação\r\n function CriarNovaVersaoSolicitacao() {\r\n\r\n if (!manterItens) {\r\n\r\n if (solicitacaoFornecimento != null &&\r\n solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel != null) {\r\n let dadosSolicitacaoFornecimentoVersaoApiModel = {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimento': solicitacaoFornecimento.id,\r\n 'Observacao': solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.observacao,\r\n 'NumeroOrcamento': '',\r\n 'DataVersao': moment((new Date())).add('hours', 2),\r\n 'IdUsuario': usuario.id,\r\n 'SolicitacaoFornecimentoVersaoStatusApiModel': {\r\n 'Id': 0,\r\n 'IdSolicitacaoFornecimentoVersao': 0,\r\n 'IdStatusSolicitacaoFornecimento': 0,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoReprovado': '',\r\n 'ObservacaoCancelado': '',\r\n 'StatusReprovado': false,\r\n 'StatusAprovado': false,\r\n 'AnaliseConcluida': false\r\n }\r\n }\r\n\r\n dispatch(InserirSolicitacaoFornecimentoVersaoRequest(dadosSolicitacaoFornecimentoVersaoApiModel));\r\n setValidated(false);\r\n handleCloseNovaVersao();\r\n }\r\n }\r\n else {\r\n if (solicitacaoFornecimento != null &&\r\n solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel != null) {\r\n dispatch(ExcluirSolicitacaoFornecimentoVersaoStatusMantendoOsItensRequest(solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id, solicitacaoFornecimento.id))\r\n }\r\n }\r\n\r\n setManterItens(false)\r\n setValidated(false);\r\n handleCloseNovaVersao();\r\n\r\n }\r\n\r\n // Abre o modal para confirmar o cancelamento da solicitação\r\n function CancelarSolicitacao(statusParametro) {\r\n setStatus(statusParametro);\r\n handleShow();\r\n }\r\n\r\n function ExcluirUltimoStatus() {\r\n dispatch(ExcluirSolicitacaoFornecimentoVersaoStatusRequest(solicitacaoFornecimento.id));\r\n }\r\n\r\n // Verificar se ao reprovar análise deve criar versão (só tem análise de orçamento por enquanto e ela cria nova versao)\r\n function VerificarTipoAnaliseReprovada(analiseTipoReprovarCriaVersao) {\r\n\r\n if (analiseTipoReprovarCriaVersao) {\r\n if (usuarioCompleto != null && usuarioCompleto.usuarioFornecedor) {\r\n handleShowNovaVersao();\r\n } else {\r\n toast.error('Para refazer o orçamento é preciso ser fornecedor!');\r\n }\r\n }\r\n }\r\n\r\n function BaixarDocumento(rowData) {\r\n\r\n var idDoc = documentos != undefined &&\r\n documentos.filter(m => m.statusReprovado == true\r\n && m.idSolicitacaoFornecimentoVersaoStatus == relacaoIdStatus[0].id).length > 0 ?\r\n documentos.filter(m => m.statusReprovado == true\r\n && m.idSolicitacaoFornecimentoVersaoStatus == relacaoIdStatus[0].id)[0].id\r\n :\r\n ''\r\n\r\n dispatch(BaixarDocumentoRequest(idDoc));\r\n }\r\n\r\n function SalvarDocumento() {\r\n\r\n // Pega o status a ser inserido (próximo)\r\n let proximoStatus = [];\r\n\r\n if (listaStatusSolicitacaoFornecimentoCompleto != undefined) {\r\n proximoStatus = listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.descricaoSolicitacaoFornecimentoVersao == status);\r\n }\r\n\r\n // Caso o status é análise e já está criado, busca o status para altera-lo\r\n let relacaoAlterarAnalise = [];\r\n\r\n if (statusAnaliseAcao != '' && proximoStatus.length > 0) {\r\n relacaoAlterarAnalise = listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento == proximoStatus[0].id)\r\n }\r\n\r\n let formData = new FormData();\r\n\r\n if (listaFile.length > 0 && statusAnaliseAcao == 'Reprovar' && relacaoAlterarAnalise.length > 0) {\r\n for (var x = 0; x < listaFile.length; x++) {\r\n formData.append('File', listaFile[x]);\r\n formData.append('IdSolicitacao', id);\r\n formData.append('IdUsuario', usuario.id);\r\n formData.append('IdTipoDocumentoArquivo', parseInt(tipoDocumentoArquivo));\r\n formData.append('StatusReprovado', true);\r\n formData.append('IdSolicitacaoFornecimentoVersaoStatus', relacaoAlterarAnalise[0].id);\r\n if (descricaoObservacaoReprovado != '')\r\n formData.append('Observacao', descricaoObservacaoReprovado);\r\n }\r\n setListaFile([]);\r\n dispatch(InserirSolicitacaoFornecimentoDocumentoArquivoRequest(formData, id));\r\n handleClose();\r\n } else {\r\n toast.error('Para continuar insira um documento');\r\n }\r\n }\r\n\r\n function FinalizarOrcamento() {\r\n\r\n // Pega o status a ser inserido (próximo)\r\n let proximoStatus = [];\r\n var verificacao = true;\r\n\r\n if (listaStatusSolicitacaoFornecimentoCompleto != undefined) {\r\n proximoStatus = listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.descricaoSolicitacaoFornecimentoVersao == finalizarOrcamento);\r\n }\r\n\r\n // Caso o status é orçamento e já está criado, busca o status para altera-lo\r\n let finalizarAnalise = [];\r\n\r\n if (proximoStatus.length > 0) {\r\n finalizarAnalise = listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento == proximoStatus[0].id)\r\n }\r\n\r\n // Verificar se é fornecedor\r\n if (usuarioCompleto != null && !usuarioCompleto.usuarioFornecedor) {\r\n toast.error(\"Você precisa ser fornecedor para finalizar o orçamento!\");\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n // Verifica número de subitens na solicitação\r\n if (listaSolicitacaoFornecimentoVersaoSubitemCusto != undefined && solicitacaoFornecimento != null &&\r\n solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel != null && listaSolicitacaoFornecimentoVersaoSubitemCusto\r\n .filter((solicitacao) => solicitacao.idSolicitacaoFornecimentoVersao\r\n === solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id).length == 0) {\r\n\r\n toast.error(\"Para finalizar o orçamento é preciso que a solicitação tenha itens inseridos!\");\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n // Verifica se tem pelo menos 1 subitem ativo para continuar\r\n var ativo = false;\r\n var verificaAtivoLista = [];\r\n\r\n if (listaSolicitacaoFornecimentoVersaoSubitemCusto != undefined && solicitacaoFornecimento != null &&\r\n solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel != null) {\r\n\r\n verificaAtivoLista = listaSolicitacaoFornecimentoVersaoSubitemCusto\r\n .filter((solicitacao) => solicitacao.idSolicitacaoFornecimentoVersao === solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.id);\r\n }\r\n\r\n if (verificaAtivoLista.length > 0) {\r\n\r\n verificaAtivoLista.map(x => {\r\n if (x.ativo == true) {\r\n ativo = true;\r\n }\r\n })\r\n\r\n if (ativo == false) {\r\n toast.error(\"Para fazer a análise é preciso que a solicitação tenha pelo menos 1 item ativo!\");\r\n verificacao = false;\r\n return;\r\n }\r\n }\r\n\r\n if (verificacao && finalizarAnalise.length > 0) {\r\n let data = {\r\n 'Id': finalizarAnalise[0].id,\r\n 'IdSolicitacaoFornecimentoVersao': finalizarAnalise[0].idSolicitacaoFornecimentoVersao,\r\n 'IdStatusSolicitacaoFornecimento': finalizarAnalise[0].idStatusSolicitacaoFornecimento,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoReprovado': descricaoObservacaoReprovado,\r\n 'StatusAprovado': false,\r\n 'StatusReprovado': false,\r\n 'ObservacaoCancelado': '',\r\n 'AnaliseConcluida': true,\r\n 'IdSolicitacaoFornecimento': parseInt(id),\r\n 'DataOrcamentoFinalizado': moment((new Date())).add('hours', 2),\r\n 'IdUsuarioOrcamentoFinalizado': usuario.id,\r\n 'DataOrcamentoSolicitado': finalizarAnalise[0].dataOrcamentoSolicitado,\r\n 'IdUsuarioOrcamentoSolicitado': finalizarAnalise[0].idUsuarioOrcamentoSolicitado\r\n }\r\n setFinalizarOrcamento('');\r\n handleCloseFinalizarOrcamento();\r\n dispatch(AlterarSolicitacaoFornecimentoVersaoStatusRequest(data, id, true));\r\n }\r\n\r\n handleCloseFinalizarOrcamento();\r\n }\r\n\r\n // Análise de orçamento reprovada e abre o modal para inserir observação e confirmação\r\n function FinalizarOrcamentoConfirmacao(descricao) {\r\n\r\n setFinalizarOrcamento(descricao);\r\n handleShowFinalizarOrcamento();\r\n }\r\n\r\n function ArrumarData(rowData) {\r\n\r\n let resposta = '';\r\n\r\n if (rowData != undefined && rowData != null && rowData.dataOrcaSoli != null) {\r\n\r\n let dataCriacao = moment(rowData.dataOrcaSoli);\r\n let dataPrazo = dataCriacao.add('days', 30);\r\n let dataAtual = moment((new Date())).add('hours', 2);\r\n\r\n var diferencaPrazoEAtual = moment(moment(dataPrazo).diff(dataAtual));\r\n var diferencaAtualEPrazo = moment(moment(dataAtual).diff(dataPrazo));\r\n\r\n if (rowData.statusSolicitaOrcamento == true && rowData.analiseConcluida == false &&\r\n parseInt((moment.duration(diferencaPrazoEAtual).asHours())) > 0) {\r\n\r\n resposta = parseInt(moment.duration(diferencaPrazoEAtual).asDays()).toString() + ' dia(s) e ';\r\n resposta += (parseInt(moment.duration(diferencaPrazoEAtual).asHours()) - parseInt(moment.duration(diferencaPrazoEAtual).asDays()) * 24).toString() + 'hora(s)';\r\n\r\n } else if (rowData.statusSolicitaOrcamento == true && rowData.analiseConcluida == false &&\r\n parseInt((moment.duration(diferencaAtualEPrazo).asHours())) > 0) {\r\n\r\n resposta = parseInt(moment.duration(diferencaAtualEPrazo).asDays()).toString() + ' dia(s) e ';\r\n resposta += (parseInt(moment.duration(diferencaAtualEPrazo).asHours()) - parseInt(moment.duration(diferencaAtualEPrazo).asDays()) * 24).toString() + 'hora(s)';\r\n\r\n }\r\n\r\n }\r\n\r\n return resposta;\r\n }\r\n\r\n\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n \r\n \r\n \r\n {\r\n // Verifica se a solicitação esta finalizada\r\n id != undefined && listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true)[0].id).length > 0\r\n ?\r\n dispatch(ListarCompletoAutorizacaoFornecimentoComRedirecionamentoRequest(id))}\r\n disabled={\r\n listaUsuarioFornecedor != undefined && usuario != null && solicitacaoFornecimento != null\r\n && usuarioCompleto != null ?\r\n\r\n usuarioCompleto.usuarioFornecedor == false ? false :\r\n\r\n listaUsuarioFornecedor.filter(x => x.idFornecedor == solicitacaoFornecimento.idFornecedor\r\n && x.idUsuario == usuario.id).length > 0 ?\r\n false\r\n :\r\n true\r\n :\r\n true\r\n }>\r\n Ir para Autorização\r\n \r\n :\r\n inserir == true ?\r\n contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id && contratoUsu.cancelaSolicitacao === true).length === 0)\r\n ? true\r\n :\r\n // Verifica se a solicitação está cancelada ou finalizada\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true)[0].id).length > 0\r\n ||\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true)[0].id).length > 0\r\n ?\r\n true\r\n :\r\n false\r\n :\r\n null\r\n }\r\n variant={\"danger\"}\r\n style={{ width: '100%' }}\r\n onClick={() => CancelarSolicitacao(\"Cancelado\")}>\r\n Cancelar Solicitação\r\n \r\n :\r\n ''\r\n\r\n\r\n }\r\n \r\n \r\n {usuarioCompleto != null && usuarioCompleto.grupoAcesso != null && usuarioCompleto.grupoAcesso.nomeGrupo == 'Super Administrador' ?\r\n ExcluirUltimoStatus()}>\r\n Voltar status\r\n \r\n : ''\r\n }\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n }\r\n columns={[\r\n {\r\n title: 'Status', field: 'status', cellStyle: {\r\n width: '30%'\r\n }\r\n },\r\n {\r\n title: 'Nome', field: 'usuario', cellStyle: {\r\n width: '12.5%'\r\n }\r\n },\r\n {\r\n title: 'Data', field: 'dataInclusao', cellStyle: {\r\n width: '12.5%'\r\n }\r\n },\r\n {\r\n title: 'Data da Solicitação Orçamento', field: 'dataOrcamentoSolicitado', cellStyle: {\r\n width: '12.5%'\r\n }, render: rowData =>\r\n rowData.usuarioOrcamentoSolicitado != '' && rowData.statusSolicitaOrcamento ?\r\n rowData.dataOrcamentoSolicitado : ''\r\n },\r\n {\r\n title: 'Prazo Restante', field: 'prazoOrcamento', cellStyle: {\r\n width: '12.5%'\r\n }, render: rowData => ArrumarData(rowData)\r\n\r\n },\r\n {\r\n title: 'Ação', field: 'aprovacao', cellStyle: {\r\n width: '20%'\r\n }\r\n }/*,\r\n {\r\n title: 'Orçamento Solicitado (Cliente)', field: 'usuarioOrcamentoSolicitado', cellStyle: {\r\n width: '8%'\r\n },\r\n editable: 'never',\r\n render: rowData =>\r\n rowData.usuarioOrcamentoSolicitado != '' && rowData.statusSolicitaOrcamento ?\r\n \r\n :\r\n ''\r\n },\r\n {\r\n title: 'Orçamento Finalizado (Fornecedor)', field: 'usuarioOrcamentoFinalizado', cellStyle: {\r\n width: '8%'\r\n },\r\n editable: 'never',\r\n render: rowData =>\r\n rowData.analiseConcluida == true ?\r\n \r\n :\r\n ''\r\n }*/\r\n ]}\r\n data={\r\n // Lista de status que ja foram inseridos\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined ?\r\n listaSolicitacaoFornecimentoVersaoStatus.map(status => {\r\n if (listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true)[0].id).length > 0 &&\r\n status.statusSolicitacaoFornecimento != null && status.statusSolicitacaoFornecimento.statusAnalise &&\r\n status.statusAprovado != true && status.statusReprovado != true) {\r\n return null;\r\n }\r\n else {\r\n return {\r\n // Lista os status atuais\r\n observacaoCancelado: status.observacaoCancelado,\r\n observacaoReprovado: status.observacaoReprovado,\r\n usuarioOrcamentoFinalizado: status.idUsuarioOrcamentoFinalizado != null ? status.usuarioOrcamentoFinalizado.nome : '',\r\n usuarioOrcamentoSolicitado: status.idUsuarioOrcamentoSolicitado != null ? status.usuarioOrcamentoSolicitado.nome : '',\r\n dataOrcamentoSolicitado: moment(status.dataOrcamentoSolicitado).format('L'),\r\n dataOrcamentoFinalizado: moment(status.dataOrcamentoFinalizado).format('L'),\r\n dataOrcaSoli: status.dataOrcamentoSolicitado,\r\n analiseConcluida: status.analiseConcluida,\r\n statusSolicitaOrcamento: status.statusSolicitacaoFornecimento.solicitaOrcamentoSolicitacao,\r\n status:\r\n status.statusSolicitacaoFornecimento != null &&\r\n status.statusSolicitacaoFornecimento.cancelaSolicitacao == true ?\r\n
{status.statusSolicitacaoFornecimento.descricaoSolicitacaoFornecimentoVersao}\r\n\r\n
\r\n :\r\n status.statusSolicitacaoFornecimento.statusAnalise ?\r\n status.statusAprovado == true ?\r\n
{status.statusSolicitacaoFornecimento.descricaoSolicitacaoFornecimentoVersao} (Aprovada)
\r\n :\r\n status.statusReprovado == true ?\r\n
{status.statusSolicitacaoFornecimento.descricaoSolicitacaoFornecimentoVersao} (Reprovada)\r\n\r\n
\r\n :\r\n
{status.statusSolicitacaoFornecimento.descricaoSolicitacaoFornecimentoVersao}
\r\n :\r\n
{status.statusSolicitacaoFornecimento.descricaoSolicitacaoFornecimentoVersao}
,\r\n\r\n\r\n\r\n usuario:\r\n status.statusSolicitacaoFornecimento.statusAnalise ?\r\n status.statusAprovado == true || status.statusReprovado == true ? status.usuario.nome : ''\r\n :\r\n status.usuario.nome,\r\n dataInclusao:\r\n status.statusSolicitacaoFornecimento.statusAnalise ?\r\n status.statusAprovado == true || status.statusReprovado == true\r\n ? moment(status.dataStatus).format('L LTS') : ''\r\n : moment(status.dataStatus).format('L LTS'),\r\n aprovacao:\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true)[0].id).length > 0 ?\r\n status.statusSolicitacaoFornecimento.cancelaSolicitacao == true ?\r\n contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id && contratoUsu.cancelaSolicitacao === true).length === 0) ? true : false\r\n :\r\n null\r\n }\r\n >Reativar Solicitação\r\n :\r\n ''\r\n :\r\n status.statusSolicitacaoFornecimento.statusAnalise ?\r\n status.statusAprovado ?\r\n ''\r\n :\r\n status.statusReprovado ?\r\n \r\n :\r\n \r\n \r\n AprovarSolicitacaoStatusAnaliseOrcamento(listaStatusSolicitacaoFornecimentoCompleto.\r\n filter(x => x.id == status.idStatusSolicitacaoFornecimento).length > 0 ? listaStatusSolicitacaoFornecimentoCompleto.\r\n filter(x => x.id == status.idStatusSolicitacaoFornecimento)[0].descricaoSolicitacaoFornecimentoVersao : 0\r\n )}\r\n disabled={\r\n listaContratoUsuario != undefined && contratoCompleto != undefined ?\r\n status.statusSolicitacaoFornecimento.permissaoAnalisarOrcamento == true && (listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id && contratoUsu.analisaOrcamentoSolicitacao === true).length === 0) ? true : false\r\n :\r\n null\r\n }\r\n > Aprovar {status.statusSolicitacaoFornecimento.descricaoSolicitacaoFornecimentoVersao.\r\n substring(status.statusSolicitacaoFornecimento.descricaoSolicitacaoFornecimentoVersao.lastIndexOf(\" \") + 1)}\r\n \r\n \r\n ReprovarSolicitacaoStatusAnaliseOrcamento(listaStatusSolicitacaoFornecimentoCompleto.\r\n filter(x => x.id == status.idStatusSolicitacaoFornecimento).length > 0 ? listaStatusSolicitacaoFornecimentoCompleto.\r\n filter(x => x.id == status.idStatusSolicitacaoFornecimento)[0].descricaoSolicitacaoFornecimentoVersao : 0\r\n )}\r\n disabled={\r\n listaContratoUsuario != undefined && contratoCompleto != undefined ?\r\n status.statusSolicitacaoFornecimento.permissaoAnalisarOrcamento == true && (listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id && contratoUsu.analisaOrcamentoSolicitacao === true).length === 0) ? true : false\r\n :\r\n null\r\n }\r\n > Reprovar {status.statusSolicitacaoFornecimento.descricaoSolicitacaoFornecimentoVersao.\r\n substring(status.statusSolicitacaoFornecimento.descricaoSolicitacaoFornecimentoVersao.lastIndexOf(\" \") + 1)}\r\n \r\n \r\n \r\n :\r\n ''\r\n }\r\n }\r\n // Lista os status futuros (que faltam ser inseridos)\r\n }).filter(Boolean).concat(\r\n listaStatusSolicitacaoFornecimentoCompleto.map(statusSol => {\r\n if (listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true)[0].id).length > 0\r\n ||\r\n (listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.statusAnalise == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.statusAnalise == true)[0].id).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.statusAnalise == true)[0].id)[0].statusReprovado == true)\r\n ) {\r\n return null\r\n } else {\r\n if (statusSol.idStatusSolicitacaoAnterior == null || (listaSolicitacaoFornecimentoVersaoStatus.\r\n filter(x => x.idStatusSolicitacaoFornecimento == statusSol.id))[0] != undefined) {\r\n return null\r\n } else {\r\n return {\r\n status:
{statusSol.descricaoSolicitacaoFornecimentoVersao}
,\r\n usuario: '',\r\n dataInclusao: '',\r\n aprovacao:\r\n listaSolicitacaoFornecimentoVersaoStatus.filter\r\n (x => x.idStatusSolicitacaoFornecimento == statusSol.idStatusSolicitacaoAnterior).length > 0 &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.id == statusSol.idStatusSolicitacaoAnterior).length > 0 &&\r\n (listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.id == statusSol.idStatusSolicitacaoAnterior)[0].statusAnalise\r\n ?\r\n (listaSolicitacaoFornecimentoVersaoStatus.filter\r\n (x => x.idStatusSolicitacaoFornecimento == statusSol.idStatusSolicitacaoAnterior)[0].statusAprovado == true)\r\n :\r\n true)\r\n ?\r\n inserir == true\r\n ?\r\n contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id && contratoUsu.analisaOrcamentoSolicitacao === true).length === 0)\r\n ||\r\n statusSol.permissaoAprovar == true && (listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id && contratoUsu.aprovaSolicitacao === true).length === 0)\r\n ||\r\n statusSol.permissaoFinalizar == true && (listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id && contratoUsu.finalizaSolicitacao === true).length === 0)\r\n ? true : false\r\n :\r\n null\r\n }\r\n variant=\"success\"\r\n onClick={() => ValidarProximoStatus(statusSol.descricaoSolicitacaoFornecimentoVersao)}>\r\n {statusSol.statusAnalise == true ? 'Fazer Análise' :\r\n statusSol.solicitaOrcamentoSolicitacao ? 'Pedir Orçamento'\r\n :\r\n 'Mudar Status'}\r\n \r\n :\r\n ''\r\n :\r\n ''\r\n }\r\n }\r\n }\r\n }).filter(Boolean)\r\n )\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n filtering: true,\r\n grouping: false,\r\n rowStyle:\r\n rowData => ({\r\n backgroundColor:\r\n rowData.statusSolicitaOrcamento == true && parseInt((moment.duration(moment(moment((new Date())).add('hours', 2)).diff(moment(rowData.dataOrcaSoli)\r\n .add('days', 30))).asDays())) > 0 && rowData.analiseConcluida == false ? '#F7D1D1' :\r\n (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'download',\r\n onClick: (event, rowData) => BaixarDocumento(rowData),\r\n hidden: documentos != undefined && solicitacaoFornecimento != undefined && relacaoIdStatus.length > 0 &&\r\n documentos.filter(m => m.statusReprovado == true &&\r\n m.idSolicitacaoFornecimentoVersaoStatus == relacaoIdStatus[0].id &&\r\n solicitacaoFornecimento.solicitacaoFornecimentoVersaoStatusApiModel.statusReprovado == true).length > 0 ?\r\n rowData.status.props.children.length > 1 && rowData.status.props.children[1] == ' (Reprovada)' ?\r\n false\r\n :\r\n true\r\n :\r\n true\r\n }),\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: {'Obervação Reprovado: ' + rowData.observacaoReprovado},\r\n hidden: rowData.observacaoReprovado == '' || rowData.observacaoReprovado == undefined ? true : false,\r\n }),\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: {'Obervação Cancelado: ' + rowData.observacaoCancelado},\r\n hidden: rowData.observacaoCancelado == '' || rowData.observacaoCancelado == undefined ? true : false,\r\n }),\r\n rowData => ({\r\n icon: (rowData) => ,\r\n tooltip: {'Esta solicitação já possui registro fotográfico'},\r\n hidden: listaRegistroFotografico != undefined && listaRegistroFotografico.length > 0 &&\r\n rowData.status.props.children == \"Inicial\" ? false : true,\r\n }),\r\n rowData => ({\r\n icon: (rowData) => ,\r\n tooltip: {'Esta solicitação já possui um número de ofício'},\r\n hidden: solicitacaoFornecimento != undefined && solicitacaoFornecimento.numeroOficio != undefined &&\r\n solicitacaoFornecimento.numeroOficio != null && solicitacaoFornecimento.numeroOficio != '' &&\r\n rowData.status.props.children == \"Inicial\" ? false : true,\r\n }),\r\n rowData => ({\r\n icon: (rowData) => ,\r\n tooltip: {'Esta solicitação já possui um arquivo do tipo ofício'},\r\n hidden: documentos != undefined && documentos.length > 0 && documentos.filter(t => t.tipoDocumentoArquivo.descricao == 'OFÍCIO').length > 0 &&\r\n rowData.status.props.children == \"Inicial\" ? false : true,\r\n })\r\n ]}\r\n localization={{\r\n header: {\r\n actions: 'Info'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: 'Pesquisar',\r\n searchPlaceholder: 'Pesquisar'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n }\r\n \r\n
\r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n \r\n \r\n \r\n Você deseja Cancelar essa Solicitação?\r\n \r\n \r\n \r\n Observação\r\n setDescricaoObservacaoCancelado(e.target.value)}\r\n required\r\n as=\"textarea\"\r\n rows=\"5\"\r\n maxLength=\"500\"\r\n isInvalid={validated && descricaoObservacaoCancelado.trim() === \"\" ? true : false}\r\n isValid={validated && descricaoObservacaoCancelado.trim() !== \"\" ? true : false}\r\n />\r\n O campo Descrição é obrigatório.\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n inserir == 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 Atenção\r\n \r\n \r\n \r\n \r\n \r\n Você deseja Mudar de Status?\r\n \r\n \r\n \r\n \r\n \r\n {\r\n inserir == 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 Atenção\r\n \r\n \r\n \r\n \r\n \r\n Ao avançar, sem o reaproveitamento dos itens, será criado uma nova versão da solicitação,\r\n caso contrário, poderá selecionar a opção de manter os itens e a versão da solicitação, como deseja prosseguir?\r\n \r\n { setManterItens(!manterItens) }}\r\n checked={manterItens}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n inserir == 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 Atenção\r\n \r\n \r\n \r\n \r\n \r\n Você realmente deseja finalizar o orçamento?\r\n \r\n \r\n \r\n \r\n \r\n {\r\n inserir == 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 Atenção\r\n \r\n \r\n \r\n \r\n \r\n Você deseja reprovar essa análise?\r\n \r\n \r\n \r\n Descrição\r\n setDescricaoObservacaoReprovado(e.target.value)}\r\n required\r\n as=\"textarea\"\r\n rows=\"5\"\r\n maxLength=\"500\"\r\n isInvalid={validatedReprovado && descricaoObservacaoReprovado.trim() === \"\" ? true : false}\r\n isValid={validatedReprovado && descricaoObservacaoReprovado.trim() !== \"\" ? true : false}\r\n />\r\n O campo Descrição é 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 setListaFile(files)}\r\n filesLimit={1}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 1 arquivo`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={30000000}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n Tipo documento arquivo\r\n setTipoDocumentoArquivo(e.target.value)}\r\n value={tipoDocumentoArquivo}\r\n isValid={validated && tipoDocumentoArquivo !== undefined\r\n || validated && tipoDocumentoArquivo !== '' ? true : false}>\r\n \r\n {\r\n listaTipoDocumentoArquivo != undefined ?\r\n listaTipoDocumentoArquivo.map(m => (\r\n \r\n ))\r\n :\r\n 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 inserir == 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}","export function ListarCompletoSolicitacaoFornecimentoRegistroFotograficoRequest(idSolicitacao) {\r\n return {\r\n type: 'LISTAR_COMPLETO_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST',\r\n idSolicitacao\r\n }\r\n}\r\n\r\nexport function ListarSolicitacaoFornecimentoRegistroFotograficoRequest() {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarSolicitacaoFornecimentoRegistroFotograficoResponse(listaSolicitacaoFornecimentoRegistroFotografico) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_RESPONSE',\r\n listaSolicitacaoFornecimentoRegistroFotografico\r\n }\r\n}\r\n\r\nexport function InserirSolicitacaoFornecimentoRegistroFotograficoRequest(data, idSolicitacao) {\r\n return {\r\n type: 'INSERIR_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST',\r\n data, idSolicitacao\r\n }\r\n}\r\n\r\nexport function AlterarSolicitacaoFornecimentoRegistroFotograficoRequest(data, idSolicitacao) {\r\n return {\r\n type: 'ALTERAR_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST',\r\n data, idSolicitacao\r\n }\r\n}\r\n\r\nexport function ExcluirSolicitacaoFornecimentoRegistroFotograficoRequest(id, idSolicitacao) {\r\n return {\r\n type: 'EXCLUIR_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST',\r\n id, idSolicitacao\r\n }\r\n}\r\n\r\nexport function BaixarSolicitacaoFornecimentoRegistroFotograficoRequest(id) {\r\n return {\r\n type: 'BAIXAR_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function CarregarImagemSolicitacaoFornecimentoRegistroFotograficoRequest(id) {\r\n return {\r\n type: 'CARREGAR_IMAGEM_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { useEffect, useState } from \"react\";\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport { Button, Alert, Row, Col, Modal, Form } from \"react-bootstrap\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n AlterarSolicitacaoFornecimentoRegistroFotograficoRequest, ListarCompletoSolicitacaoFornecimentoRegistroFotograficoRequest,\r\n ExcluirSolicitacaoFornecimentoRegistroFotograficoRequest, InserirSolicitacaoFornecimentoRegistroFotograficoRequest,\r\n BaixarSolicitacaoFornecimentoRegistroFotograficoRequest, CarregarImagemSolicitacaoFornecimentoRegistroFotograficoRequest\r\n} from \"../../../store/modules/solicitacaoFornecimentoRegistroFotografico/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { ListarStatusSolicitacaoFornecimentoRequest } from '../../../store/modules/statusSolicitacaoFornecimento/actions';\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function RegistroFotografico() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const listaRegistroFotografico = useSelector(state => state.solicitacaoFornecimentoRegistroFotografico.listaSolicitacaoFornecimentoRegistroFotografico);\r\n const listaSolicitacaoFornecimentoVersaoStatus = useSelector(state =>\r\n state.solicitacaoFornecimentoVersaoStatus.listaSolicitacaoFornecimentoVersaoStatus);\r\n const listaStatusSolicitacaoFornecimentoCompleto = useSelector(state => state.statusSolicitacaoFornecimento.listaStatusSolicitacaoFornecimentoCompleto);\r\n const solicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.solicitacaoFornecimentoCompleto);\r\n\r\n const [listaFile, setListaFile] = useState([]);\r\n const [observacao, setObservacao] = useState('');\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [showFoto, setShowFoto] = useState(false);\r\n const [show, setShow] = useState(false);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const handleFotoShow = () => setShowFoto(true);\r\n const handleFotoClose = () => setShowFoto(false);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n const [excluir, setExcluir] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoExcluir\").length == 1) {\r\n setExcluir(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n //dispatch(ListarStatusSolicitacaoFornecimentoRequest());\r\n\r\n if (id != undefined) {\r\n dispatch(ListarCompletoSolicitacaoFornecimentoRegistroFotograficoRequest(id));\r\n }\r\n\r\n }, [id])\r\n\r\n function InserirRegistroFotografico() {\r\n\r\n let formData = new FormData();\r\n\r\n if (listaFile.length > 0) {\r\n for (var x = 0; x < listaFile.length; x++) {\r\n formData.append('File', listaFile[x]);\r\n formData.append('IdUsuario', usuario.id);\r\n formData.append('IdSolicitacao', id);\r\n if (observacao != '')\r\n formData.append('Observacao', observacao);\r\n }\r\n setObservacao('');\r\n setListaFile([]);\r\n dispatch(InserirSolicitacaoFornecimentoRegistroFotograficoRequest(formData, id));\r\n handleClose();\r\n } else {\r\n toast.error('Para continuar insira um documento');\r\n }\r\n }\r\n\r\n function AlterarRegistroFotografico(registroFotografico, novoValorCampoEditado, colunaEditada) {\r\n\r\n // Valida alteração do campo nome arquivo\r\n if (colunaEditada.field == \"nomeRegistroFotografico\") {\r\n\r\n if (novoValorCampoEditado == null || novoValorCampoEditado == undefined\r\n || novoValorCampoEditado == ' ' || novoValorCampoEditado == '') {\r\n\r\n toast.error(`Nome do registro fotográfico inválido`);\r\n return;\r\n }\r\n\r\n if (novoValorCampoEditado.length > 150) {\r\n toast.error(`O nome do registro fotográfico não pode conter mais que 150 caracteres`);\r\n return;\r\n }\r\n }\r\n\r\n // Valida alteração do campo observação\r\n if (colunaEditada.field == \"observacao\") {\r\n if (novoValorCampoEditado.length > 500) {\r\n toast.error(`A observação não pode conter mais que 500 caracteres`);\r\n return;\r\n }\r\n }\r\n\r\n if (colunaEditada != null) {\r\n\r\n let data = {\r\n 'Id': registroFotografico.id,\r\n 'IdSolicitacaoFornecimento': registroFotografico.idSolicitacaoFornecimento,\r\n 'Latitude': '0',\r\n 'Longitude': '0',\r\n 'FotoGuid': registroFotografico.fotoGuid,\r\n 'DataInclusao': registroFotografico.dataInclusaoApi,\r\n 'IdUsuario': usuario.id,\r\n 'NomeRegistroFotografico': colunaEditada.field == \"observacao\" ? registroFotografico.nomeRegistroFotografico : novoValorCampoEditado,\r\n 'DescricaoExtensaoArquivo': registroFotografico.descricaoExtensaoArquivo,\r\n 'Observacao': colunaEditada.field == \"observacao\" ? novoValorCampoEditado : registroFotografico.observacao\r\n };\r\n\r\n dispatch(AlterarSolicitacaoFornecimentoRegistroFotograficoRequest(data, id));\r\n }\r\n }\r\n\r\n function ExcluirRegistroFotografico(idRegistroFotografico) {\r\n dispatch(ExcluirSolicitacaoFornecimentoRegistroFotograficoRequest(idRegistroFotografico, id));\r\n }\r\n\r\n function BaixarRegistroFotografico(idRegistroFotografico) {\r\n dispatch(BaixarSolicitacaoFornecimentoRegistroFotograficoRequest(idRegistroFotografico));\r\n }\r\n\r\n function VisualizarRegistroFotografico(linha) {\r\n dispatch(CarregarImagemSolicitacaoFornecimentoRegistroFotograficoRequest(linha.id));\r\n handleFotoShow();\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n Adicionar Registro Fotográfico\r\n :\r\n '')\r\n :\r\n ''\r\n }\r\n columns={[\r\n {\r\n title: \"Número do Registro\", field: 'id', defaultSort: 'desc', editable: 'never', cellStyle: {\r\n width: '10%',\r\n }\r\n },\r\n {\r\n title: \"Nome\", field: 'nomeRegistroFotografico', cellStyle: {\r\n width: '22.5%'\r\n }\r\n },\r\n {\r\n title: \"Usuário\", field: 'usuario', editable: 'never', cellStyle: {\r\n width: '22.5%'\r\n }\r\n },\r\n {\r\n title: \"Data\", field: 'dataInclusao', editable: 'never', cellStyle: {\r\n width: '22.5%'\r\n }\r\n },\r\n {\r\n title: \"Observação\", field: 'observacao', cellStyle: {\r\n width: '22.5%'\r\n },\r\n render: rowData => rowData.observacao == '' ?\r\n
\r\n : rowData.observacao\r\n }\r\n ]}\r\n data={\r\n listaRegistroFotografico != undefined ?\r\n listaRegistroFotografico.map(doc => {\r\n return {\r\n id: doc.id,\r\n nomeRegistroFotografico: doc.nomeRegistroFotografico,\r\n usuario: doc.usuario.nome,\r\n dataInclusao: moment(doc.dataInclusao).format('L LT'),\r\n observacao: doc.observacao,\r\n\r\n // Info para alteração de documento arquivo\r\n dataInclusaoApi: doc.dataInclusao,\r\n descricaoExtensaoArquivo: doc.descricaoExtensaoArquivo,\r\n fotoGuid: doc.fotoGuid,\r\n idSolicitacaoFornecimento: doc.idSolicitacaoFornecimento,\r\n idUsuario: doc.idUsuario\r\n }\r\n })\r\n :\r\n []\r\n }\r\n cellEditable={{\r\n onCellEditApproved: (newValue, oldValue, rowData, columnDef) => {\r\n return new Promise((resolve, reject) => {\r\n alterar == true ?\r\n setTimeout(() => {\r\n AlterarRegistroFotografico(rowData, newValue, columnDef);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n });\r\n }\r\n }}\r\n editable={{\r\n isDeleteHidden: () => listaSolicitacaoFornecimentoVersaoStatus != undefined &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n .filter(x => x.statusSolicitacaoFornecimento\r\n .descricaoSolicitacaoFornecimentoVersao == \"Reprovado/Encerrado\" ||\r\n x.statusSolicitacaoFornecimento.cancelaSolicitacao == true ||\r\n x.statusSolicitacaoFornecimento.finalizaSolicitacao == true).length == 1,\r\n onRowDelete:\r\n (id != undefined)\r\n /*listaSolicitacaoFornecimentoVersaoStatus != undefined)\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.statusAtual == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.statusAtual == true)[0]\r\n .statusSolicitacaoFornecimento.permiteAlterarSolicitacao)*/\r\n ?\r\n oldData =>\r\n new Promise((resolve, reject) => {\r\n excluir == true\r\n ?\r\n (listaSolicitacaoFornecimentoVersaoStatus != undefined &&\r\n listaSolicitacaoFornecimentoVersaoStatus\r\n .filter(x => x.statusSolicitacaoFornecimento\r\n .descricaoSolicitacaoFornecimentoVersao == \"Reprovado/Encerrado\" ||\r\n x.statusSolicitacaoFornecimento.cancelaSolicitacao == true ||\r\n x.statusSolicitacaoFornecimento.finalizaSolicitacao == true).length == 1)\r\n ?\r\n setTimeout(() => {\r\n resolve()\r\n toast.error('Não é possível realizar operações pois essa solicitação está Reprovada/Encerrada');\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n ExcluirRegistroFotografico(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n : null,\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n exportButton: false,\r\n exportAllData: true,\r\n filtering: true,\r\n grouping: false,\r\n exportFileName: 'tabelaExportada',\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'visibility',\r\n onClick: (event, rowData) => { VisualizarRegistroFotografico(rowData) }\r\n }),\r\n {\r\n icon: 'download',\r\n onClick: (event, rowData) => BaixarRegistroFotografico(rowData.id)\r\n },\r\n ]}\r\n localization={{\r\n header: {\r\n actions: 'Ações'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n }\r\n {\r\n id != undefined && listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Solicitação está Cancelada!\r\n \r\n \r\n :\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaStatusSolicitacaoFornecimentoCompleto != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true).length > 0 &&\r\n listaSolicitacaoFornecimentoVersaoStatus.filter(x => x.idStatusSolicitacaoFornecimento ==\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Solicitação está Finalizada!\r\n \r\n \r\n :\r\n listaSolicitacaoFornecimentoVersaoStatus != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1] != undefined && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento != null && listaSolicitacaoFornecimentoVersaoStatus\r\n [listaSolicitacaoFornecimentoVersaoStatus.length - 1].statusSolicitacaoFornecimento.somenteLeitura == true ?\r\n \r\n \r\n Status atual desta solicitação só permite leitura!\r\n \r\n \r\n :\r\n ''\r\n }\r\n \r\n
\r\n \r\n \r\n Registro Fotográfico\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setListaFile(files)}\r\n filesLimit={10}\r\n acceptedFiles={['image/png, image/jpeg, image/jpg']}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 10 arquivos`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={30000000}\r\n />\r\n
\r\n
\r\n \r\n Observacao\r\n setObservacao(e.target.value)} />\r\n O campo Descrição Objeto é 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}","export function ListarSolicitacaoFornecimentoHistoricoRequest(data) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function ListarSolicitacaoFornecimentoHistoricoResponse(listaSolicitacaoFornecimentoHistorico) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_RESPONSE',\r\n listaSolicitacaoFornecimentoHistorico\r\n }\r\n }\r\n\r\n export function ListarSolicitacaoFornecimentoHistoricoComRedirecionamentoRequest(idSolicitacao) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_COM_REDIRECIONAMENTO_REQUEST',\r\n idSolicitacao\r\n }\r\n }\r\n \r\n export function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n }","import { useEffect, useState } from \"react\";\r\nimport { Col, Button, Row } from \"react-bootstrap\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { ListarCompletoSolicitacaoFornecimentoVersaoRequest } from \"../../../store/modules/solicitacaoFornecimentoVersao/actions\";\r\nimport { BaixarDocumentoRequest } from \"../../../store/modules/global/actions\";\r\nimport {\r\n ListarEventoAdicionalRequest, ExcluirEventoAdicionalRequest,\r\n InserirEventoAdicionalRequest, AlterarEventoAdicionalRequest\r\n} from '../../../store/modules/eventoAdicional/actions';\r\nimport { ListarSolicitacaoFornecimentoHistoricoComRedirecionamentoRequest } from \"../../../store/modules/solicitacaoFornecimentoHistorico/actions\";\r\nimport MaterialTable from 'material-table';\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function HistoricoVersao() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const listaEventoAdicional = useSelector(state => state.eventoAdicional.listaEventoAdicional);\r\n const listaCompletaSolicitacaoFornecimentoVersao =\r\n useSelector(state => state.solicitacaoFornecimentoVersao.listaCompletaSolicitacaoFornecimentoVersao);\r\n const listaSolicitacaoFornecimentoVersaoStatus = useSelector(state =>\r\n state.solicitacaoFornecimentoVersaoStatus.listaSolicitacaoFornecimentoVersaoStatus);\r\n const carregando = useSelector(state => state.solicitacaoFornecimentoVersao.carregando);\r\n const solicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.solicitacaoFornecimentoCompleto);\r\n const documentos = useSelector(state => state.solicitacaoFornecimentoDocumentoArquivo.listaSolicitacaoFornecimentoDocumentoArquivo);\r\n\r\n const [listaHierarquiaCompleta, setListaHierarquiaCompleta] = useState([]);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n useEffect(() => {\r\n if (id != undefined)\r\n dispatch(ListarEventoAdicionalRequest(parseInt(id)));\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n if (id != undefined && solicitacaoFornecimento != null && solicitacaoFornecimento.tipoSolicitacao.servico ||\r\n id != undefined && solicitacaoFornecimento != null && solicitacaoFornecimento.tipoSolicitacao != null &&\r\n solicitacaoFornecimento.tipoSolicitacao.semOficio &&\r\n listaEventoAdicional != undefined && listaEventoAdicional.filter(x => x.tipoSolicitacao.servico == true).length > 0) {\r\n\r\n dispatch(ListarCompletoSolicitacaoFornecimentoVersaoRequest(id));\r\n }\r\n\r\n }, [id, listaSolicitacaoFornecimentoVersaoStatus])\r\n\r\n useEffect(() => {\r\n\r\n if (id != undefined) {\r\n constroiHierarquia();\r\n }\r\n\r\n }, [listaSolicitacaoFornecimentoVersaoStatus, listaCompletaSolicitacaoFornecimentoVersao])\r\n\r\n function constroiHierarquia() {\r\n\r\n let hierarquiaCompleta = [];\r\n\r\n if (listaCompletaSolicitacaoFornecimentoVersao != undefined) {\r\n listaCompletaSolicitacaoFornecimentoVersao.map((itemVersao) => {\r\n hierarquiaCompleta.push({\r\n id: itemVersao.id,\r\n observacao: itemVersao.observacao,\r\n numeroOrcamento: itemVersao.numeroOrcamento,\r\n dataVersao: moment(itemVersao.dataVersao).format('L LT'),\r\n usuario: itemVersao.usuario.nome,\r\n parentId: null,\r\n status: null,\r\n dataStatus: null,\r\n statusReprovado: null,\r\n statusAprovado: null,\r\n statusCancela: null\r\n });\r\n itemVersao.solicitacaoFornecimentoVersaoStatus.map((solicitacaoFornecimentoVersaoStatus) => {\r\n if (solicitacaoFornecimentoVersaoStatus.statusSolicitacaoFornecimento != null &&\r\n solicitacaoFornecimentoVersaoStatus.statusSolicitacaoFornecimento.statusAnalise &&\r\n (solicitacaoFornecimentoVersaoStatus.statusAprovado == false && solicitacaoFornecimentoVersaoStatus.statusReprovado == false) ||\r\n solicitacaoFornecimentoVersaoStatus.statusSolicitacaoFornecimento != null &&\r\n solicitacaoFornecimentoVersaoStatus.statusSolicitacaoFornecimento.solicitaOrcamentoSolicitacao &&\r\n solicitacaoFornecimentoVersaoStatus.analiseConcluida == false) {\r\n\r\n } else {\r\n hierarquiaCompleta.push({\r\n parentId: solicitacaoFornecimentoVersaoStatus.idSolicitacaoFornecimentoVersao,\r\n id: solicitacaoFornecimentoVersaoStatus.id,\r\n observacao: solicitacaoFornecimentoVersaoStatus.observacaoCancelado == '' ? solicitacaoFornecimentoVersaoStatus.observacaoReprovado\r\n : solicitacaoFornecimentoVersaoStatus.observacaoCancelado,\r\n numeroOrcamento: null,\r\n dataVersao: null,\r\n usuario: solicitacaoFornecimentoVersaoStatus.usuario.nome,\r\n status: solicitacaoFornecimentoVersaoStatus.statusSolicitacaoFornecimento.descricaoSolicitacaoFornecimentoVersao,\r\n dataStatus: moment(solicitacaoFornecimentoVersaoStatus.dataStatus).format('L LTS'),\r\n statusReprovado: solicitacaoFornecimentoVersaoStatus.statusReprovado,\r\n statusAprovado: solicitacaoFornecimentoVersaoStatus.statusAprovado,\r\n statusCancela: solicitacaoFornecimentoVersaoStatus.statusSolicitacaoFornecimento.cancelaSolicitacao\r\n });\r\n }\r\n })\r\n })\r\n }\r\n\r\n setListaHierarquiaCompleta(hierarquiaCompleta);\r\n }\r\n\r\n function BaixarDocumento(rowData) {\r\n\r\n var idDoc = documentos != undefined &&\r\n documentos.filter(m => moment(m.dataInclusao).format('L LTS') == rowData.dataStatus &&\r\n rowData.statusReprovado == true).length > 0 ?\r\n documentos.filter(m => moment(m.dataInclusao).format('L LTS') == rowData.dataStatus)[0].id\r\n :\r\n ''\r\n\r\n dispatch(BaixarDocumentoRequest(idDoc));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n carregando ?\r\n dispatch(ListarSolicitacaoFornecimentoHistoricoComRedirecionamentoRequest(id))}\r\n >\r\n Histórico Solicitação\r\n \r\n }\r\n columns={[\r\n {\r\n title: \"Número de Orçamento\", field: 'numeroOrcamento', editable: 'never', cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: \"Data Versão\", field: 'dataVersao', editable: 'never', cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: \"Data Status\", field: 'dataStatus', defaultSort: 'desc', editable: 'never', cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: \"Status\", field: 'status', cellStyle: {\r\n width: '20%'\r\n },\r\n render: rowData =>\r\n rowData.status == null ?\r\n ''\r\n :\r\n rowData.statusAprovado ?\r\n
{rowData.status} (Aprovada)
\r\n :\r\n rowData.statusReprovado ?\r\n
{rowData.status} (Reprovada)
\r\n :\r\n rowData.statusCancela ?\r\n
{rowData.status}
\r\n :\r\n
{rowData.status}
\r\n },\r\n {\r\n title: \"Observação\", field: 'observacao', cellStyle: {\r\n width: '20%'\r\n }\r\n },\r\n {\r\n title: \"Nome Usuário\", field: 'usuario', editable: 'never', cellStyle: {\r\n width: '15%'\r\n }\r\n }\r\n ]}\r\n data={listaHierarquiaCompleta}\r\n parentChildData={(row, rows) => rows.find(a => a.id === row.parentId)}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: rowData.parentId ?\r\n '#dcdcdc'\r\n : rowData.parentId ?\r\n '#BCB8B8'\r\n :\r\n '#BCB8B8'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'download',\r\n onClick: (event, rowData) => BaixarDocumento(rowData),\r\n hidden: documentos != undefined &&\r\n documentos.filter(m => moment(m.dataInclusao).format('L LTS') == rowData.dataStatus &&\r\n rowData.statusReprovado == true).length == 0\r\n ? true\r\n :\r\n false\r\n\r\n })\r\n ]}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: 'Pesquisar',\r\n searchPlaceholder: 'Pesquisar'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n },\r\n toolbar: {\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n }\r\n }}\r\n />\r\n :\r\n \r\n }\r\n \r\n
\r\n \r\n )\r\n}","import { Container, Row, Col, Form, Button, Modal, Tabs, Tab } from \"react-bootstrap\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n BuscarEventoAdicionalPorIdRequest,\r\n InserirEventoAdicionalRequest, AlterarEventoAdicionalRequest, LimparEventoAdicional\r\n} from '../../store/modules/eventoAdicional/actions';\r\nimport Select from 'react-select';\r\n\r\nexport default function ModalContratoVersao({ show, onHide, idEventoAdicional }) {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const listaTipoSolicitacao = useSelector(state => state.tipoSolicitacao.listaTipoSolicitacao);\r\n const listaUsuario = useSelector(state => state.usuario.listaUsuario);\r\n const listaOrgao = useSelector(state => state.orgao.listaOrgao);\r\n const eventoAdicionalCompleto = useSelector(state => state.eventoAdicional.eventoAdicionalCompleto);\r\n\r\n const [idTipoSolicitacao, setIdTipoSolicitacao] = useState('');\r\n const [idSolicitacaoFornecimento, setIdSolicitacaoFornecimento] = useState('');\r\n const [autorizador, setAutorizador] = useState('');\r\n const [destinatario, setDestinatario] = useState('');\r\n const [pagador, setPagador] = useState('');\r\n const [observacao, setObservacao] = useState('');\r\n const [cargaEstimada, setCargaEstimada] = useState('');\r\n const [numeroRefletores, setNumeroRefletores] = useState('');\r\n const [numeroOficio, setNumeroOficio] = useState('');\r\n const [validated, setValidated] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n if (idEventoAdicional != undefined) {\r\n dispatch(BuscarEventoAdicionalPorIdRequest(idEventoAdicional));\r\n }\r\n\r\n }, [idEventoAdicional])\r\n\r\n useEffect(() => {\r\n\r\n if (eventoAdicionalCompleto != null) {\r\n setIdTipoSolicitacao(eventoAdicionalCompleto.idTipoSolicitacao);\r\n setIdSolicitacaoFornecimento(eventoAdicionalCompleto.idSolicitacaoFornecimento);\r\n setAutorizador(eventoAdicionalCompleto.autorizador);\r\n setDestinatario(eventoAdicionalCompleto.destinatario);\r\n setPagador(eventoAdicionalCompleto.pagador);\r\n setObservacao(eventoAdicionalCompleto.observacao);\r\n setCargaEstimada(eventoAdicionalCompleto.cargaEstimada);\r\n setNumeroRefletores(eventoAdicionalCompleto.numeroRefletores);\r\n setNumeroOficio(eventoAdicionalCompleto.numeroOficio);\r\n }\r\n\r\n }, [eventoAdicionalCompleto])\r\n\r\n const handleSubmit = (event) => {\r\n\r\n const form = event.currentTarget;\r\n\r\n if (form.checkValidity() === false || (idTipoSolicitacao == '' || autorizador == '' || destinatario == '' || pagador == '' ||\r\n idTipoSolicitacao == false || autorizador == false || destinatario == false || pagador == false)) {\r\n\r\n setValidated(true);\r\n event.preventDefault();\r\n } else {\r\n\r\n event.preventDefault();\r\n\r\n if (idEventoAdicional == undefined) {\r\n let data = {\r\n 'Id': 0,\r\n 'IdTipoSolicitacao': parseInt(idTipoSolicitacao),\r\n 'IdSolicitacaoFornecimento': parseInt(id),\r\n 'Autorizador': autorizador,\r\n 'Destinatario': destinatario,\r\n 'Pagador': pagador,\r\n 'Observacao': observacao,\r\n 'CargaEstimada': cargaEstimada,\r\n 'NumeroRefletores': numeroRefletores,\r\n 'NumeroOficio': numeroOficio\r\n }\r\n\r\n dispatch(InserirEventoAdicionalRequest(data, parseInt(id)));\r\n\r\n } else {\r\n let data = {\r\n 'Id': idEventoAdicional,\r\n 'IdTipoSolicitacao': parseInt(idTipoSolicitacao),\r\n 'IdSolicitacaoFornecimento': parseInt(id),\r\n 'Autorizador': autorizador,\r\n 'Destinatario': destinatario,\r\n 'Pagador': pagador,\r\n 'Observacao': observacao,\r\n 'CargaEstimada': cargaEstimada,\r\n 'NumeroRefletores': numeroRefletores,\r\n 'NumeroOficio': numeroOficio\r\n }\r\n\r\n dispatch(AlterarEventoAdicionalRequest(data, parseInt(id)));\r\n }\r\n\r\n setIdTipoSolicitacao('');\r\n setIdSolicitacaoFornecimento('');\r\n setAutorizador('');\r\n setDestinatario('');\r\n setPagador('');\r\n setObservacao('');\r\n setCargaEstimada('');\r\n setNumeroRefletores('');\r\n setNumeroOficio('');\r\n\r\n dispatch(LimparEventoAdicional())\r\n setValidated(false);\r\n onHide(true);\r\n }\r\n };\r\n\r\n function FecharModal() {\r\n\r\n setIdTipoSolicitacao('');\r\n setIdSolicitacaoFornecimento('');\r\n setAutorizador('');\r\n setDestinatario('');\r\n setPagador('');\r\n setObservacao('');\r\n setCargaEstimada('');\r\n setNumeroRefletores('');\r\n setNumeroOficio('');\r\n\r\n dispatch(LimparEventoAdicional())\r\n\r\n onHide(true);\r\n setValidated(false);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Novo Evento Adicional\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Tipo Solicitação\r\n ({ ...styles, borderColor: validated && idTipoSolicitacao === \"\" || idTipoSolicitacao === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && idTipoSolicitacao === \"\" || idTipoSolicitacao === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n isDisabled={idEventoAdicional != undefined ? true : false}\r\n required\r\n value={listaTipoSolicitacao != undefined && idTipoSolicitacao && listaTipoSolicitacao.filter(m => m.id == idTipoSolicitacao).length > 0 ?\r\n { value: idTipoSolicitacao, label: listaTipoSolicitacao.filter(m => m.id == idTipoSolicitacao)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaTipoSolicitacao != undefined ?\r\n listaTipoSolicitacao.filter(x => x.eventoEspecial == true).sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.id, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setIdTipoSolicitacao(e !== null ? e.value.toString() : false)}>\r\n\r\n \r\n O campo Tipo Solicitacao é obrigatório.\r\n \r\n \r\n Autorizador\r\n ({ ...styles, borderColor: validated && autorizador === \"\" || autorizador === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && autorizador === \"\" || autorizador === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n value={listaUsuario != undefined && autorizador && listaUsuario.filter(m => m.nome == autorizador).length > 0 ?\r\n { value: autorizador, label: listaUsuario.filter(m => m.nome == autorizador)[0].nome }\r\n : null\r\n }\r\n options={\r\n listaUsuario != undefined ?\r\n [...listaUsuario].sort((a, b) => a.nome.localeCompare(b.nome)).map(m => ({\r\n value: m.nome, label: m.nome\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setAutorizador(e !== null ? e.value.toString() : false)}>\r\n\r\n \r\n O campo Autorizador é obrigatório.\r\n \r\n \r\n \r\n \r\n Destinatário\r\n ({ ...styles, borderColor: validated && destinatario === \"\" || destinatario === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && destinatario === \"\" || destinatario === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n value={listaUsuario != undefined && destinatario && listaUsuario.filter(m => m.nome == destinatario).length > 0 ?\r\n { value: destinatario, label: listaUsuario.filter(m => m.nome == destinatario)[0].nome }\r\n : null\r\n }\r\n options={\r\n listaUsuario != undefined ?\r\n [...listaUsuario].sort((a, b) => a.nome.localeCompare(b.nome)).map(m => ({\r\n value: m.nome, label: m.nome\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setDestinatario(e !== null ? e.value.toString() : false)}>\r\n\r\n \r\n O campo Destinatário é obrigatório.\r\n \r\n \r\n Pagador\r\n ({ ...styles, borderColor: validated && pagador === \"\" || pagador === false ? 'red' : '#C0C0C0' }),\r\n placeholder: (styles) => ({ ...styles, color: validated && pagador === \"\" || pagador === false ? 'red' : '#C0C0C0' })\r\n }}\r\n placeholder=\"Selecione...\"\r\n isClearable={true}\r\n isSearchable={true}\r\n required\r\n value={listaOrgao != undefined && pagador && listaOrgao.filter(m => m.descricao == pagador).length > 0 ?\r\n { value: pagador, label: listaOrgao.filter(m => m.descricao == pagador)[0].descricao }\r\n : null\r\n }\r\n options={\r\n listaOrgao != undefined ?\r\n [...listaOrgao].sort((a, b) => a.descricao.localeCompare(b.descricao)).map(m => ({\r\n value: m.descricao, label: m.descricao\r\n }))\r\n :\r\n null\r\n }\r\n onChange={(e) => setPagador(e !== null ? e.value.toString() : false)}>\r\n\r\n \r\n O campo Pagador é obrigatório.\r\n \r\n \r\n {\r\n idTipoSolicitacao == '' ?\r\n
\r\n \r\n \r\n Observação\r\n setObservacao(e.target.value)}\r\n maxLength=\"500\"\r\n />\r\n \r\n \r\n Carga Estimada\r\n setCargaEstimada(e.target.value)}\r\n maxLength=\"200\"\r\n disabled={true}\r\n />\r\n O campo Carga Estimada é obrigatório.\r\n \r\n \r\n \r\n \r\n Número de Refletores\r\n setNumeroRefletores(e.target.value)}\r\n maxLength=\"200\"\r\n disabled={true}\r\n />\r\n O campo Número de Refletores é obrigatório.\r\n \r\n \r\n Número Oficio\r\n setNumeroOficio(e.target.value)}\r\n />\r\n \r\n \r\n
\r\n :\r\n listaTipoSolicitacao != undefined && listaTipoSolicitacao.filter(x => x.id == parseInt(idTipoSolicitacao)).length > 0 &&\r\n listaTipoSolicitacao.filter(x => x.id == parseInt(idTipoSolicitacao))[0].servico ?\r\n
\r\n \r\n \r\n Observação\r\n setObservacao(e.target.value)}\r\n maxLength=\"500\"\r\n />\r\n O campo Observação é obrigatório.\r\n \r\n \r\n Carga Estimada\r\n setCargaEstimada(e.target.value)}\r\n maxLength=\"200\"\r\n disabled={true}\r\n />\r\n O campo Carga Estimada é obrigatório.\r\n \r\n \r\n \r\n \r\n Número de Refletores\r\n setNumeroRefletores(e.target.value)}\r\n maxLength=\"200\"\r\n />\r\n O campo Número de Refletores é obrigatório.\r\n \r\n \r\n Número Oficio\r\n setNumeroOficio(e.target.value)}\r\n />\r\n \r\n \r\n
\r\n :\r\n
\r\n \r\n \r\n Observação\r\n setObservacao(e.target.value)}\r\n maxLength=\"500\"\r\n />\r\n O campo Observação é obrigatório.\r\n \r\n \r\n Carga Estimada\r\n setCargaEstimada(e.target.value)}\r\n maxLength=\"200\"\r\n />\r\n O campo Carga Estimada é obrigatório.\r\n \r\n \r\n \r\n \r\n Número de Refletores\r\n setNumeroRefletores(e.target.value)}\r\n maxLength=\"200\"\r\n />\r\n O campo Número de Refletores é obrigatório.\r\n \r\n \r\n Número Oficio\r\n setNumeroOficio(e.target.value)}\r\n />\r\n \r\n \r\n
\r\n }\r\n\r\n {\r\n idEventoAdicional == undefined\r\n ?\r\n \r\n\r\n \r\n \r\n\r\n : \r\n\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 { useEffect, useState } from \"react\";\r\nimport { Col, Button, Modal, Row } from \"react-bootstrap\";\r\nimport {\r\n ListarEventoAdicionalRequest, ExcluirEventoAdicionalRequest,\r\n InserirEventoAdicionalRequest, AlterarEventoAdicionalRequest\r\n} from '../../../store/modules/eventoAdicional/actions';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { ListarTipoSolicitacaoRequest } from \"../../../store/modules/tipoSolicitacao/actions\";\r\nimport { ListarOrgaoRequest } from \"../../../store/modules/orgao/actions\";\r\nimport { ListarUsuarioRequest } from \"../../../store/modules/usuario/actions\";\r\nimport {\r\n ListarDadosExportarPDFSolicitacaoFornecimentoEventoRequest\r\n , ListarDadosExportarPDFSolicitacaoFornecimentoRequest\r\n} from \"../../../store/modules/relatorio/actions\";\r\nimport { PDFDownloadLink } from '@react-pdf/renderer';\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { FaPlus } from \"react-icons/fa\";\r\nimport { BiExport } from \"react-icons/bi\";\r\nimport { FaSearchPlus } from \"react-icons/fa\";\r\nimport MaterialTable from 'material-table';\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport PdfOrcamentoEvento from \"../../../components/pdfOrcamentoEvento/pdfOrcamentoEvento\";\r\nimport Select from 'react-select';\r\nimport ModalInserirEventoAdicional from \"../../../components/ModalInserirEventoAdicional/modalInserirEventoAdicional\";\r\n\r\nexport default function EventoAdicional() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const listaEventoAdicional = useSelector(state => state.eventoAdicional.listaEventoAdicional);\r\n const listaTipoSolicitacao = useSelector(state => state.tipoSolicitacao.listaTipoSolicitacao);\r\n const carregando = useSelector(state => state.eventoAdicional.carregando);\r\n const listaDadosExportarPDFSolicitacaoFornecimentoEvento = useSelector(state => state.relatorio.listaDadosExportarPDFSolicitacaoFornecimentoEvento);\r\n const listaUsuario = useSelector(state => state.usuario.listaUsuario);\r\n const listaOrgao = useSelector(state => state.orgao.listaOrgao);\r\n\r\n const [idEventoAdicional, setIdEventoAdicional] = useState(undefined);\r\n const [show, setShow] = useState(false);\r\n const [showModalInserirEventoAdicional, setShowModalInserirEventoAdicional] = useState(false);\r\n\r\n const handleCloseModalInserirEventoAdicional = () => { setShowModalInserirEventoAdicional(false); setIdEventoAdicional(undefined) };\r\n const handleShowModalInserirEventoAdicional = () => setShowModalInserirEventoAdicional(true);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n //const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarUsuarioRequest());\r\n dispatch(ListarOrgaoRequest());\r\n dispatch(ListarTipoSolicitacaoRequest());\r\n\r\n if (id != undefined)\r\n dispatch(ListarEventoAdicionalRequest(parseInt(id)));\r\n\r\n }, [])\r\n\r\n const options = listaTipoSolicitacao != undefined ?\r\n listaTipoSolicitacao.filter(x => x.eventoEspecial == true).map(tipoSolicitacao => ({\r\n value: tipoSolicitacao.id, label: tipoSolicitacao.descricao\r\n }))\r\n :\r\n [];\r\n\r\n const optionsUsuario = listaUsuario != undefined ?\r\n listaUsuario.map(usuario => ({\r\n value: usuario.id, label: usuario.nome\r\n }))\r\n :\r\n [];\r\n\r\n const optionsOrgao = listaOrgao != undefined ?\r\n listaOrgao.map(orgao => ({\r\n value: orgao.id, label: orgao.descricao\r\n }))\r\n :\r\n [];\r\n\r\n function ValidacoesInserir(eventoAdicional) {\r\n\r\n //valida o campo descrição\r\n /*if (eventoAdicional.descricao == null || eventoAdicional.descricao == undefined ||\r\n eventoAdicional.descricao.trim() == '' || eventoAdicional.descricao.length > 50) {\r\n toast.error(`Composição custo inválida`);\r\n return false;\r\n }*/\r\n\r\n return true;\r\n\r\n }\r\n\r\n function InserirEventoAdicional(eventoAdicional) {\r\n\r\n let selectText = '';\r\n let selectSelecionado = [];\r\n\r\n let selectTextAutorizador = '';\r\n let selectSelecionadoAutorizador = [];\r\n\r\n let selectTextDestinatario = '';\r\n let selectSelecionadoDestinatario = [];\r\n\r\n let selectTextPagador = '';\r\n let selectSelecionadoPagador = [];\r\n /*\r\n if (document.getElementById('idSelectTipoSolicitacao') != null && listaTipoSolicitacao != undefined) {\r\n selectText = document.getElementById('idSelectTipoSolicitacao').innerText;\r\n selectSelecionado = listaTipoSolicitacao.filter(contrato => contrato.descricao == selectText);\r\n }\r\n \r\n if (document.getElementById('idSelectAutorizador') != null && listaUsuario != undefined) {\r\n selectTextDestinatario = document.getElementById('idSelectAutorizador').innerText;\r\n selectSelecionadoDestinatario = listaUsuario.filter(contrato => contrato.nome == selectText);\r\n }\r\n \r\n if (document.getElementById('selectSelecionadoDestinatario') != null && listaUsuario != undefined) {\r\n selectTextDestinatario = document.getElementById('selectSelecionadoDestinatario').innerText;\r\n selectSelecionadoDestinatario = listaUsuario.filter(contrato => contrato.nome == selectText);\r\n }\r\n \r\n if (document.getElementById('idSelectPagador') != null && listaOrgao != undefined) {\r\n selectTextDestinatarioPagador = document.getElementById('idSelectPagador').innerText;\r\n selectSelecionadoDestinatarioPagador = listaOrgao.filter(contrato => contrato.descricao == selectText);\r\n }*/\r\n\r\n\r\n\r\n if (selectSelecionado.length > 0 && selectSelecionadoAutorizador.length > 0 &&\r\n selectSelecionadoDestinatario.length > 0 && selectSelecionadoPagador.length > 0) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'IdTipoSolicitacao': parseInt(selectSelecionado[0].id),\r\n 'IdSolicitacaoFornecimento': parseInt(id),\r\n 'Autorizador': selectTextAutorizador,\r\n 'Destinatario': selectTextDestinatario,\r\n 'Pagador': selectTextPagador,\r\n 'Observacao': eventoAdicional.observacao,\r\n 'CargaEstimada': eventoAdicional.cargaEstimada,\r\n 'NumeroRefletores': eventoAdicional.numeroRefletores,\r\n 'NumeroOficio': eventoAdicional.numeroOficio\r\n }\r\n\r\n dispatch(InserirEventoAdicionalRequest(data, parseInt(id)))\r\n }\r\n\r\n }\r\n\r\n function AlterarEventoAdicional(eventoAdicional) {\r\n\r\n let data = {\r\n 'Id': eventoAdicional.id,\r\n 'IdTipoSolicitacao': eventoAdicional.idTipoSolicitacao,\r\n 'IdSolicitacaoFornecimento': eventoAdicional.idSolicitacaoFornecimento,\r\n 'Autorizador': eventoAdicional.autorizador,\r\n 'Destinatario': eventoAdicional.destinatario,\r\n 'Pagador': eventoAdicional.pagador,\r\n 'Observacao': eventoAdicional.observacao,\r\n 'CargaEstimada': eventoAdicional.cargaEstimadaUm,\r\n 'NumeroRefletores': eventoAdicional.numeroRefletores,\r\n 'NumeroOficio': eventoAdicional.numeroOficio\r\n }\r\n\r\n dispatch(AlterarEventoAdicionalRequest(data, parseInt(id)))\r\n }\r\n\r\n function ExcluirEventoAdicional(eventoAdicional) {\r\n\r\n if (listaTipoSolicitacao != undefined && listaTipoSolicitacao.filter(x => x.id == parseInt(eventoAdicional.idTipoSolicitacao)).length > 0 &&\r\n listaTipoSolicitacao.filter(x => x.id == parseInt(eventoAdicional.idTipoSolicitacao))[0].servico) {\r\n toast.error('Não é possível excluir um evento adicional com serviço!');\r\n } else {\r\n dispatch(ExcluirEventoAdicionalRequest(eventoAdicional.id, parseInt(id)));\r\n }\r\n }\r\n\r\n function ExportarPdf(rowData) {\r\n dispatch(ListarDadosExportarPDFSolicitacaoFornecimentoEventoRequest({\r\n 'IdSolicitacaoFornecimento': id,\r\n 'IdEventoAdicional': parseInt(rowData.id)\r\n }))\r\n handleShow();\r\n }\r\n\r\n function AbrirModalEvento(id) {\r\n setIdEventoAdicional(id);\r\n handleShowModalInserirEventoAdicional();\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n Novo Evento Adicional\r\n }\r\n columns={[\r\n {\r\n title: 'Número Ofício', field: 'numeroOficio', cellStyle: {\r\n width: '9%',\r\n }, editable: 'never', defaultSort: 'desc'\r\n },\r\n {\r\n\r\n title: 'Tipo Solicitação', field: 'idTipoSolicitacao', cellStyle: {\r\n width: '13%',\r\n },\r\n editable: 'onAdd',\r\n filtering: false,\r\n sorting: false,\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value ? e.label : false)\r\n }}\r\n />\r\n )\r\n },\r\n lookup:\r\n listaTipoSolicitacao != undefined ?\r\n listaTipoSolicitacao.map(tipoSolicitacao => {\r\n return {\r\n id: tipoSolicitacao.id, descricao: tipoSolicitacao.descricao\r\n }\r\n }).reduce(function (acc, cur, i) {\r\n acc[cur.id] = cur.descricao;\r\n return acc;\r\n }, {})\r\n :\r\n null,\r\n editComponent: (props) => (\r\n { }} />)\r\n\r\n },\r\n {\r\n title: 'Serviço', field: 'servico', sorting: true, editable: 'onAdd',\r\n cellStyle: { width: '12.5%' },\r\n customFilterAndSearch: (term, rowData) => term == rowData.servico.toString(),\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value == 'ativado' ? 'true' :\r\n e != null && e.value == 'desativado' ? 'false' : null)\r\n }}\r\n />\r\n )\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { }} />)\r\n },\r\n {\r\n title: 'Foto Obrigatório', field: 'fotoObrigatorio', sorting: true,\r\n cellStyle: { width: '12.5%' },\r\n customFilterAndSearch: (term, rowData) => term == rowData.fotoObrigatorio.toString(),\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value == 'ativado' ? 'true' :\r\n e != null && e.value == 'desativado' ? 'false' : null)\r\n }}\r\n />\r\n )\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { }} />)\r\n },\r\n {\r\n title: 'Quantidade de Fotos Obrigatórias', field: 'quantidadeFoto', cellStyle: {\r\n width: '12.5%'\r\n }\r\n },\r\n {\r\n title: 'Tipo Fornecedor', field: 'tipoFornecedor', sorting: true, editable: 'onAdd',\r\n cellStyle: { width: '12.5%' },\r\n customFilterAndSearch: (term, rowData) => term == rowData.tipoFornecedor.toString(),\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value == 'ativado' ? 'true' :\r\n e != null && e.value == 'desativado' ? 'false' : null)\r\n }}\r\n />\r\n )\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { }} />)\r\n }\r\n ]}\r\n data={\r\n listaTipoSolicitacao != undefined ?\r\n listaTipoSolicitacao.map(tipoSolicitacao => {\r\n return {\r\n id: tipoSolicitacao.id,\r\n descricao: tipoSolicitacao.descricao,\r\n servico: tipoSolicitacao.servico,\r\n geografico: tipoSolicitacao.geografico,\r\n idFormulario: tipoSolicitacao.idFormulario != null ? tipoSolicitacao.idFormulario : '',\r\n inputServico: tipoSolicitacao.inputServico,\r\n fotoObrigatorio: tipoSolicitacao.fotoObrigatorio,\r\n quantidadeFoto: tipoSolicitacao.quantidadeFotoObrigatorio,\r\n tipoFornecedor: tipoSolicitacao.tipoFornecedor,\r\n eventoEspecial: tipoSolicitacao.eventoEspecial,\r\n semOficio: tipoSolicitacao.semOficio,\r\n tipoDocumentoArquivo:\r\n listaTipoSolicitacaoTipoDocumentoArquivo != undefined && listaTipoDocumentoArquivo != undefined ?\r\n listaTipoSolicitacaoTipoDocumentoArquivo.map((relacao) => {\r\n if (tipoSolicitacao.id === relacao.idTipoSolicitacao) {\r\n if (listaTipoSolicitacaoTipoDocumentoArquivo.filter(relacao => tipoSolicitacao.id == relacao.idTipoSolicitacao).length > 1) {\r\n return relacao.tipoDocumentoArquivo.descricao + \", \"\r\n }\r\n else {\r\n return relacao.tipoDocumentoArquivo.descricao + \" \"\r\n }\r\n } else {\r\n return ''\r\n }\r\n }).filter(Boolean)\r\n :\r\n ''\r\n }\r\n })\r\n :\r\n []\r\n }\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n editable={{\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n InserirTipoSolicitacao(newRow);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n onRowUpdate: (newRow, oldRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n AlterarTipoSolicitacao(newRow);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n onRowDelete: oldData => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n ExcluirTipoSolicitacao(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n onRowUpdateCancelled: rowData => Cancel(),\r\n }}\r\n\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n filtering: true,\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n actionsColumnIndex: -1\r\n\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n }\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","\r\n\r\nconst urlBase = process.env.REACT_APP_LINK_API\r\n\r\nexport default urlBase;\r\n","import { Button, Col, Card, Row, Form, DropdownButton, Accordion } from \"react-bootstrap\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { IoChatboxEllipsesOutline } from 'react-icons/io5';\r\nimport { FaSearchPlus } from \"react-icons/fa\";\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { ListarContratoRequest } from '../../../store/modules/contrato/actions';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { ListarContratoUsuarioRequest } from '../../../store/modules/contratoUsuario/actions';\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { ListarStatusSolicitacaoFornecimentoCompletoRequest } from '../../../store/modules/statusSolicitacaoFornecimento/actions';\r\nimport { ListarCompletoSolicitacaoFornecimentoRequest } from '../../../store/modules/solicitacaoFornecimento/actions';\r\nimport { ListarAutorizacaoFornecimentoRequest } from '../../../store/modules/autorizacaoFornecimento/actions';\r\nimport { toast } from \"react-toastify\";\r\nimport Loading from '../../../components/Loading/loading';\r\nimport urlBase from '../../../services/rotas';\r\nimport MaterialTable from 'material-table';\r\nimport Cookies from 'universal-cookie';\r\nimport moment from 'moment'\r\nimport Header from \"../../../components/Header/header\";\r\nimport './listar.css';\r\nimport { AtualizarToken } from \"../../../store/modules/global/actions\";\r\nimport Select from 'react-select';\r\n\r\nexport default function Listar() {\r\n\r\n const { id } = useParams();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const tableRef = React.createRef();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n const cookies = new Cookies();\r\n\r\n const listaSolicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.listaSolicitacaoFornecimento);\r\n const listaContrato = useSelector(state => state.contrato.listaContrato);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const carregando = useSelector(state => state.solicitacaoFornecimento.carregando);\r\n const listaStatusSolicitacaoFornecimentoCompleto = useSelector(state => state.statusSolicitacaoFornecimento.listaStatusSolicitacaoFornecimentoCompleto);\r\n const headerParams = useSelector(state => state.global.token);\r\n const listaAutorizacaoFornecimento = useSelector(state => state.autorizacaoFornecimento.listaAutorizacaoFornecimento);\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n const [idCheck, setIdCheck] = useState(true);\r\n const [assunto, setAssunto] = useState(true);\r\n const [contratoCheck, setContratoCheck] = useState(false);\r\n const [fornecedor, setFornecedor] = useState(false);\r\n const [endereco, setEndereco] = useState(true);\r\n const [regiao, setRegiao] = useState(false);\r\n const [numeroProcesso, setNumeroProcesso] = useState(true);\r\n const [numeroOficio, setNumeroOficio] = useState(false);\r\n const [numeroOrcamento, setNumeroOrcamento] = useState(true);\r\n const [tipoSolicitacao, setTipoSolicitacao] = useState(true);\r\n const [prioridade, setPrioridade] = useState(false);\r\n const [dataCriacao, setDataCriacao] = useState(false);\r\n const [observacao, setObservacao] = useState(false);\r\n const [statusCheck, setStatusCheck] = useState(true);\r\n const [nomeEvento, setNomeEvento] = useState(false);\r\n const [dataEvento, setDataEvento] = useState(false);\r\n const [numeroRefletores, setNumeroRefletores] = useState(false);\r\n const [orcamentoEmAtraso, setOrcamentoEmAtraso] = useState(false);\r\n const [totalValorOrcamento, setTotalValorOrcamento] = useState(false);\r\n const [porteObra, setPorteObra] = useState(false);\r\n const [idAutorizacaoFornecimento, setIdAutorizacaoFornecimento] = useState(false);\r\n const [observacaoCancelamento, setObservacaoCancelamento] = useState(false);\r\n const [interessado, setinteressado] = useState(false);\r\n const [tabelaCarregando, setTabelaCarregando] = useState(false);\r\n const [listaData, setListaData] = useState([]);\r\n const [bairro, setBairro] = useState(false);\r\n const [dataStatusReprovado, setDataStatusReprovado] = useState(false);\r\n const [numeroOficioOrigem, setNumeroOficioOrigem] = useState(false);\r\n\r\n const [ordenacaoIdSolicitacaoFornecimento, setOrdenacaoIdSolicitacaoFornecimento] = useState(false);\r\n\r\n let [filtros] = useState(JSON.parse(localStorage.getItem('filtro-solicitacao-fornecimento')));\r\n\r\n const [idSolicitacaoFornecimentoFiltro, setIdSolicitacaoFornecimentoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.idSolicitacaoFornecimentoFiltro : \"\");\r\n const [tipoSolicitacaoFiltro, setTipoSolicitacaoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.tipoSolicitacaoFiltro : \"\");\r\n const [assuntoFiltro, setAssuntoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.assuntoFiltro : \"\");\r\n const [localFiltro, setLocalFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.localFiltro : \"\");\r\n const [statusFiltro, setStatusFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.statusFiltro : 0);\r\n const [numeroProcessoFiltro, setNumeroProcessoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.numeroProcessoFiltro : \"\");\r\n const [regiaoFiltro, setRegiaoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.regiaoFiltro : \"\");\r\n const [numeroOficioFiltro, setNumeroOficioFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.numeroOficioFiltro : \"\");\r\n const [numeroOrcamentoFiltro, setNumeroOrcamentoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.numeroOrcamentoFiltro : \"\");\r\n const [fornecedorFiltro, setFornecedorFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.fornecedorFiltro : \"\");\r\n const [nomeEventoFiltro, setNomeEventoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.nomeEventoFiltro : \"\");\r\n const [prioridadeFiltro, setPrioridadeFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.prioridadeFiltro : \"\");\r\n const [bairroFiltro, setBairroFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.bairroFiltro : \"\");\r\n const [autorizacaoFornecimentoFiltro, setAutorizacaoFornecimentoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.autorizacaoFornecimentoFiltro : \"\");\r\n const [interessadoFiltro, setInteressadoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.interessadoFiltro : \"\");\r\n const [numeroOficioOrigemFiltro, setNumeroOficioOrigemFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.numeroOficioOrigemFiltro : \"\");\r\n\r\n const [listaStatus, setListaStatus] = useState([\r\n { value: '6', label: \"Inicial\" },\r\n { value: '7', label: \"Análise de Orçamento\" },\r\n { value: '8', label: \"Solicitação Aprovada\" },\r\n { value: '10', label: \"Solicitação Finalizada\" },\r\n { value: '11', label: \"Solicitação Cancelada\" },\r\n { value: '12', label: \"Orçamento Solicitado\" },\r\n { value: '14', label: \"Solicitação Recebida\" },\r\n { value: '16', label: \"Projeto\" },\r\n { value: '17', label: \"Orçamento Finalizado\" },\r\n { value: 'Análise de Orçamento (Reprovada)', label: \"Análise de Orçamento (Reprovada)\" },\r\n { value: 'Análise de Orçamento (Aprovada)', label: \"Análise de Orçamento (Aprovada)\" },\r\n ]);\r\n\r\n const listaNumeroAF =\r\n listaAutorizacaoFornecimento !== null && listaAutorizacaoFornecimento !== undefined ?\r\n listaAutorizacaoFornecimento.map(lista =>{\r\n if(lista.numeroAf !== null && lista.numeroAf !== '' &&\r\n lista.numeroAf !== undefined){\r\n return{\r\n value: `${lista.id}`, label: lista.numeroAf\r\n }\r\n }\r\n })\r\n :\r\n [];\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarContratoRequest());\r\n dispatch(ListarContratoUsuarioRequest());\r\n dispatch(ListarStatusSolicitacaoFornecimentoCompletoRequest());\r\n dispatch(ListarAutorizacaoFornecimentoRequest());\r\n dispatch(ListarCompletoSolicitacaoFornecimentoRequest({\r\n IdSolicitacaoFornecimento: null,\r\n IdContrato: null,\r\n Servico: false\r\n }));\r\n\r\n dispatch(AtualizarToken());\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n //console.log(listaSolicitacaoFornecimento)\r\n //constroiData();\r\n\r\n }, [listaSolicitacaoFornecimento])\r\n\r\n /*function constroiData() {\r\n\r\n let listaDataTemp = [];\r\n\r\n if (listaContrato != undefined && listaContrato.length > 0 && listaSolicitacaoFornecimento.data != undefined && listaContratoUsuario != undefined && listaSolicitacaoFornecimento.data.length > 0) {\r\n \r\n listaSolicitacaoFornecimento.data.map(solicitacaoFornecimento => {\r\n\r\n var contrato = [];\r\n if (solicitacaoFornecimento.contratoVersao != null && solicitacaoFornecimento.contratoVersao.idContrato != null) {\r\n contrato = listaContrato.filter((contrato) => contrato.id === solicitacaoFornecimento.contratoVersao.idContrato)\r\n }\r\n\r\n if (contrato.length > 0 && contrato[0].privado && (listaContratoUsuario.filter((contratoUsu) =>\r\n contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contrato[0].id).length === 0)) {\r\n return null\r\n // Verifica se é tipo servico para mostrar nessa tabela\r\n } else if (solicitacaoFornecimento.tipoSolicitacao.servico == false) {\r\n return null\r\n } else {\r\n listaDataTemp.push({\r\n id: solicitacaoFornecimento.id,\r\n idContrato: contrato[0].id + \" - \" + contrato[0].descricao,\r\n descricao: solicitacaoFornecimento.descricaoSolicitacao,\r\n numeroProcesso: solicitacaoFornecimento.numeroProcesso,\r\n local: solicitacaoFornecimento.descricaoLocal,\r\n numeroOficio: solicitacaoFornecimento.numeroOficio,\r\n regiao:\r\n solicitacaoFornecimento.regiao != null ?\r\n solicitacaoFornecimento.regiao.descricao\r\n : '',\r\n tipo:\r\n solicitacaoFornecimento.tipoSolicitacao != null ?\r\n solicitacaoFornecimento.tipoSolicitacao.descricao\r\n : '',\r\n fornecedor:\r\n solicitacaoFornecimento.fornecedor != null ?\r\n solicitacaoFornecimento.fornecedor.nomeFornecedor\r\n : '',\r\n dataSolicitacao: moment(solicitacaoFornecimento.dataSolicitacao).format('L LT'),\r\n status: solicitacaoFornecimento.statusAtual,\r\n prioridade: solicitacaoFornecimento.prioridade.descricao,\r\n corHex: solicitacaoFornecimento.prioridade.corHex,\r\n observacao: solicitacaoFornecimento.observacao,\r\n nomeEvento:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Nome do Evento\").length > 0 ?\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Nome do Evento\")[0].valorVarchar : '',\r\n dataEvento:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Data Inicial\").length > 0 ?\r\n moment(solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Data Inicial\")[0].valorDateTime).format('L')\r\n : '',\r\n nrRefletores:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Número de Refletores\").length > 0 ?\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Número de Refletores\")[0].valorInteger : '',\r\n orcamentoEmAtraso: solicitacaoFornecimento.orcamentoEmAtraso ? 'Sim' : 'Não'\r\n })\r\n }\r\n }).filter(Boolean)\r\n\r\n setListaData(listaDataTemp);\r\n setTabelaCarregando(true);\r\n }\r\n }*/\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Solicitação Fornecimento\r\n \r\n \r\n \r\n
\r\n {\r\n listaContrato != undefined && listaContratoUsuario != undefined &&\r\n listaStatusSolicitacaoFornecimentoCompleto != undefined ?\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Solicitação Fornecimento\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n setIdCheck(!idCheck)} />\r\n #\r\n \r\n \r\n \r\n \r\n setAssunto(!assunto)} />\r\n Assunto\r\n \r\n \r\n \r\n \r\n setContratoCheck(!contratoCheck)} />\r\n Contrato\r\n \r\n \r\n \r\n \r\n setFornecedor(!fornecedor)} />\r\n Fornecedor\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setEndereco(!endereco)} />\r\n Local\r\n \r\n \r\n \r\n \r\n setBairro(!bairro)} />\r\n Bairro\r\n \r\n \r\n \r\n \r\n setRegiao(!regiao)} />\r\n Região\r\n \r\n \r\n \r\n \r\n setNumeroProcesso(!numeroProcesso)} />\r\n Número Processo\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setNumeroOficio(!numeroOficio)} />\r\n Número Oficio\r\n \r\n \r\n \r\n \r\n setTipoSolicitacao(!tipoSolicitacao)} />\r\n Tipo Solicitação\r\n \r\n \r\n \r\n \r\n setPrioridade(!prioridade)} />\r\n Prioridade\r\n \r\n \r\n \r\n \r\n setDataCriacao(!dataCriacao)} />\r\n Data Criação\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setObservacao(!observacao)} />\r\n Observação\r\n \r\n \r\n \r\n \r\n setStatusCheck(!statusCheck)} />\r\n Status\r\n \r\n \r\n \r\n \r\n setNomeEvento(!nomeEvento)} />\r\n Nome Evento\r\n \r\n \r\n \r\n \r\n setOrcamentoEmAtraso(!orcamentoEmAtraso)} />\r\n Orçamento em Atraso\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setTotalValorOrcamento(!totalValorOrcamento)} />\r\n Valor total do Orçamento\r\n \r\n \r\n \r\n \r\n setPorteObra(!porteObra)} />\r\n Porte de Obra\r\n \r\n \r\n \r\n \r\n setIdAutorizacaoFornecimento(!idAutorizacaoFornecimento)} />\r\n Número AF\r\n \r\n \r\n \r\n \r\n setObservacaoCancelamento(!observacaoCancelamento)} />\r\n Observação Cancelamento\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setinteressado(!interessado)} />\r\n Interessado\r\n \r\n \r\n \r\n \r\n setDataStatusReprovado(!dataStatusReprovado)} />\r\n Data Análise de Orçamento (Reprovada)\r\n \r\n \r\n \r\n \r\n setNumeroOficioOrigem(!numeroOficioOrigem)} />\r\n Número Oficio (Origem)\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n

\r\n\r\n \r\n
\r\n },\r\n {\r\n title: 'Número da Solicitação', field: 'id', sorting: true,\r\n hidden: idCheck ? false : true,\r\n defaultFilter: idSolicitacaoFornecimentoFiltro\r\n },\r\n {\r\n title: 'Tipo Solicitação', field: 'tipo', sorting: false,\r\n hidden: tipoSolicitacao ? false : true,\r\n defaultFilter: tipoSolicitacaoFiltro\r\n },\r\n {\r\n title: 'Assunto', field: 'assunto', sorting: false,\r\n hidden: assunto ? false : true,\r\n defaultFilter: assuntoFiltro\r\n },\r\n {\r\n title: 'Id/Descrição Contrato', field: 'idContrato', sorting: false,\r\n hidden: contratoCheck ? false : true,\r\n },\r\n {\r\n title: 'Fornecedor', field: 'fornecedor', sorting: false,\r\n hidden: fornecedor ? false : true,\r\n defaultFilter: fornecedorFiltro\r\n },\r\n {\r\n title: 'Local', field: 'local', sorting: false,\r\n hidden: endereco ? false : true,\r\n defaultFilter: localFiltro\r\n },\r\n {\r\n title: 'Bairro', field: 'bairro', sorting: false,\r\n hidden: bairro ? false : true,\r\n defaultFilter: bairroFiltro\r\n },\r\n {\r\n title: 'Região', field: 'regiao', sorting: false,\r\n hidden: regiao ? false : true,\r\n defaultFilter: regiaoFiltro\r\n },\r\n {\r\n title: 'Número Processo', field: 'numeroProcesso', sorting: false,\r\n hidden: numeroProcesso ? false : true,\r\n defaultFilter: numeroProcessoFiltro\r\n },\r\n {\r\n title: 'Número Ofício', field: 'numeroOficio', sorting: false,\r\n hidden: numeroOficio ? false : true,\r\n defaultFilter: numeroOficioFiltro\r\n },\r\n {\r\n title: 'Número Ofício (Origem)', field: 'numeroOficioOrigem', sorting: false,\r\n hidden: numeroOficioOrigem ? false : true,\r\n defaultFilter: numeroOficioOrigemFiltro\r\n },\r\n {\r\n title: 'Número Orçamento', field: 'numeroOrcamento', sorting: false,\r\n hidden: numeroOrcamento ? false : true,\r\n defaultFilter: numeroOrcamentoFiltro\r\n },\r\n {\r\n title: 'Prioridade', field: 'prioridade', sorting: false,\r\n hidden: prioridade ? false : true,\r\n defaultFilter: prioridadeFiltro\r\n },\r\n {\r\n title: 'Data Criação', field: 'dataSolicitacao', sorting: false,\r\n hidden: dataCriacao ? false : true,\r\n },\r\n {\r\n title: 'Nome Evento', field: 'nomeEvento', sorting: false,\r\n hidden: nomeEvento ? false : true,\r\n defaultFilter: nomeEventoFiltro\r\n },\r\n {\r\n title: 'Data Evento', field: 'dataEvento', sorting: false,\r\n hidden: dataEvento ? false : true,\r\n },\r\n {\r\n title: 'Observação', field: 'observacao', sorting: false,\r\n hidden: observacao ? false : true,\r\n },\r\n {\r\n title: 'Número de refletores', field: 'nrRefletores', sorting: false,\r\n hidden: numeroRefletores ? false : true,\r\n },\r\n {\r\n title: 'Orçamento Em Atraso', field: 'orcamentoEmAtraso', sorting: false,\r\n hidden: orcamentoEmAtraso ? false : true\r\n },\r\n {\r\n title: 'Orçamento Em Atraso', field: 'orcamentoEmAtraso', sorting: false,\r\n hidden: orcamentoEmAtraso ? false : true\r\n },\r\n {\r\n title: 'Valor Total Orçamento', field: 'totalValorOrcamento', sorting: false,\r\n hidden: totalValorOrcamento ? false : true, filtering: false\r\n },\r\n {\r\n title: 'Porte Obra', field: 'porteObra', sorting: false,\r\n hidden: porteObra ? false : true, filtering: false,\r\n },\r\n {\r\n title: 'Número AF', field: 'idAutorizacaoFornecimento', sorting: false,\r\n hidden: idAutorizacaoFornecimento ? false : true, \r\n defaultFilter: autorizacaoFornecimentoFiltro,\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null ? e.value : null)\r\n }}\r\n defaultValue={\r\n {\r\n label: listaNumeroAF.filter(v => v.value === autorizacaoFornecimentoFiltro).length > 0 ? listaNumeroAF.filter(v => v.value === autorizacaoFornecimentoFiltro)[0].label : \"\",\r\n value: listaNumeroAF.filter(v => v.value === autorizacaoFornecimentoFiltro).length > 0 ? listaNumeroAF.filter(v => v.value === autorizacaoFornecimentoFiltro)[0].value : \"\",\r\n }\r\n }\r\n />\r\n )\r\n },\r\n },\r\n {\r\n title: 'Data Análise de Orçamento (Reprovada)', field: 'dataStatusReprovado',\r\n hidden: dataStatusReprovado ? false : true,\r\n filtering: false,\r\n },\r\n {\r\n title: 'Status', field: 'status', sorting: false,\r\n hidden: statusCheck ? false : true,\r\n filtering: true,\r\n defaultFilter: statusFiltro,\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null ? e.value : null)\r\n }}\r\n defaultValue={\r\n {\r\n label: listaStatus.filter(v => v.value === statusFiltro).length > 0 ? listaStatus.filter(v => v.value === statusFiltro)[0].label : \"\",\r\n value: listaStatus.filter(v => v.value === statusFiltro).length > 0 ? listaStatus.filter(v => v.value === statusFiltro)[0].value : \"\",\r\n }\r\n }\r\n />\r\n )\r\n },\r\n render: rowData =>\r\n listaStatusSolicitacaoFornecimentoCompleto != undefined\r\n ?\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true).length > 0 &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.finalizaSolicitacao == true)[0].\r\n descricaoSolicitacaoFornecimentoVersao === rowData.status ?\r\n
{rowData.status}
\r\n :\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true).length > 0 &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.cancelaSolicitacao == true)[0].\r\n descricaoSolicitacaoFornecimentoVersao === rowData.status || 'Orçamento em Atraso' == rowData.status ?\r\n
{rowData.status}
\r\n :\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.statusAnalise == true).length > 0 &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.statusAnalise == true)[0].\r\n descricaoSolicitacaoFornecimentoVersao + ' (Aprovada)' === rowData.status ?\r\n
{rowData.status}
\r\n :\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.statusAnalise == true).length > 0 &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.statusAnalise == true)[0].\r\n descricaoSolicitacaoFornecimentoVersao + ' (Reprovada)' === rowData.status ?\r\n
{rowData.status}
\r\n :\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.iniciaSolicitacao == true).length > 0 &&\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.iniciaSolicitacao == true)[0].\r\n descricaoSolicitacaoFornecimentoVersao === rowData.status ||\r\n listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.statusAnalise == true).length > 0 &&\r\n 'Em ' + listaStatusSolicitacaoFornecimentoCompleto.filter(x => x.statusAnalise == true)[0].\r\n descricaoSolicitacaoFornecimentoVersao === rowData.status || 'Orçamento Pendente' == rowData.status ?\r\n
{rowData.status}
\r\n :\r\n
{rowData.status}
\r\n :\r\n ''\r\n },\r\n {\r\n title: 'Observação Cancelamento', field: 'observacaoCancelamento', sorting: false,\r\n hidden: observacaoCancelamento ? false : true, filtering: false,\r\n },\r\n {\r\n title: 'Interessado', field: 'interessado', sorting: false,\r\n hidden: interessado ? false : true, defaultFilter: interessadoFiltro,\r\n },\r\n ]}\r\n\r\n data={\r\n query =>\r\n new Promise((resolve, reject) => {\r\n\r\n filtros = {\r\n \"idSolicitacaoFornecimentoFiltro\": \"\",\r\n \"tipoSolicitacaoFiltro\": \"\",\r\n \"assuntoFiltro\": \"\",\r\n \"localFiltro\": \"\",\r\n \"statusFiltro\": \"\",\r\n \"numeroProcessoFiltro\": \"\",\r\n \"regiaoFiltro\": \"\",\r\n \"numeroOficioFiltro\": \"\",\r\n \"numeroOrcamentoFiltro\": \"\",\r\n \"fornecedorFiltro\": \"\",\r\n \"nomeEventoFiltro\": \"\",\r\n \"prioridadeFiltro\": \"\",\r\n \"bairroFiltro\": \"\",\r\n \"autorizacaoFornecimentoFiltro\": \"\",\r\n \"interessadoFiltro\": \"\",\r\n \"numeroOficioOrigemFiltro\": \"\",\r\n };\r\n\r\n //filtros\r\n if (query.filters.filter(c => c.column.field == \"id\").length > 0) {\r\n filtros.idSolicitacaoFornecimentoFiltro = query.filters.filter(c => c.column.field == \"id\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"tipo\").length > 0 > 0) {\r\n filtros.tipoSolicitacaoFiltro = query.filters.filter(c => c.column.field == \"tipo\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"assunto\").length > 0) {\r\n filtros.assuntoFiltro = query.filters.filter(c => c.column.field == \"assunto\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"local\").length > 0) {\r\n filtros.localFiltro = query.filters.filter(c => c.column.field == \"local\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"status\").length > 0) {\r\n filtros.statusFiltro = query.filters.filter(c => c.column.field == \"status\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"numeroProcesso\").length > 0) {\r\n filtros.numeroProcessoFiltro = query.filters.filter(c => c.column.field == \"numeroProcesso\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"regiao\").length > 0) {\r\n filtros.regiaoFiltro = query.filters.filter(c => c.column.field == \"regiao\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"numeroOficio\").length > 0) {\r\n filtros.numeroOficioFiltro = query.filters.filter(c => c.column.field == \"numeroOficio\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"numeroOrcamento\").length > 0) {\r\n filtros.numeroOrcamentoFiltro = query.filters.filter(c => c.column.field == \"numeroOrcamento\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"fornecedor\").length > 0) {\r\n filtros.fornecedorFiltro = query.filters.filter(c => c.column.field == \"fornecedor\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"nomeEvento\").length > 0) {\r\n filtros.nomeEventoFiltro = query.filters.filter(c => c.column.field == \"nomeEvento\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"prioridade\").length > 0) {\r\n filtros.prioridadeFiltro = query.filters.filter(c => c.column.field == \"prioridade\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"bairro\").length > 0) {\r\n filtros.bairroFiltro = query.filters.filter(c => c.column.field == \"bairro\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"idAutorizacaoFornecimento\").length > 0) {\r\n filtros.autorizacaoFornecimentoFiltro = query.filters.filter(c => c.column.field == \"idAutorizacaoFornecimento\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"interessado\").length > 0) {\r\n filtros.interessadoFiltro = query.filters.filter(c => c.column.field == \"interessado\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"numeroOficioOrigem\").length > 0) {\r\n filtros.numeroOficioOrigemFiltro = query.filters.filter(c => c.column.field == \"numeroOficioOrigem\")[0].value;\r\n }\r\n\r\n localStorage[\"filtro-solicitacao-fornecimento\"] = JSON.stringify(filtros);\r\n\r\n fetch(`${urlBase}/api/SolicitacaoFornecimento/ListarCompletoPaginacao`, {\r\n method: \"POST\",\r\n headers: new Headers({\r\n 'Authorization': JSON.parse(localStorage.getItem('token')) !== null ?\r\n `Bearer ${cookies.get('token')}${JSON.parse(localStorage.getItem('token')).tokenCodificado}`\r\n : '',\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }),\r\n body: JSON.stringify({\r\n IdSolicitacaoFornecimento: query.filters.filter(c => c.column.field == \"id\").length > 0 ? query.filters.filter(c => c.column.field == \"id\")[0].value : null,\r\n TipoSolicitacao: query.filters.filter(c => c.column.field == \"tipo\").length > 0 ? query.filters.filter(c => c.column.field == \"tipo\")[0].value : null,\r\n Assunto: query.filters.filter(c => c.column.field == \"assunto\").length > 0 ? query.filters.filter(c => c.column.field == \"assunto\")[0].value : null,\r\n Local: query.filters.filter(c => c.column.field == \"local\").length > 0 ? query.filters.filter(c => c.column.field == \"local\")[0].value : null,\r\n Status: query.filters.filter(c => c.column.field == \"status\").length > 0 ? query.filters.filter(c => c.column.field == \"status\")[0].value : null,\r\n NumeroProcesso: query.filters.filter(c => c.column.field == \"numeroProcesso\").length > 0 ? query.filters.filter(c => c.column.field == \"numeroProcesso\")[0].value : null,\r\n Regiao: query.filters.filter(c => c.column.field == \"regiao\").length > 0 ? query.filters.filter(c => c.column.field == \"regiao\")[0].value : null,\r\n NumeroOficio: query.filters.filter(c => c.column.field == \"numeroOficio\").length > 0 ? query.filters.filter(c => c.column.field == \"numeroOficio\")[0].value : null,\r\n numeroOrcamento: query.filters.filter(c => c.column.field == \"numeroOrcamento\").length > 0 ? query.filters.filter(c => c.column.field == \"numeroOrcamento\")[0].value : null,\r\n Fornecedor: query.filters.filter(c => c.column.field == \"fornecedor\").length > 0 ? query.filters.filter(c => c.column.field == \"fornecedor\")[0].value : null,\r\n Prioridade: query.filters.filter(c => c.column.field == \"prioridade\").length > 0 ? query.filters.filter(c => c.column.field == \"prioridade\")[0].value : null,\r\n Bairro: query.filters.filter(c => c.column.field == \"bairro\").length > 0 ? query.filters.filter(c => c.column.field == \"bairro\")[0].value : null,\r\n NumeroAutorizacaoFornecimento: query.filters.filter(c => c.column.field == \"idAutorizacaoFornecimento\").length > 0 ? query.filters.filter(c => c.column.field == \"idAutorizacaoFornecimento\")[0].value : null,\r\n Interessado: query.filters.filter(c => c.column.field == \"interessado\").length > 0 ? query.filters.filter(c => c.column.field == \"interessado\")[0].value : null,\r\n OrdenacaoIdSolicitacaoFornecimento:\r\n query.orderBy != undefined && query.orderBy.field == \"id\"\r\n ?\r\n query.orderBy.tableData.groupSort == \"asc\"\r\n ?\r\n true\r\n :\r\n false\r\n :\r\n false,\r\n NomeEvento: query.filters.filter(c => c.column.field == \"nomeEvento\").length > 0 ? query.filters.filter(c => c.column.field == \"nomeEvento\")[0].value : null,\r\n NumeroOficioOrigem: query.filters.filter(c => c.column.field == \"numeroOficioOrigem\").length > 0 ? query.filters.filter(c => c.column.field == \"numeroOficioOrigem\")[0].value : null,\r\n GeralFiltro: query.search,\r\n Pagina: query.page + 1,\r\n NumeroPorPagina: query.pageSize\r\n }),\r\n\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve({\r\n data:\r\n listaContrato != undefined && listaContrato.length > 0 && listaContratoUsuario != undefined &&\r\n result.result.data != undefined && result.result.data != null && result.result.data.length > 0 ?\r\n\r\n result.result.data.map(solicitacaoFornecimento => {\r\n\r\n var contrato = [];\r\n if (solicitacaoFornecimento.contratoVersao != null && solicitacaoFornecimento.contratoVersao.idContrato != null) {\r\n contrato = listaContrato.filter((contrato) => contrato.id === solicitacaoFornecimento.contratoVersao.idContrato)\r\n }\r\n\r\n if (contrato.length > 0 && contrato[0].privado && (listaContratoUsuario.filter((contratoUsu) =>\r\n contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contrato[0].id).length === 0)) {\r\n return null\r\n // Verifica se é tipo servico para mostrar nessa tabela\r\n } else if (solicitacaoFornecimento.tipoSolicitacao.servico == false) {\r\n return null\r\n } else {\r\n if(solicitacaoFornecimento.dataStatusReprovado && dataStatusReprovado === false){\r\n setDataStatusReprovado(true);\r\n }\r\n\r\n return {\r\n id: solicitacaoFornecimento.id,\r\n idContrato: contrato[0].id + \" - \" + contrato[0].descricao,\r\n assunto: solicitacaoFornecimento.assunto,\r\n numeroProcesso: solicitacaoFornecimento.numeroProcesso,\r\n local: solicitacaoFornecimento.descricaoLocal,\r\n numeroOficio: solicitacaoFornecimento.numeroOficio,\r\n numeroOrcamento: solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel != null ?\r\n solicitacaoFornecimento.solicitacaoFornecimentoVersaoApiModel.numeroOrcamento\r\n : '',\r\n regiao:\r\n solicitacaoFornecimento.regiao != null ?\r\n solicitacaoFornecimento.regiao.descricao\r\n : '',\r\n tipo:\r\n solicitacaoFornecimento.tipoSolicitacao != null ?\r\n solicitacaoFornecimento.tipoSolicitacao.descricao\r\n : '',\r\n fornecedor:\r\n solicitacaoFornecimento.fornecedor != null ?\r\n solicitacaoFornecimento.fornecedor.nomeFornecedor\r\n : '',\r\n dataSolicitacao: moment(solicitacaoFornecimento.dataSolicitacao).format('L LT'),\r\n status: solicitacaoFornecimento.statusAtual,\r\n prioridade: solicitacaoFornecimento.prioridade.descricao,\r\n corHex: solicitacaoFornecimento.prioridade.corHex,\r\n observacao: solicitacaoFornecimento.observacao,\r\n nomeEvento:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Nome do Evento\").length > 0 ?\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Nome do Evento\")[0].valorVarchar : '',\r\n dataEvento:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Data Inicial\").length > 0 ?\r\n moment(solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Data Inicial\")[0].valorDateTime).format('L')\r\n : '',\r\n nrRefletores:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Número de Refletores\").length > 0 ?\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Número de Refletores\")[0].valorInteger : '',\r\n orcamentoEmAtraso: solicitacaoFornecimento.orcamentoEmAtraso ? 'Sim' : 'Não',\r\n totalValorOrcamento: solicitacaoFornecimento.valorTotalOrcamento,\r\n porteObra: solicitacaoFornecimento.porteObra,\r\n idAutorizacaoFornecimento: solicitacaoFornecimento.idAutorizacaoFornecimento,\r\n bairro:\r\n solicitacaoFornecimento.bairro != null ?\r\n solicitacaoFornecimento.bairro.descricao\r\n : '',\r\n observacaoCancelamento: solicitacaoFornecimento.descricaoCancelar,\r\n interessado: solicitacaoFornecimento.interessado.nome,\r\n dataStatusReprovado: solicitacaoFornecimento.dataStatusReprovado ?\r\n moment(solicitacaoFornecimento.dataStatusReprovado).format('L LT')\r\n : \"\",\r\n numeroOficioOrigem: solicitacaoFornecimento.numeroOficioSolicitacaoOrcamento,\r\n }\r\n }\r\n }).filter(Boolean)\r\n :\r\n []\r\n\r\n ,\r\n page: result.result.pagina - 1,\r\n totalCount: result.result.total,\r\n })\r\n })\r\n })\r\n }\r\n /*\r\n data={listaData\r\n \r\n listaContrato != undefined && listaContrato.length > 0 && listaSolicitacaoFornecimento.data != undefined && listaContratoUsuario != undefined && listaSolicitacaoFornecimento.data.length > 0 ?\r\n \r\n listaSolicitacaoFornecimento.data.map(solicitacaoFornecimento => {\r\n \r\n var contrato = [];\r\n if (solicitacaoFornecimento.contratoVersao != null && solicitacaoFornecimento.contratoVersao.idContrato != null) {\r\n contrato = listaContrato.filter((contrato) => contrato.id === solicitacaoFornecimento.contratoVersao.idContrato)\r\n }\r\n \r\n if (contrato.length > 0 && contrato[0].privado && (listaContratoUsuario.filter((contratoUsu) =>\r\n contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contrato[0].id).length === 0)) {\r\n return null\r\n // Verifica se é tipo servico para mostrar nessa tabela\r\n } else if (solicitacaoFornecimento.tipoSolicitacao.servico == false) {\r\n return null\r\n } else {\r\n return {\r\n id: solicitacaoFornecimento.id,\r\n idContrato: contrato[0].id + \" - \" + contrato[0].descricao,\r\n descricao: solicitacaoFornecimento.descricaoSolicitacao,\r\n numeroProcesso: solicitacaoFornecimento.numeroProcesso,\r\n local: solicitacaoFornecimento.descricaoLocal,\r\n numeroOficio: solicitacaoFornecimento.numeroOficio,\r\n regiao:\r\n solicitacaoFornecimento.regiao != null ?\r\n solicitacaoFornecimento.regiao.descricao\r\n : '',\r\n tipo:\r\n solicitacaoFornecimento.tipoSolicitacao != null ?\r\n solicitacaoFornecimento.tipoSolicitacao.descricao\r\n : '',\r\n fornecedor:\r\n solicitacaoFornecimento.fornecedor != null ?\r\n solicitacaoFornecimento.fornecedor.nomeFornecedor\r\n : '',\r\n dataSolicitacao: moment(solicitacaoFornecimento.dataSolicitacao).format('L LT'),\r\n status: solicitacaoFornecimento.statusAtual,\r\n prioridade: solicitacaoFornecimento.prioridade.descricao,\r\n corHex: solicitacaoFornecimento.prioridade.corHex,\r\n observacao: solicitacaoFornecimento.observacao,\r\n nomeEvento:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Nome do Evento\").length > 0 ?\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Nome do Evento\")[0].valorVarchar : '',\r\n dataEvento:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Data Inicial\").length > 0 ?\r\n moment(solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Data Inicial\")[0].valorDateTime).format('L')\r\n : '',\r\n nrRefletores:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Número de Refletores\").length > 0 ?\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Número de Refletores\")[0].valorInteger : '',\r\n orcamentoEmAtraso: solicitacaoFornecimento.orcamentoEmAtraso ? 'Sim' : 'Não'\r\n }\r\n }\r\n }).filter(Boolean)\r\n :\r\n []\r\n }*/\r\n actions={[\r\n rowData => ({\r\n icon: () => ,\r\n onClick: (event, rowData) => { history.push(`/alterarGeralSolicitacao/${rowData.id}`); }\r\n }),\r\n ,\r\n {\r\n icon: 'refresh',\r\n tooltip: 'Refresh Data',\r\n isFreeAction: true,\r\n onClick: () => tableRef.current && tableRef.current.onQueryChange(),\r\n }\r\n ]}\r\n options={{\r\n minBodyHeight: 500,\r\n sorting: true,\r\n actionsCellStyle: {\r\n width: '5%',\r\n },\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n fontSize: \"13px\",\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n style={{\r\n fontSize: \"14px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\"\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n Solicitações Gerais\r\n \r\n \r\n
\r\n },\r\n {\r\n title: 'Número da Solicitação', field: 'id', defaultSort: 'desc',\r\n sorting: true, cellStyle: {\r\n width: '5%',\r\n },\r\n },\r\n {\r\n title: 'Tipo Solicitação', field: 'tipo', cellStyle: {\r\n width: '11.5%',\r\n }\r\n },\r\n {\r\n title: 'Nome Evento', field: 'nomeEvento', cellStyle: {\r\n width: '11.5%',\r\n }\r\n },\r\n {\r\n title: 'Data Evento', field: 'dataEvento', cellStyle: {\r\n width: '11.5%',\r\n }\r\n },\r\n {\r\n title: 'Endereço', field: 'endereco', cellStyle: {\r\n width: '11.5%',\r\n }\r\n },\r\n {\r\n title: 'Bairro', field: 'bairro', cellStyle: {\r\n width: '9%',\r\n }\r\n },\r\n {\r\n title: 'Número Processo', field: 'numeroProcesso', cellStyle: {\r\n width: '11.5%',\r\n }\r\n },\r\n {\r\n title: 'Número Ofício', field: 'numeroOficio', cellStyle: {\r\n width: '11.5%',\r\n }\r\n },\r\n {\r\n title: 'Data Criação', field: 'dataSolicitacao', cellStyle: {\r\n width: '11.5%',\r\n }\r\n },\r\n {\r\n title: 'Assunto', field: 'assunto', cellStyle: {\r\n width: '11.5%',\r\n }\r\n },\r\n ]}\r\n data={\r\n\r\n listaContrato != undefined && listaContrato.length > 0 && listaSolicitacaoFornecimento != undefined && listaContratoUsuario != undefined && listaSolicitacaoFornecimento.length > 0 ?\r\n listaSolicitacaoFornecimento.map(solicitacaoFornecimento => {\r\n\r\n var contrato = [];\r\n if (solicitacaoFornecimento.contratoVersao != null && solicitacaoFornecimento.contratoVersao.idContrato != null) {\r\n contrato = listaContrato.filter((contrato) => contrato.id === solicitacaoFornecimento.contratoVersao.idContrato)\r\n }\r\n\r\n if (contrato.length > 0 && contrato[0].privado && (listaContratoUsuario.filter((contratoUsu) =>\r\n contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contrato[0].id).length === 0)) {\r\n return null\r\n } else if (solicitacaoFornecimento.tipoSolicitacao.servico == true) {\r\n return null\r\n }\r\n else {\r\n return {\r\n id: solicitacaoFornecimento.id,\r\n idContrato: contrato[0].id + \" - \" + contrato[0].descricao,\r\n endereco: solicitacaoFornecimento != null && solicitacaoFornecimento.tipoSolicitacao.inputServico ? solicitacaoFornecimento.descricaoLocal : '',\r\n bairro: solicitacaoFornecimento != null && solicitacaoFornecimento.tipoSolicitacao.inputServico ? solicitacaoFornecimento.bairro.descricao : '',\r\n numeroProcesso: solicitacaoFornecimento != null && solicitacaoFornecimento.tipoSolicitacao.inputServico ? solicitacaoFornecimento.numeroProcesso : '',\r\n numeroOficio: solicitacaoFornecimento != null ? solicitacaoFornecimento.numeroOficio : '',\r\n descricao:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Descrição\").length > 0 ?\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Descrição\")[0].valorVarchar : '',\r\n tipo:\r\n solicitacaoFornecimento.tipoSolicitacao != null ?\r\n solicitacaoFornecimento.tipoSolicitacao.descricao\r\n : '',\r\n nomeEvento:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Nome do Evento\").length > 0 ?\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Nome do Evento\")[0].valorVarchar : '',\r\n dataEvento:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Data Inicial\").length > 0 &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Data Inicial\")[0].valorDateTime != null ?\r\n moment(solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Data Inicial\")[0].valorDateTime).format('L')\r\n : '',\r\n nrRefletores:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Número de Refletores\").length > 0 ?\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Número de Refletores\")[0].valorInteger : '',\r\n dataSolicitacao: moment(solicitacaoFornecimento.dataSolicitacao).format('L LT'),\r\n assunto:\r\n solicitacaoFornecimento != null && solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel != undefined &&\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Assunto\").length > 0 ?\r\n solicitacaoFornecimento.listaSolicitacaoFornecimentoCaracteristicaRespostaApiModel.filter(x =>\r\n x.caracteristicaResposta.caracteristica.descricaoLabel == \"Assunto\")[0].valorVarchar : '',\r\n corHex: solicitacaoFornecimento.prioridade != null ?\r\n solicitacaoFornecimento.prioridade.corHex : '',\r\n }\r\n }\r\n }).filter(Boolean)\r\n\r\n :\r\n\r\n []\r\n }\r\n actions={[\r\n rowData => ({\r\n icon: () => ,\r\n onClick: (event, rowData) => { history.push(`/alterarGeralSolicitacao/${rowData.id}`); }\r\n }),\r\n ]}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n fontSize: \"13px\",\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n style={{\r\n fontSize: \"14px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\"\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n
\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 { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Col, Card, Button } from \"react-bootstrap\";\r\nimport {\r\n ListarTipoDocumentoArquivoRequest, ExcluirTipoDocumentoArquivoRequest,\r\n InserirTipoDocumentoArquivoRequest, AlterarTipoDocumentoArquivoRequest\r\n} from \"../../../store/modules/tipoDocumentoArquivo/actions\";\r\nimport { IoFileTrayOutline } from \"react-icons/io5\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport MaterialTable from 'material-table';\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport './tipoDocumentoArquivo.css';\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { FaPlus } from \"react-icons/fa\";\r\n\r\nexport default function TipoDocumentoArquivo() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const listaTipoDocumentoArquivo = useSelector(state => state.tipoDocumentoArquivo.listaTipoDocumentoArquivo);\r\n const carregando = useSelector(state => state.tipoDocumentoArquivo.carregando);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"AuxiliaresMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"AuxiliaresInserir\").length == 1 && token.role.filter(r => r == \"AuxiliaresAlterar\").length == 1) {\r\n setTodasOperacoes(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(ListarTipoDocumentoArquivoRequest());\r\n }, [])\r\n\r\n\r\n function ValidacoesInserir(tipoDocumentoArquivo) {\r\n\r\n //validação do nome do tipo arquivo\r\n if (tipoDocumentoArquivo.nomeTipoArquivo == null || tipoDocumentoArquivo.nomeTipoArquivo == undefined\r\n || tipoDocumentoArquivo.nomeTipoArquivo.trim() == '' || tipoDocumentoArquivo.nomeTipoArquivo.length > 50) {\r\n toast.error(`Nome do tipo arquivo inválido`);\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function AdicionarTipoDocumentoArquivo(tipoDocumentoArquivo) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'Descricao': tipoDocumentoArquivo.nomeTipoArquivo.trim()\r\n }\r\n\r\n dispatch(InserirTipoDocumentoArquivoRequest(data));\r\n }\r\n\r\n function AlterarTipoDocumentoArquivo(tipoDocumentoArquivo) {\r\n\r\n let data = {\r\n 'Id': tipoDocumentoArquivo.id,\r\n 'Descricao': tipoDocumentoArquivo.nomeTipoArquivo.trim()\r\n }\r\n\r\n dispatch(AlterarTipoDocumentoArquivoRequest(data));\r\n }\r\n\r\n function ExcluirTipoDocumentoArquivo(idTipoDocumentoArquivo) {\r\n dispatch(ExcluirTipoDocumentoArquivoRequest(idTipoDocumentoArquivo));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Tipo Documento arquivo\r\n \r\n \r\n \r\n
\r\n {\r\n carregando ?\r\n {\r\n if (rowData.nomeTipoArquivo === undefined || rowData.nomeTipoArquivo.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n } else if (rowData.nomeTipoArquivo.trim().length > 50) {\r\n return \"O nome não pode conter mais que 50 caracteres\"\r\n }\r\n return true\r\n },\r\n cellStyle: {\r\n width: '80%'\r\n }\r\n },\r\n ]}\r\n data={\r\n listaTipoDocumentoArquivo != undefined ?\r\n listaTipoDocumentoArquivo\r\n .map(tp => {\r\n return {\r\n id: tp.id,\r\n nomeTipoArquivo: tp.descricao,\r\n }\r\n })\r\n :\r\n []\r\n }\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n editable={{\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AdicionarTipoDocumentoArquivo(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowUpdate: (newRow, oldRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AlterarTipoDocumentoArquivo(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowDelete: oldData => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n ExcluirTipoDocumentoArquivo(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n )\r\n}","export function ListarStatusAutorizacaoFornecimentoRequest() {\r\n return {\r\n type: 'LISTAR_STATUS_AUTORIZACAO_FORNECIMENTO_REQUEST'\r\n }\r\n }\r\n \r\n export function ListarStatusAutorizacaoFornecimentoResponse(listaStatusAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_STATUS_AUTORIZACAO_FORNECIMENTO_RESPONSE',\r\n listaStatusAutorizacaoFornecimento\r\n }\r\n }\r\n\r\n export function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n }","import { Row, Col, Card, Form, Dropdown, DropdownButton } from \"react-bootstrap\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { FaSearchPlus } from \"react-icons/fa\";\r\nimport { RiFilter3Line } from \"react-icons/ri\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { MdAssignment } from \"react-icons/md\";\r\nimport { toast } from \"react-toastify\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { AlterarAutorizacaoFornecimentoRequest } from \"../../../store/modules/autorizacaoFornecimento/actions\";\r\nimport { ListarStatusAutorizacaoFornecimentoRequest } from \"../../../store/modules/statusAutorizacaoFornecimento/actions\";\r\nimport { AtualizarToken } from \"../../../store/modules/global/actions\";\r\nimport Header from '../../../components/Header/header';\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport Cookies from 'universal-cookie';\r\nimport urlBase from '../../../services/rotas';\r\nimport Select from 'react-select';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function Listar() {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const cookies = new Cookies();\r\n const tableRef = React.createRef();\r\n\r\n const listaAutorizacaoFornecimento = useSelector(state => state.autorizacaoFornecimento.listaAutorizacaoFornecimento);\r\n const listaStatusAutorizacaoFornecimento = useSelector(state => state.statusAutorizacaoFornecimento.listaStatusAutorizacaoFornecimento);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n const [numeroAfCheck, setNumeroAfCheck] = useState(true);\r\n const [descricaoCheck, setDescricaoCheck] = useState(true);\r\n const [numeroOrcamentoCheck, setNumeroOrcamentoCheck] = useState(true);\r\n const [numeroOficioCheck, setNumeroOficioCheck] = useState(true);\r\n const [numeroProcessoCheck, setNumeroProcessoCheck] = useState(true);\r\n const [dataInclusaoCheck, setDataInclusaoCheck] = useState(true);\r\n const [statusCheck, setStatusCheck] = useState(true);\r\n const [medicaoPendenteFraseCheck, setMedicaoPendenteFraseCheck] = useState(true);\r\n const [assuntoCheck, setAssuntoCheck] = useState(false);\r\n const [valorObraCheck, setValorObraCheck] = useState(false);\r\n\r\n const [listaMedicaoPendente, setListaMedicaoPendente] = useState([\r\n { value: '1', label: \"Pendente de Quantidade (Cliente)\" },\r\n { value: '2', label: \"Pendente de Quantidade (Fornecedor)\" },\r\n { value: '3', label: \"Pendente de Quantidade (Ambos)\" },\r\n ]);\r\n\r\n const [listaStatus, setListaStatus] = useState([\r\n { value: '4', label: \"Inicial\" },\r\n { value: '6', label: \"Autorização Finalizada\" },\r\n { value: '8', label: \"Autorização Cancelada\" },\r\n { value: '9', label: \"Autorização em Andamento\" },\r\n { value: '10', label: \"Autorização Recebida\" },\r\n { value: '11', label: \"Faturamento Parcial\" },\r\n { value: '12', label: \"Autorização Concluída\" },\r\n ]);\r\n\r\n // Filtros\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n let [filtros] = useState(JSON.parse(localStorage.getItem('filtro-autorizacao-fornecimento')));\r\n\r\n const [numeroAfFiltro, setNumeroAfFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.numeroAfFiltro : 0);\r\n const [numeroSolicitacaoFiltro, setNumeroSolicitacaoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.numeroSolicitacaoFiltro : 0);\r\n const [numeroOrcamentoFiltro, setNumeroOrcamentoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.numeroOrcamentoFiltro : 0);\r\n const [numeroOficioFiltro, setNumeroOficioFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.numeroOficioFiltro : 0);\r\n const [numeroProcessoFiltro, setNumeroProcessoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.numeroProcessoFiltro : 0);\r\n const [statusFiltro, setStatusFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.statusFiltro : 0);\r\n const [medicaoPendenteFiltro, setMedicaoPendenteFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.medicaoPendenteFiltro : 0);\r\n\r\n const [dataInicio, setDataInicio] = useState(null);\r\n const [dataFinal, setDataFinal] = useState(null);\r\n\r\n //Permissão de Visualizar\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n useEffect(() => {\r\n if (token.role.filter(r => r == \"AutorizacaoFornecimentoMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n dispatch(ListarStatusAutorizacaoFornecimentoRequest());\r\n dispatch(AtualizarToken());\r\n TrocarData(filtros);\r\n \r\n }, [])\r\n\r\n function TrocarData(filtros){\r\n\r\n if(filtros.numeroAfFiltro === '' && filtros.numeroSolicitacaoFiltro === '' && filtros.numeroOrcamentoFiltro === '' &&\r\n filtros.numeroOficioFiltro === '' && filtros.numeroProcessoFiltro === '' && filtros.statusFiltro === '' &&\r\n filtros.medicaoPendenteFiltro === '' && !dataInicio && !dataFinal){\r\n setDataInicio(moment().startOf('month'))\r\n setDataFinal(moment().endOf('month'))\r\n }\r\n\r\n }\r\n \r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Autorização Fornecimento\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n setNumeroAfCheck(!numeroAfCheck)} />\r\n Número da Autorização\r\n \r\n \r\n \r\n \r\n setDescricaoCheck(!descricaoCheck)} />\r\n Número Solicitação\r\n \r\n \r\n \r\n \r\n setNumeroOrcamentoCheck(!numeroOrcamentoCheck)} />\r\n Número Orçamento\r\n \r\n \r\n \r\n \r\n setNumeroOficioCheck(!numeroOficioCheck)} />\r\n Número Oficio\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setNumeroProcessoCheck(!numeroProcessoCheck)} />\r\n Número Processo\r\n \r\n \r\n \r\n \r\n setDataInclusaoCheck(!dataInclusaoCheck)} />\r\n Data Criação\r\n \r\n \r\n \r\n \r\n setStatusCheck(!statusCheck)} />\r\n Status\r\n \r\n \r\n \r\n \r\n setMedicaoPendenteFraseCheck(!medicaoPendenteFraseCheck)} />\r\n Medição Pendente\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setAssuntoCheck(!assuntoCheck)} />\r\n Assunto\r\n \r\n \r\n \r\n \r\n setValorObraCheck(!valorObraCheck)} />\r\n Valor da Obra\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n

\r\n \r\n \r\n {\r\n if (rowData.descricao === undefined || rowData.descricao.trim() === \"\") {\r\n return \"Campo obrigatório\"\r\n } else if (rowData.descricao.trim().length > 200) {\r\n return \"A descrição não pode conter mais que 200 caracteres\"\r\n }\r\n return true\r\n }\r\n },\r\n {\r\n title: \"Número Orçamento\", field: 'numeroOrcamento', \r\n sorting: false,\r\n defaultFilter: numeroOrcamentoFiltro,\r\n hidden: numeroOrcamentoCheck ? false : true,\r\n },\r\n {\r\n title: \"Número Ofício\", field: 'numeroOficio', \r\n sorting: false,\r\n defaultFilter: numeroOficioFiltro,\r\n hidden: numeroOficioCheck ? false : true,\r\n },\r\n {\r\n title: \"Número Processo\", field: 'numeroProcesso', \r\n sorting: false,\r\n defaultFilter: numeroProcessoFiltro,\r\n hidden: numeroProcessoCheck ? false : true,\r\n },\r\n {\r\n title: \"Data Criação\", field: 'dataInclusao', \r\n sorting: false,\r\n hidden: dataInclusaoCheck ? false : true,\r\n filterComponent: (props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Data Inicial de Criação\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null ? e.target.value : null);\r\n setDataInicio(e != null ? e.target.value : null)\r\n }}\r\n />\r\n \r\n \r\n Data Final de Criação\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null ? e.target.value : null);\r\n setDataFinal(e != null ? e.target.value : null)\r\n }}\r\n />\r\n \r\n
\r\n
\r\n \r\n
\r\n )\r\n },\r\n defaultFilter: dataInicio != null ? dataInicio : dataFinal != null ? dataFinal : 0,\r\n id: dataFinal != null ? 2 : dataInicio != null ? 1 : 0,\r\n },\r\n {\r\n title: \"Assunto\", field: 'assunto',\r\n sorting: false,\r\n hidden: assuntoCheck ? false : true,\r\n },\r\n {\r\n title: \"Valor da Obra\", field: 'valorObra', \r\n sorting: false,\r\n hidden: valorObraCheck ? false : true,\r\n },\r\n {\r\n title: 'Status', field: 'status', \r\n hidden: statusCheck ? false : true,\r\n defaultFilter: statusFiltro,\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null ? e.value : null)\r\n }}\r\n\r\n defaultValue={\r\n {\r\n label: listaStatus.filter(v => v.value === statusFiltro).length > 0 ? listaStatus.filter(v => v.value === statusFiltro)[0].label : \"\",\r\n value: listaStatus.filter(v => v.value === statusFiltro).length > 0 ? listaStatus.filter(v => v.value === statusFiltro)[0].value : \"\",\r\n }\r\n }\r\n />\r\n )\r\n },\r\n sorting: false,\r\n render: rowData =>\r\n // Verificar qual é o status de cada autorização para colorir na lista\r\n listaStatusAutorizacaoFornecimento != undefined\r\n && listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true).length > 0\r\n && listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true).length > 0 ?\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true)[0].\r\n descricao === rowData.status ?\r\n
{rowData.status}
\r\n :\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true)[0].\r\n descricao === rowData.status ?\r\n
{rowData.status}
\r\n :\r\n
{rowData.status}
\r\n :\r\n ''\r\n },\r\n {\r\n title: \"Medição Pendente\", field: 'medicaoPendenteFrase', \r\n hidden: medicaoPendenteFraseCheck ? false : true,\r\n filtering: true,\r\n sorting: false,\r\n defaultFilter: medicaoPendenteFiltro,\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null ? e.value : null)\r\n }}\r\n defaultValue={\r\n {\r\n label: listaMedicaoPendente.filter(v => v.value === medicaoPendenteFiltro).length > 0 ? listaMedicaoPendente.filter(v => v.value === medicaoPendenteFiltro)[0].label : \"\",\r\n value: listaMedicaoPendente.filter(v => v.value === medicaoPendenteFiltro).length > 0 ? listaMedicaoPendente.filter(v => v.value === medicaoPendenteFiltro)[0].value : \"\",\r\n }\r\n }\r\n />\r\n )\r\n },\r\n }\r\n ]}\r\n data={\r\n query =>\r\n new Promise((resolve, reject) => {\r\n\r\n filtros = {\r\n \"numeroAfFiltro\": \"\",\r\n \"numeroSolicitacaoFiltro\": \"\",\r\n \"numeroOrcamentoFiltro\": \"\",\r\n \"numeroOficioFiltro\": \"\",\r\n \"numeroProcessoFiltro\": \"\",\r\n \"statusFiltro\": \"\",\r\n \"medicaoPendenteFiltro\": \"\",\r\n \"dataInicioFiltro\": \"\",\r\n \"dataFinalFiltro\": \"\"\r\n };\r\n\r\n //filtros\r\n if (query.filters.filter(c => c.column.field == \"numeroAf\").length > 0) {\r\n filtros.numeroAfFiltro = query.filters.filter(c => c.column.field == \"numeroAf\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"descricao\").length > 0 > 0) {\r\n filtros.numeroSolicitacaoFiltro = query.filters.filter(c => c.column.field == \"descricao\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"numeroOrcamento\").length > 0) {\r\n filtros.numeroOrcamentoFiltro = query.filters.filter(c => c.column.field == \"numeroOrcamento\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"numeroOficio\").length > 0) {\r\n filtros.numeroOficioFiltro = query.filters.filter(c => c.column.field == \"numeroOficio\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"numeroProcesso\").length > 0) {\r\n filtros.numeroProcessoFiltro = query.filters.filter(c => c.column.field == \"numeroProcesso\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"status\").length > 0) {\r\n filtros.statusFiltro = query.filters.filter(c => c.column.field == \"status\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"medicaoPendenteFrase\").length > 0) {\r\n filtros.medicaoPendenteFiltro = query.filters.filter(c => c.column.field == \"medicaoPendenteFrase\")[0].value;\r\n }\r\n if (query.filters.filter(c => c.column.field == \"dataInclusao\").length > 0) {\r\n var column = query.filters.filter(c => c.column.field == \"dataInclusao\")[0].column;\r\n if (column.id == 1) {\r\n filtros.dataInicioFiltro = query.filters.filter(c => c.column.field == \"dataInclusao\")[0].value;\r\n }\r\n if (column.id == 2) {\r\n filtros.dataFinalFiltro = query.filters.filter(c => c.column.field == \"dataInclusao\")[0].value;\r\n }\r\n }\r\n\r\n setNumeroAfFiltro(filtros.numeroAfFiltro);\r\n setNumeroSolicitacaoFiltro(filtros.numeroSolicitacaoFiltro);\r\n setNumeroOrcamentoFiltro(filtros.numeroOrcamentoFiltro);\r\n setNumeroOficioFiltro(filtros.numeroOficioFiltro);\r\n setNumeroProcessoFiltro(filtros.numeroProcessoFiltro);\r\n setStatusFiltro(filtros.statusFiltro);\r\n setMedicaoPendenteFiltro(filtros.medicaoPendenteFiltro);\r\n\r\n TrocarData(filtros);\r\n\r\n localStorage[\"filtro-autorizacao-fornecimento\"] = JSON.stringify(filtros);\r\n\r\n fetch(`${urlBase}/api/AutorizacaoFornecimento/listarCompletoPaginacao`, {\r\n method: \"POST\",\r\n headers: new Headers({\r\n 'Authorization': JSON.parse(localStorage.getItem('token')) !== null ?\r\n `Bearer ${cookies.get('token')}${JSON.parse(localStorage.getItem('token')).tokenCodificado}`\r\n : '',\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }),\r\n body: JSON.stringify({\r\n Pagina: query.page + 1,\r\n NumeroPorPagina: query.pageSize,\r\n NumeroSolicitacao: query.filters.filter(c => c.column.field == \"descricao\").length > 0 ? query.filters.filter(c => c.column.field == \"descricao\")[0].value : null,\r\n IdAutorizacaoFornecimento: query.filters.filter(c => c.column.field == \"numeroAf\").length > 0 ? query.filters.filter(c => c.column.field == \"numeroAf\")[0].value : null,\r\n IdSolicitacaoFornecimento: query.filters.filter(c => c.column.field == \"idSolicitacaoFornecimentoVersao\").length > 0 ? query.filters.filter(c => c.column.field == \"idSolicitacaoFornecimentoVersao\")[0].value : null,\r\n NumeroOrcamento: query.filters.filter(c => c.column.field == \"numeroOrcamento\").length > 0 ? query.filters.filter(c => c.column.field == \"numeroOrcamento\")[0].value : null,\r\n NumeroOficio: query.filters.filter(c => c.column.field == \"numeroOficio\").length > 0 ? query.filters.filter(c => c.column.field == \"numeroOficio\")[0].value : null,\r\n NumeroProcesso: query.filters.filter(c => c.column.field == \"numeroProcesso\").length > 0 ? query.filters.filter(c => c.column.field == \"numeroProcesso\")[0].value : null,\r\n Status: query.filters.filter(c => c.column.field == \"status\").length > 0 ? query.filters.filter(c => c.column.field == \"status\")[0].value : null,\r\n MedicaoPendente: query.filters.filter(c => c.column.field == \"medicaoPendenteFrase\").length > 0 ? query.filters.filter(c => c.column.field == \"medicaoPendenteFrase\")[0].value : null,\r\n DataInicial: dataInicio !== null && dataInicio !== '' ? moment(dataInicio) : null,\r\n DataFinal: dataFinal !== null && dataFinal !== '' ? moment(dataFinal) : null,\r\n OrdenacaoIdAutorizacaoFornecimento:\r\n query.orderBy != undefined && query.orderBy.field == \"numeroAf\"\r\n ?\r\n query.orderBy.tableData.groupSort == \"asc\"\r\n ?\r\n true\r\n :\r\n false\r\n :\r\n false,\r\n geralFiltro: query.search,\r\n }),\r\n\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve({\r\n data:\r\n result.result.data != undefined && result.result.data.length > 0 ?\r\n result.result.data.map((lista) => {\r\n return {\r\n id: lista.id,\r\n numeroAf: lista.numeroAf,\r\n descricao: lista.solicitacaoFornecimentoVersao.idSolicitacaoFornecimento,\r\n idSolicitacaoFornecimentoVersao: lista.idSolicitacaoFornecimentoVersao,\r\n fornecedor:\r\n lista.solicitacaoFornecimentoVersao != null &&\r\n lista.solicitacaoFornecimentoVersao.solicitacaoFornecimento != null &&\r\n lista.solicitacaoFornecimentoVersao.solicitacaoFornecimento.fornecedor != null &&\r\n lista.solicitacaoFornecimentoVersao.solicitacaoFornecimento.fornecedor.nomeFornecedor != null ?\r\n lista.solicitacaoFornecimentoVersao.solicitacaoFornecimento.fornecedor.nomeFornecedor\r\n :\r\n '',\r\n dataInclusao: moment(lista.dataInclusao).format('L LT'),\r\n status: lista.statusAtual,\r\n dataInclusaoApi: lista.dataInclusao,\r\n numeroProcesso:\r\n lista.solicitacaoFornecimentoVersao != null &&\r\n lista.solicitacaoFornecimentoVersao.solicitacaoFornecimento != null &&\r\n lista.solicitacaoFornecimentoVersao.solicitacaoFornecimento.numeroProcesso,\r\n numeroOficio: lista.numeroOficio,\r\n numeroOrcamento: lista.solicitacaoFornecimentoVersao.numeroOrcamento,\r\n medicaoPendente: lista.medicaoPendente,\r\n medicaoPendenteFrase: lista.medicaoPendenteFrase,\r\n assunto: lista.solicitacaoFornecimentoVersao != null &&\r\n lista.solicitacaoFornecimentoVersao.solicitacaoFornecimento != null &&\r\n lista.solicitacaoFornecimentoVersao.solicitacaoFornecimento.assunto ? \r\n lista.solicitacaoFornecimentoVersao.solicitacaoFornecimento.assunto : '',\r\n valorObra: lista.valorObra.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n })\r\n }\r\n })\r\n :\r\n []\r\n\r\n ,\r\n page: result.result.pagina - 1,\r\n totalCount: result.result.total,\r\n })\r\n }).catch(error => {\r\n history.push(`/`);\r\n toast.error('Usuário fornecedor não relacionado a autorização');\r\n })\r\n })\r\n }\r\n\r\n options={{\r\n debounceInterval: 1500,\r\n minBodyHeight: 500,\r\n sorting: true,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"11px\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: () => ,\r\n onClick: () => history.push(`/alterarGeralAutorizacao/${rowData.id}`)\r\n }),\r\n {\r\n icon: 'refresh',\r\n tooltip: 'Refresh Data',\r\n isFreeAction: true,\r\n onClick: () => tableRef.current && tableRef.current.onQueryChange(),\r\n }\r\n ]}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n}","export function ListarAutorizacaoFornecimentoStatusRequest(IdAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST',\r\n IdAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarAutorizacaoFornecimentoStatusResponse(listaAutorizacaoFornecimentoStatus) {\r\n return {\r\n type: 'LISTAR_AUTORIZACAO_FORNECIMENTO_STATUS_RESPONSE',\r\n listaAutorizacaoFornecimentoStatus\r\n }\r\n}\r\n\r\nexport function ListarCompletoAutorizacaoFornecimentoStatusRequest(IdAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST',\r\n IdAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarCompletoAutorizacaoFornecimentoStatusResponse(listaCompletoAutorizacaoFornecimentoStatus) {\r\n return {\r\n type: 'LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_STATUS_RESPONSE',\r\n listaCompletoAutorizacaoFornecimentoStatus\r\n }\r\n}\r\n\r\nexport function InserirAutorizacaoFornecimentoStatusRequest(data, IdAutorizacaoFornecimento, validacao) {\r\n return {\r\n type: 'INSERIR_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST',\r\n data, IdAutorizacaoFornecimento, validacao\r\n }\r\n}\r\n\r\nexport function AlterarAutorizacaoFornecimentoStatusRequest(data, IdAutorizacaoFornecimento) {\r\n return {\r\n type: 'ALTERAR_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST',\r\n data, IdAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ExcluirAutorizacaoFornecimentoStatusRequest(id, IdAutorizacaoFornecimento) {\r\n return {\r\n type: 'EXCLUIR_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST',\r\n id, IdAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ExcluirAutorizacaoFornecimentoStatusReabrirAutorizacaoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_AUTORIZACAO_FORNECIMENTO_STATUS_REABRIR_AUTORIZACAO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ModalConfimacaoStatusFinalizado(modalConfirmacaoStatusFinalizado) {\r\n return {\r\n type: 'MODAL_CONFIRMACAO_STATUS_FINALIZADO',\r\n modalConfirmacaoStatusFinalizado\r\n }\r\n}\r\n\r\nexport function LimparModalConfimacaoStatusFinalizado() {\r\n return {\r\n type: 'LIMPAR_MODAL_CONFIRMACAO_STATUS_FINALIZADO'\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { Page, Text, View, Document, StyleSheet, Image } from '@react-pdf/renderer';\r\nimport { useEffect } from \"react\";\r\nimport img from '../../assets/login/img_login.png';\r\nimport moment from 'moment';\r\nimport cabecalho from '../../assets/novoCabecalhoCor.jpg';\r\nimport rodape from '../../assets/novoRodapeCor.jpg';\r\n\r\nconst styles = StyleSheet.create({\r\n page: {\r\n flexDirection: 'row',\r\n backgroundColor: '#fff',\r\n fontSize: '10',\r\n },\r\n titulo: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontWeight: 'bold',\r\n fontSize: '15',\r\n },\r\n linha: {\r\n borderBottom: '1px solid #0000',\r\n width: '100%',\r\n },\r\n espaco: {\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n },\r\n table: {\r\n width: '100%',\r\n },\r\n section: {\r\n marginBottom: 10,\r\n marginLeft: 10,\r\n marginRight: 10,\r\n paddingBottom: 10,\r\n paddingRight: 10,\r\n paddingLeft: 10,\r\n flexGrow: 1,\r\n },\r\n row: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n },\r\n\r\n rowCabecalho: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 2,\r\n paddingBottom: 2,\r\n },\r\n bold: {\r\n fontWeight: 'bold',\r\n fontFamily: 'Helvetica-Bold'\r\n },\r\n bordaCompleta: {\r\n border: '1px solid #0000',\r\n margin: 1\r\n },\r\n comeco: {\r\n width: \"25%\",\r\n },\r\n\r\n meio: {\r\n width: \"50%\",\r\n display: 'flex',\r\n textAlign: 'center',\r\n alignItems: 'center'\r\n },\r\n\r\n fim: {\r\n width: \"35%\",\r\n },\r\n linhaMetadeInicio: {\r\n width: \"50%\",\r\n },\r\n linhaSemiCompleta: {\r\n width: \"85%\",\r\n },\r\n fimLinhaSemiCompleta: {\r\n width: \"15%\",\r\n },\r\n linhaCompleta: {\r\n width: \"100%\",\r\n },\r\n width8: {\r\n width: \"8%\"\r\n },\r\n width10: {\r\n width: \"10%\"\r\n },\r\n width20: {\r\n width: \"20%\"\r\n },\r\n cabecalho: {\r\n color: '#fff',\r\n backgroundColor: '#212529',\r\n bordercolor: '#32383e'\r\n },\r\n cinza: {\r\n backgroundColor: '#e9ecef',\r\n },\r\n logo: {\r\n width: '200',\r\n height: '100'\r\n },\r\n top20: {\r\n top: '20'\r\n },\r\n top40: {\r\n top: '40'\r\n },\r\n top60: {\r\n top: '60'\r\n },\r\n recuo: {\r\n textIndent: '40px'\r\n },\r\n comecoMaior: {\r\n width: \"40%\",\r\n },\r\n alinharBottom: {\r\n position: 'absolute',\r\n bottom: '0',\r\n padding: '5',\r\n },\r\n rodape: {\r\n width: '585',\r\n height: '50',\r\n },\r\n});\r\n\r\nexport default function PdfAutorizacaoFornecimento({ data }) {\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [])\r\n\r\n return (\r\n \r\n {\r\n data != 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 \r\n \r\n \r\n \r\n AF Nº: {data.numeroAf}\r\n \r\n \r\n \r\n Fortaleza, {moment(moment((data.data)).add('hours', 2)).format('LL')}\r\n \r\n \r\n \r\n \r\n OFÍCIO Nº: {data.numeroOficio}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Sr(a): {data.destinatario}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Gerente de Contrato: {data.nomeFornecedor}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Rua Padre Severiano - Messejana, Fortaleza - CE, 60871-565\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Nos termos do contrato nº {data.descricaoContrato}, firmado entre o MUNICÍPIO DE FORTALEZA e a empresa {data.nomeFornecedor},\r\n para execução de obras e serviços de engenharia concenentes a gestão do Parque de Iluminação Pública do Munícipio de\r\n Fortaleza, com relevante no item 5, ambos do Projeto Básico, fica a Contratada autorizada a executar os serviços\r\n caracterizados a seguir:\r\n \r\n \r\n \r\n \r\n \r\n \r\n a. Título da Obra: {data.tituloObra}\r\n \r\n \r\n \r\n \r\n \r\n b. Processo Nº. {data.numeroProcesso}\r\n \r\n \r\n \r\n \r\n \r\n c. Local: {data.local}\r\n \r\n \r\n \r\n \r\n \r\n d. Valor: {data.valor} conforme planilha de atividades e preços aprovados.\r\n \r\n \r\n \r\n \r\n \r\n e. Prazo de Execução: {data.prazo}\r\n \r\n \r\n \r\n \r\n \r\n f. Tipo de Obra: {data.tipoSolicitacao}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ________________________________________________________\r\n \r\n \r\n \r\n \r\n {data.autorizador}\r\n \r\n \r\n \r\n \r\n COORDENADOR DA COEIP\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Cliente,\r\n \r\n \r\n \r\n \r\n \r\n \r\n ________________________________________________________\r\n \r\n \r\n \r\n \r\n {data.destinatario}\r\n \r\n \r\n \r\n \r\n GERENTE DE CONTRATO - {data.nomeFornecedor}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n :\r\n\r\n \r\n \r\n \r\n ERRO AO GERAR PDF\r\n \r\n \r\n \r\n\r\n }\r\n \r\n )\r\n}","import { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Alert, ProgressBar, Button, InputGroup, Modal } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { BuscarCompletoAutorizacaoFornecimentoRequest, LimparAutorizacao } from \"../../../store/modules/autorizacaoFornecimento/actions\";\r\nimport { ListarStatusAutorizacaoFornecimentoRequest } from \"../../../store/modules/statusAutorizacaoFornecimento/actions\";\r\nimport { ListarAutorizacaoFornecimentoStatusRequest } from \"../../../store/modules/autorizacaoFornecimentoStatus/actions\";\r\nimport { ListarAutorizacaoFornecimentoSubitemCustoRequest } from \"../../../store/modules/autorizacaoFornecimentoSubitemCusto/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport {\r\n AlterarPrazoSolicitacaoFornecimentoRequest,\r\n BuscarSolicitacaoFornecimentoPorIdRequest\r\n} from '../../../store/modules/solicitacaoFornecimento/actions';\r\nimport {\r\n ListarDadosExportarPDFAutorizacaoFornecimentoRequest,\r\n ListarRelatorioAutorizacaoFornecimentoSubItemCustoRequest\r\n} from \"../../../store/modules/relatorio/actions\";\r\nimport { PDFDownloadLink } from '@react-pdf/renderer';\r\nimport { RiCheckboxCircleLine } from \"react-icons/ri\";\r\nimport { BuscarUsuarioPorIdRequest } from '../../../store/modules/usuario/actions';\r\nimport { ListarContratoUsuarioRequest } from '../../../store/modules/contratoUsuario/actions';\r\nimport moment from 'moment';\r\nimport PdfAutorizacaoFornecimento from \"../../../components/PdfAutorizacaoFornecimento/pdfAutorizacaoFornecimento\";\r\nimport Loading from '../../../components/Loading/loading';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function AutorizacaoFornecimento() {\r\n\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n const { idAutorizacaoFornecimento } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const autorizacaoFornecimentoCompleto = useSelector(state => state.autorizacaoFornecimento.autorizacaoFornecimentoCompleto);\r\n const listaStatusAutorizacaoFornecimento = useSelector(state => state.statusAutorizacaoFornecimento.listaStatusAutorizacaoFornecimento);\r\n const listaAutorizacaoFornecimentoStatus = useSelector(state => state.autorizacaoFornecimentoStatus.listaAutorizacaoFornecimentoStatus);\r\n const listaRelatorioAutorizacaoFornecimentoSubitemCusto = useSelector(state => state.relatorio.listaRelatorioAutorizacaoFornecimentoSubitemCusto);\r\n const listaDadosExportarPDFAutorizacaoFornecimento = useSelector(state => state.relatorio.listaDadosExportarPDFAutorizacaoFornecimento);\r\n const solicitacaoFornecimento = useSelector(state => state.solicitacaoFornecimento.solicitacaoFornecimentoCompleto);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const listaAutorizacaoFornecimentoSubitemCusto = useSelector(state => state.autorizacaoFornecimentoSubitemCusto.listaAutorizacaoFornecimentoSubitemCusto);\r\n const carregandoPDF = useSelector(state => state.relatorio.carregando);\r\n\r\n const [numeroAF, setNumeroAF] = useState(\"\");\r\n const [numeroSolicitacao, setNumeroSolicitacao] = useState(\"\");\r\n const [numeroContrato, setNumeroContrato] = useState(\"\");\r\n const [observacao, setObservacao] = useState(\"\");\r\n const [dataInclusao, setDataInclusao] = useState(\"\");\r\n const [numeroOficio, setNumeroOficio] = useState('');\r\n const [local, setLocal] = useState(\"\");\r\n const [assunto, setAssunto] = useState(\"\");\r\n const [endereco, setEndereco] = useState(\"\");\r\n const [bairro, setBairro] = useState(\"\");\r\n const [regiao, setRegiao] = useState(\"\");\r\n const [numeroProcesso, setNumeroProcesso] = useState(\"\");\r\n const [numeroHoras, setNumeroHoras] = useState(\"\");\r\n const [interessado, setInteressado] = useState(\"\");\r\n const [numeroOrcamento, setNumeroOrcamento] = useState(\"\");\r\n const [validated, setValidate] = useState(false);\r\n const [dados, setDados] = useState('');\r\n const [valorObra, setValorObra] = useState('');\r\n const [criador, setCriador] = useState('');\r\n const [empenhos, setEmpenhos] = useState([]);\r\n const [carregandoTime, setCarregandoTime] = useState(false);\r\n\r\n const [show, setShow] = useState(false);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r === \"AutorizacaoFornecimentoMenu\").length === 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r === \"AutorizacaoFornecimentoInserir\").length === 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r === \"AutorizacaoFornecimentoAlterar\").length === 1) {\r\n setAlterar(true);\r\n }\r\n\r\n }, [])\r\n\r\n var resultado = 0;\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarContratoUsuarioRequest());\r\n dispatch(ListarStatusAutorizacaoFornecimentoRequest());\r\n if (idAutorizacaoFornecimento !== undefined) {\r\n dispatch(BuscarCompletoAutorizacaoFornecimentoRequest(idAutorizacaoFornecimento));\r\n dispatch(ListarAutorizacaoFornecimentoStatusRequest(idAutorizacaoFornecimento));\r\n dispatch(ListarRelatorioAutorizacaoFornecimentoSubItemCustoRequest(idAutorizacaoFornecimento));\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': parseInt(idAutorizacaoFornecimento)\r\n }\r\n\r\n dispatch(ListarAutorizacaoFornecimentoSubitemCustoRequest(data));\r\n }\r\n\r\n if (usuario != null) {\r\n dispatch(BuscarUsuarioPorIdRequest(usuario.id));\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (autorizacaoFornecimentoCompleto !== undefined && autorizacaoFornecimentoCompleto !== null) {\r\n dispatch(BuscarSolicitacaoFornecimentoPorIdRequest(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.id));\r\n }\r\n\r\n // Verifica se tem todos os dados da autorizacaoFornecimento, para poder carregar os states\r\n if (autorizacaoFornecimentoCompleto != null && listaAutorizacaoFornecimentoStatus !== undefined &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato != null &&\r\n autorizacaoFornecimentoCompleto.id === parseInt(idAutorizacaoFornecimento) && listaAutorizacaoFornecimentoStatus !== undefined) {\r\n\r\n CarregarAutorizacaoFornecimento();\r\n }\r\n\r\n }, [autorizacaoFornecimentoCompleto, listaAutorizacaoFornecimentoStatus])\r\n\r\n useEffect(() => {\r\n\r\n var valorObraAtual = 0;\r\n\r\n if (listaAutorizacaoFornecimentoSubitemCusto !== undefined) {\r\n\r\n listaAutorizacaoFornecimentoSubitemCusto.map(lista => {\r\n\r\n valorObraAtual += (lista.subitemCusto.valorUnitario * lista.quantidade)\r\n })\r\n\r\n }\r\n setValorObra(\"R$\" + valorObraAtual.toFixed(2));\r\n\r\n var empenhos = [];\r\n\r\n if (listaAutorizacaoFornecimentoSubitemCusto !== undefined &&\r\n listaAutorizacaoFornecimentoSubitemCusto !== null &&\r\n listaAutorizacaoFornecimentoSubitemCusto.length > 0 &&\r\n listaAutorizacaoFornecimentoSubitemCusto[0].descricaoEmpenho !== null &&\r\n listaAutorizacaoFornecimentoSubitemCusto[0].descricaoEmpenho !== undefined &&\r\n listaAutorizacaoFornecimentoSubitemCusto[0].descricaoEmpenho.length > 0) {\r\n empenhos = listaAutorizacaoFornecimentoSubitemCusto[0].descricaoEmpenho.map((item) => (\r\n ` ${item}`\r\n ))\r\n }\r\n\r\n setEmpenhos(empenhos);\r\n\r\n }, [listaAutorizacaoFornecimentoSubitemCusto])\r\n\r\n useEffect(() => () =>\r\n dispatch(LimparAutorizacao())\r\n , []);\r\n\r\n function ListarProjecao() {\r\n\r\n //calculo da projeção na barra de progresso, valorTotal = valor total da af; valorAtual = valor dos subitens ja finalizados \r\n if (listaRelatorioAutorizacaoFornecimentoSubitemCusto !== undefined && listaRelatorioAutorizacaoFornecimentoSubitemCusto.length !== 0) {\r\n resultado = (listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorAtual / listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorTotal) * 100;\r\n }\r\n\r\n return resultado;\r\n\r\n }\r\n\r\n function CarregarAutorizacaoFornecimento() {\r\n\r\n setNumeroAF(autorizacaoFornecimentoCompleto.numeroAf);\r\n setNumeroSolicitacao(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.id);\r\n setNumeroContrato(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.contrato.descricao);\r\n setObservacao(autorizacaoFornecimentoCompleto.observacaoAutorizacaoFornecimento);\r\n setDataInclusao(autorizacaoFornecimentoCompleto.dataInclusao);\r\n setNumeroOficio(autorizacaoFornecimentoCompleto.numeroOficio);\r\n setLocal(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.descricaoLocal);\r\n setAssunto(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.assunto);\r\n setNumeroProcesso(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.numeroProcesso);\r\n setEndereco(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.endereco);\r\n setBairro(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.bairro.descricao);\r\n setRegiao(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.regiao.descricao);\r\n setNumeroHoras(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.prazoDias);\r\n setNumeroOrcamento(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.numeroOrcamento);\r\n setInteressado(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.interessado != null ?\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.interessado.nome : '');\r\n setCriador(listaAutorizacaoFornecimentoStatus !== undefined && listaAutorizacaoFornecimentoStatus !== null &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.statusAutorizacaoFornecimento.iniciaAutorizacao == true)[0] !== undefined ? listaAutorizacaoFornecimentoStatus.filter(x =>\r\n x.statusAutorizacaoFornecimento.iniciaAutorizacao == true)[0].usuario.nome : '');\r\n\r\n setCarregandoTime(true);\r\n }\r\n\r\n function exportaFotos() {\r\n dispatch(ListarDadosExportarPDFAutorizacaoFornecimentoRequest({ 'IdAutorizacaoFornecimento': idAutorizacaoFornecimento }));\r\n }\r\n\r\n function MudarPrazo() {\r\n\r\n // Verifica permissões do usuário\r\n var lista = [];\r\n\r\n if (listaContratoUsuario != undefined && autorizacaoFornecimentoCompleto != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato != null) {\r\n lista = listaContratoUsuario.filter(x => x.idUsuario === usuario.id &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato === x.idContrato)\r\n }\r\n\r\n if (lista.length > 0 && lista[0].editaPrazoAutorizacao === true) {\r\n\r\n if (numeroHoras != '' && solicitacaoFornecimento != undefined) {\r\n\r\n let solicitacaoCompleta = {\r\n 'Id': solicitacaoFornecimento == null ? 0 : parseInt(solicitacaoFornecimento.id),\r\n 'PrazoDias': parseInt(numeroHoras),\r\n }\r\n\r\n setDados(solicitacaoCompleta);\r\n\r\n dispatch(AlterarPrazoSolicitacaoFornecimentoRequest(solicitacaoCompleta));\r\n }\r\n } else {\r\n toast.error(\"Você não possui permissão para editar o prazo na autorização!\");\r\n }\r\n\r\n //TODO montar o objeto alterando o prazoDias com o useState NumeroHoras\r\n //var solicitacao = autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento;\r\n\r\n }\r\n\r\n function MontarPDF() {\r\n\r\n if (idAutorizacaoFornecimento != undefined) {\r\n handleShow();\r\n dispatch(ListarDadosExportarPDFAutorizacaoFornecimentoRequest({ 'IdAutorizacaoFornecimento': idAutorizacaoFornecimento }));\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n carregandoTime ?\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úmero da Autorização\r\n setNumeroAF(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n \r\n Número da Solicitação\r\n setNumeroSolicitacao(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n \r\n Criador da Autorização\r\n setCriador(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Contrato\r\n setNumeroContrato(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n \r\n Assunto\r\n setAssunto(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Número Oficio\r\n \r\n \r\n\r\n \r\n Número Processo\r\n setNumeroProcesso(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Local\r\n setLocal(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n \r\n Bairro\r\n setBairro(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Região\r\n setRegiao(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n \r\n Prazo Total (dias)\r\n \r\n setNumeroHoras(e.target.value)}\r\n required\r\n disabled={\r\n // Verifica permissões do usuário\r\n listaContratoUsuario != undefined && autorizacaoFornecimentoCompleto != undefined &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato != null\r\n && listaContratoUsuario.filter(x => x.idUsuario === usuario.id &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato === x.idContrato).length > 0 ?\r\n listaContratoUsuario.filter(x => x.idUsuario === usuario.id &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato === x.idContrato)[0].editaPrazoAutorizacao === true ?\r\n false : true\r\n : true\r\n }\r\n maxLength=\"10\"\r\n isInvalid={validated && numeroHoras === \"\" ? true : false}\r\n isValid={validated && numeroHoras !== \"\" ? true : false}\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n O campo Prazo é obrigatório.\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Data de Início\r\n setDataInclusao(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n {\r\n autorizacaoFornecimentoCompleto != null && parseInt((moment.duration(moment(moment((autorizacaoFornecimentoCompleto.dataFinalizacao)).add('hours', 2)).diff(moment(autorizacaoFornecimentoCompleto.dataInclusao)\r\n .add('days', autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao\r\n .solicitacaoFornecimento.prazoDias))).asDays())) > 0 ?\r\n \r\n Dias de Atraso\r\n setObservacao(e.target.value)}\r\n disabled\r\n style={{ 'backgroundColor': '#F7D1D1', 'borderColor': 'red' }}\r\n />\r\n \r\n :\r\n \r\n Dias Restantes\r\n setObservacao(e.target.value)}\r\n disabled\r\n />\r\n \r\n }\r\n \r\n\r\n \r\n\r\n \r\n Número Orçamento\r\n setNumeroOrcamento(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n \r\n Observação\r\n setObservacao(e.target.value)}\r\n disabled\r\n />\r\n \r\n \r\n\r\n \r\n {\r\n autorizacaoFornecimentoCompleto != null && autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.interessado != null &&\r\n interessado != '' && interessado != null ?\r\n\r\n\r\n \r\n Interessado\r\n setInteressado(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n\r\n :\r\n ''\r\n }\r\n\r\n \r\n Valor da Obra\r\n \r\n \r\n \r\n \r\n \r\n Empenhos que os itens dessa af pertence:\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n \r\n {\r\n idAutorizacaoFornecimento == undefined ?\r\n ''\r\n :\r\n // Verifica se o status da autorização é igual a cancelado\r\n listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Autorização está Cancelada!\r\n \r\n \r\n :\r\n // Verifica se o status da autorização é igual a finalizado\r\n listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Autorização está Finalizada!\r\n \r\n \r\n :\r\n ''\r\n }\r\n \r\n\r\n \r\n \r\n Deseja exportar a autorização?\r\n \r\n \r\n \r\n \r\n {\r\n carregandoPDF && listaDadosExportarPDFAutorizacaoFornecimento != null ?\r\n } fileName=\"autorizacaoFornecimento.pdf\">\r\n \r\n Exportar Autorização Fornecimento por PDF\r\n \r\n {({ blob, url, loading, error }) => (loading ? 'Carregando autorização fornecimento...' : 'Exportar como PDF')}\r\n \r\n :\r\n \r\n }\r\n\r\n \r\n \r\n \r\n \r\n
\r\n :\r\n \r\n }\r\n \r\n )\r\n}","export function ListarCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest(idAutorizacaoSubitem, idAutorizacaoSubitemMedicao) {\r\n return {\r\n type: 'LISTAR_COMPLETO_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_REQUEST',\r\n idAutorizacaoSubitem, idAutorizacaoSubitemMedicao\r\n }\r\n }\r\n \r\n export function ListarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest() {\r\n return {\r\n type: 'LISTAR_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_REQUEST'\r\n }\r\n }\r\n\r\n export function InserirRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemAutorizacaoRequest(data, id) {\r\n return {\r\n type: 'INSERIR_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_AUTORIZACAO_REQUEST',\r\n data, id\r\n }\r\n }\r\n\r\n export function InserirRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemMedicaoRequest(data, id) {\r\n return {\r\n type: 'INSERIR_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_MEDICAO_REQUEST',\r\n data, id\r\n }\r\n }\r\n \r\n export function ListarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemResponse(listaRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem) {\r\n return {\r\n type: 'LISTAR_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_RESPONSE',\r\n listaRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem\r\n }\r\n }\r\n\r\n export function ListarCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemResponse(listaCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem) {\r\n return {\r\n type: 'LISTAR_COMPLETO_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_RESPONSE',\r\n listaCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem\r\n }\r\n }\r\n \r\n export function BaixarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest(id) {\r\n return {\r\n type: 'BAIXAR_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_REQUEST',\r\n id\r\n }\r\n }\r\n \r\n export function CarregarImagemRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest(id) {\r\n return {\r\n type: 'CARREGAR_IMAGEM_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_REQUEST',\r\n id\r\n }\r\n }\r\n \r\n export function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n }","import { useEffect, useState } from \"react\";\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport { Button, Row, Col, Modal, Form } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { PatchedPagination } from \"../PatchedPagination/patchedPagination\";\r\nimport { ListarCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest,\r\n CarregarImagemRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest,\r\n BaixarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest } from \"../../store/modules/regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function ModalRegFotoUltrapassarSubitem({ showModal, onHide, idAutorizacaoFornecimentoSubitem, idAutorizacaoFornecimentoSubitemMedicao, data }) {\r\n\r\n const dispatch = useDispatch();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const listaRegFotoSubitemAutorizacaoMedicaoUltrapassar = useSelector(state => state.regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem.listaCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem);\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [showFoto, setShowFoto] = useState(false);\r\n const [show, setShow] = useState(false);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const handleFotoClose = () => setShowFoto(false);\r\n const handleFotoShow = () => setShowFoto(true);\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n if (data != undefined && data != '') {\r\n dispatch(ListarCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest(idAutorizacaoFornecimentoSubitem, idAutorizacaoFornecimentoSubitemMedicao));\r\n }\r\n\r\n }, [data])\r\n\r\n function BaixarRegistroFotografico(idRegistroFotografico) {\r\n dispatch(BaixarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest(idRegistroFotografico));\r\n }\r\n\r\n function VisualizarRegistroFotografico(linha) {\r\n dispatch(CarregarImagemRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest(linha.id));\r\n handleFotoShow();\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Foto\r\n \r\n \r\n \r\n
\r\n \r\n {\r\n rowData.observacao == '' ?\r\n
\r\n : rowData.observacao\r\n },\r\n /*{\r\n title: \"Medição Excedendo o Subitem\", field: 'medicao', cellStyle: {\r\n width: '22.5%'\r\n }\r\n }*/\r\n ]}\r\n data={\r\n listaRegFotoSubitemAutorizacaoMedicaoUltrapassar ?\r\n listaRegFotoSubitemAutorizacaoMedicaoUltrapassar.map(lista => {\r\n return {\r\n id: lista.id,\r\n idAutorizacaoFornecimentoSubitemCusto: lista.idAutorizacaoFornecimentoSubitemCusto,\r\n idAutorizacaoFornecimentoSubitemCustoMedicao: lista.idAutorizacaoFornecimentoSubitemCustoMedicao,\r\n nomeRegistroFotografico: lista.nomeRegistroFotografico,\r\n descricaoExtensaoArquivo: lista.descricaoExtensaoArquivo,\r\n usuario: lista.usuario.nome,\r\n dataInclusao: moment(lista.dataInclusao).format('L LT'),\r\n observacao: lista.observacao,\r\n idUsuario: lista.usuario.nome,\r\n //medicao: lista.autorizacaoFornecimentoSubitemCustoMedicao.idMedicaoAutorizacaoFornecimento\r\n }\r\n })\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'visibility',\r\n onClick: (event, rowData) => { VisualizarRegistroFotografico(rowData) }\r\n }),\r\n {\r\n icon: 'download',\r\n onClick: (event, rowData) => BaixarRegistroFotografico(rowData.id)\r\n }\r\n ]}\r\n localization={{\r\n header: {\r\n actions: ''\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n }\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\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 { Page, Text, View, Document, StyleSheet, Image } from '@react-pdf/renderer';\r\nimport img from '../../assets/login/img_login.png';\r\n\r\nconst styles = StyleSheet.create({\r\n page: {\r\n backgroundColor: '#E4E4E4',\r\n fontSize: '10',\r\n paddingBottom: 65\r\n },\r\n titulo: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontWeight: 'bold',\r\n fontSize: '15',\r\n },\r\n linha: {\r\n borderBottom: '1px solid #0000',\r\n width: '100%',\r\n },\r\n espaco: {\r\n paddingTop: 4,\r\n paddingBottom: 4,\r\n },\r\n table: {\r\n width: '100%',\r\n },\r\n section: {\r\n margin: 10,\r\n padding: 10,\r\n flexGrow: 1,\r\n marginBottom: 20\r\n },\r\n row: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n fontSize: '10',\r\n height: '45',\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n },\r\n rowTitulo: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n fontSize: '10',\r\n height: '30',\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n },\r\n row2: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n fontSize: '10',\r\n height: '30',\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n },\r\n rowCabecalho: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 2,\r\n paddingBottom: 2,\r\n },\r\n bold: {\r\n fontWeight: 'bold',\r\n },\r\n bordaCompleta: {\r\n border: '1px solid #0000',\r\n margin: 1,\r\n height: '30',\r\n },\r\n comeco: {\r\n width: \"25%\",\r\n },\r\n\r\n meio: {\r\n width: \"50%\",\r\n display: 'flex',\r\n textAlign: 'center',\r\n alignItems: 'center'\r\n },\r\n alinharFim: {\r\n display: 'flex',\r\n textAlign: 'end',\r\n alignItems: 'end'\r\n },\r\n\r\n fim: {\r\n width: \"25%\",\r\n },\r\n linhaMetadeComeco: {\r\n width: \"50%\",\r\n },\r\n linhaMetadeFim: {\r\n width: \"50%\",\r\n },\r\n width7: {\r\n width: \"7%\",\r\n textAlign: 'center',\r\n },\r\n width8: {\r\n width: \"8%\",\r\n textAlign: 'center',\r\n },\r\n width10: {\r\n width: \"10%\",\r\n textAlign: 'center',\r\n },\r\n width11: {\r\n width: \"11%\",\r\n textAlign: 'center',\r\n },\r\n width20: {\r\n width: \"20%\",\r\n textAlign: 'center',\r\n fontSize: '9',\r\n },\r\n cabecalho: {\r\n color: '#fff',\r\n backgroundColor: '#212529',\r\n bordercolor: '#32383e'\r\n },\r\n cinza: {\r\n backgroundColor: '#e9ecef',\r\n },\r\n logo: {\r\n width: '70',\r\n height: '70'\r\n },\r\n top40: {\r\n top: '40'\r\n },\r\n top60: {\r\n top: '60'\r\n },\r\n pageNumber: {\r\n position: 'absolute',\r\n fontSize: 10,\r\n bottom: 0,\r\n paddingTop: 2,\r\n left: 0,\r\n right: 0,\r\n textAlign: 'center',\r\n color: 'grey',\r\n },\r\n margimBottom: {\r\n marginBottom: 0,\r\n },\r\n header: {\r\n fontSize: 12,\r\n marginBottom: 20,\r\n textAlign: 'center',\r\n color: 'grey',\r\n },\r\n espacogrande: {\r\n paddingTop: 100,\r\n paddingBottom: 100,\r\n },\r\n espacomedio: {\r\n paddingTop: 60,\r\n paddingBottom: 60,\r\n },\r\n fontSize8: {\r\n fontSize: 8,\r\n },\r\n fontSize6: {\r\n fontSize: 6,\r\n },\r\n marginBottomMenos50: {\r\n marginBottom: -50\r\n }\r\n});\r\n\r\nexport default function MyDoc({ cabecalho, corpo, corpoAdicionado, percentualObra }) {\r\n\r\n return (\r\n \r\n {\r\n cabecalho != null && corpo != null ?\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Boletim de Medição\r\n \r\n \r\n Nº AS: {cabecalho[0].numeroAf} Nº Contrato: {cabecalho[0].descricaoContrato}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Processo: {cabecalho[0].numeroProcesso}\r\n \r\n \r\n Orçamento Nº: {cabecalho[0].numeroOrcamento}\r\n \r\n \r\n Ofício: {cabecalho[0].numeroOficio}\r\n \r\n \r\n \r\n \r\n Local da Obra: {cabecalho[0].local}\r\n \r\n \r\n Bairro: {cabecalho[0].descricaoBairro}\r\n \r\n \r\n Fiscal Contratada: _______________\r\n \r\n \r\n \r\n \r\n Região: {cabecalho[0].descricaoRegiao}\r\n \r\n \r\n Prazo de Execução: {cabecalho[0].tempo}\r\n \r\n \r\n Data Medição: _______________\r\n \r\n \r\n \r\n \r\n Interessado: {cabecalho[0].interessado}\r\n \r\n \r\n Endereço (Interes.): {cabecalho[0].endereco}\r\n \r\n \r\n Tipo de Medição: _______________\r\n \r\n \r\n \r\n \r\n \r\n SubItem Orçamento\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cod. Interno\r\n Atividade\r\n Un\r\n Qtd Orçada\r\n Val. Unit. R$\r\n Total R$\r\n Qtd. Consum. Anterior\r\n Saldo\r\n Total Exec. %\r\n (Acum)Qtd méd\r\n (Atual)Qtd méd\r\n\r\n\r\n \r\n \r\n {\r\n corpoAdicionado != null && corpo != null && \r\n corpo.length <= 4 && corpoAdicionado.length == 0 ? \r\n \r\n {\r\n corpo.map((c, i) => (\r\n \r\n {\r\n (i + 1) % 2 == 0 ?\r\n \r\n {c.codigoInterno}\r\n {c.descricaoSubItemCusto}\r\n {c.descricaoAbreviacao}\r\n {c.quantidade.toFixed(2)}\r\n {c.valorUnitario.toFixed(2)}\r\n {c.precoTotal.toFixed(2)}\r\n {c.quantidadeConsumida.toFixed(2)}\r\n {c.saldo.toFixed(2)}\r\n {c.porcentagem}\r\n \r\n \r\n \r\n \r\n \r\n :\r\n \r\n {c.codigoInterno}\r\n {c.descricaoSubItemCusto}\r\n {c.descricaoAbreviacao}\r\n {c.quantidade.toFixed(2)}\r\n {c.valorUnitario.toFixed(2)}\r\n {c.precoTotal.toFixed(2)}\r\n {c.quantidadeConsumida.toFixed(2)}\r\n {c.saldo.toFixed(2)}\r\n {c.porcentagem}\r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n \r\n Total Medição\r\n \r\n \r\n {cabecalho[0].totalUnitario.toFixed(2)}\r\n {cabecalho[0].totalUnitarioQuantidade.toFixed(2)}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Percentual Concluído da Obra: {parseFloat(percentualObra.toFixed(2))}%\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Vistos:\r\n \r\n \r\n \r\n \r\n \r\n \r\n Fiscalização\r\n \r\n \r\n Contratada\r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n \r\n :\r\n corpo.map((c, i) => (\r\n \r\n {\r\n (i + 1) % 2 == 0 ?\r\n \r\n {c.codigoInterno}\r\n {c.descricaoSubItemCusto}\r\n {c.descricaoAbreviacao}\r\n {c.quantidade.toFixed(2)}\r\n {c.valorUnitario.toFixed(2)}\r\n {c.precoTotal.toFixed(2)}\r\n {c.quantidadeConsumida.toFixed(2)}\r\n {c.saldo.toFixed(2)}\r\n {c.porcentagem}\r\n \r\n \r\n\r\n\r\n \r\n :\r\n \r\n {c.codigoInterno}\r\n {c.descricaoSubItemCusto}\r\n {c.descricaoAbreviacao}\r\n {c.quantidade.toFixed(2)}\r\n {c.valorUnitario.toFixed(2)}\r\n {c.precoTotal.toFixed(2)}\r\n {c.quantidadeConsumida.toFixed(2)}\r\n {c.saldo.toFixed(2)}\r\n {c.porcentagem}\r\n \r\n \r\n\r\n \r\n }\r\n\r\n \r\n \r\n ))\r\n }\r\n \r\n {corpoAdicionado.length == 0 && corpo.length > 4 ?\r\n \r\n \r\n \r\n Total Medição\r\n \r\n \r\n {cabecalho[0].totalUnitario.toFixed(2)}\r\n {cabecalho[0].totalUnitarioQuantidade.toFixed(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 \r\n \r\n Percentual Concluído da Obra: {parseFloat(percentualObra.toFixed(2))}%\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Vistos:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Fiscalização\r\n \r\n \r\n Contratada\r\n \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n :\r\n \r\n }\r\n {corpo != null && corpoAdicionado != null &&\r\n corpoAdicionado.length == 0 ? \r\n `${pageNumber} / ${totalPages - 1}`}\r\n fixed\r\n />\r\n :\r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n }\r\n \r\n \r\n :\r\n\r\n \r\n \r\n \r\n ERRO AO GERAR PDF\r\n \r\n \r\n \r\n\r\n }\r\n {\r\n cabecalho != null && corpo != null && percentualObra != null && corpoAdicionado != null &&\r\n corpoAdicionado.length > 0 ?\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Boletim de Medição\r\n \r\n \r\n Nº AS: {cabecalho[0].numeroAf} Nº Contrato: {cabecalho[0].descricaoContrato}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n SubItem Adicionados\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cod. Interno\r\n Atividade\r\n Un\r\n Qtd Orçada\r\n Val. Unit. R$\r\n Total R$\r\n Qtd. Consum. Anterior\r\n Saldo\r\n Total Exec. %\r\n (Acumulada)Qtd méd\r\n (Atual)Qtd méd\r\n\r\n \r\n \r\n {\r\n corpoAdicionado.map((c, i) => (\r\n \r\n {\r\n (i + 1) % 2 == 0 ?\r\n \r\n {c.codigoInterno}\r\n {c.descricaoSubItemCusto}\r\n {c.descricaoAbreviacao}\r\n {c.quantidade.toFixed(2)}\r\n {c.valorUnitario.toFixed(2)}\r\n {c.precoTotal.toFixed(2)}\r\n {c.quantidadeConsumida.toFixed(2)}\r\n {c.saldo.toFixed(2)}\r\n {c.porcentagem}\r\n \r\n \r\n\r\n \r\n :\r\n \r\n {c.codigoInterno}\r\n {c.descricaoSubItemCusto}\r\n {c.descricaoAbreviacao}\r\n {c.quantidade.toFixed(2)}\r\n {c.valorUnitario.toFixed(2)}\r\n {c.precoTotal.toFixed(2)}\r\n {c.quantidadeConsumida.toFixed(2)}\r\n {c.saldo.toFixed(2)}\r\n {c.porcentagem}\r\n \r\n \r\n\r\n \r\n }\r\n\r\n \r\n\r\n \r\n ))\r\n\r\n }\r\n \r\n \r\n \r\n \r\n Total Medição\r\n \r\n \r\n {cabecalho[0].totalUnitario.toFixed(2)}\r\n {cabecalho[0].totalUnitarioQuantidade.toFixed(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 \r\n \r\n \r\n Percentual Concluído da Obra: {parseFloat(percentualObra.toFixed(2))}%\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Vistos:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Fiscalização\r\n \r\n \r\n Contratada\r\n \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n {corpo != null && corpoAdicionado != null &&\r\n corpo.length <= 4 && corpoAdicionado.length == 0 ? \r\n \r\n :\r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n }\r\n \r\n \r\n \r\n :\r\n\r\n /*cabecalho != null && corpo != null && percentualObra != null && corpoAdicionado != null ? \r\n \r\n corpo != null && corpo.length > 4 ?\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Boletim de Medição\r\n \r\n \r\n Nº AS: {cabecalho[0].numeroAf} Nº Contrato: {cabecalho[0].descricaoContrato}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Percentual Concluído da Obra: {parseFloat(percentualObra.toFixed(2))}%\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Vistos:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Fiscalização\r\n \r\n \r\n Contratada\r\n \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n {corpo != null && corpoAdicionado != null &&\r\n corpo.length <= 4 && corpoAdicionado.length == 0 ? \r\n \r\n :\r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\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 { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Col, Alert, Button, Row, Accordion, Form, DropdownButton, Modal } from \"react-bootstrap\";\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport MaterialTable from 'material-table';\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport {\r\n ListarAutorizacaoFornecimentoSubitemCustoRequest,\r\n AlterarAutorizacaoFornecimentoSubitemCustoRequest\r\n} from \"../../../store/modules/autorizacaoFornecimentoSubitemCusto/actions\";\r\nimport { BuscarContratoVersaoPorIdRequest } from '../../../store/modules/contratoVersao/actions';\r\nimport { BuscarUsuarioPorIdRequest } from '../../../store/modules/usuario/actions';\r\nimport { toast } from \"react-toastify\";\r\nimport { PDFDownloadLink } from '@react-pdf/renderer';\r\nimport { ListarRelatorioMedicaoSubItemRequest } from \"../../../store/modules/relatorio/actions\";\r\nimport { ListarRelatorioAutorizacaoFornecimentoSubItemCustoRequest } from \"../../../store/modules/relatorio/actions\";\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport { InserirRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemAutorizacaoRequest } from \"../../../store/modules/regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/actions\";\r\nimport ModalSubitemAutorizacao from \"../../../components/ModalSubitemAutorizacao/modalSubitemAutorizacao\";\r\nimport ModalRegFotoUltrapassarSubitem from \"../../../components/ModalRegFotoUltrapassarSubitem/modalRegFotoUltrapassarSubitem\";\r\nimport { ImFilePicture } from \"react-icons/im\";\r\nimport Select from 'react-select';\r\nimport MyDoc from '../../../components/Pdf/pdf';\r\nimport './subitem.css';\r\n\r\nexport default function Subitem() {\r\n\r\n const { idAutorizacaoFornecimento } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const listaAutorizacaoFornecimentoSubitemCusto = useSelector(state => state.autorizacaoFornecimentoSubitemCusto.listaAutorizacaoFornecimentoSubitemCusto);\r\n const listaRelatorioAutorizacaoFornecimentoSubitemCusto = useSelector(state => state.relatorio.listaRelatorioAutorizacaoFornecimentoSubitemCusto);\r\n const carregando = useSelector(state => state.autorizacaoFornecimentoSubitemCusto.carregando);\r\n const listaStatusAutorizacaoFornecimento = useSelector(state => state.statusAutorizacaoFornecimento.listaStatusAutorizacaoFornecimento);\r\n const listaAutorizacaoFornecimentoStatus = useSelector(state => state.autorizacaoFornecimentoStatus.listaAutorizacaoFornecimentoStatus);\r\n const autorizacaoFornecimentoCompleto = useSelector(state => state.autorizacaoFornecimento.autorizacaoFornecimentoCompleto);\r\n const listaRelatorioMedicaoSubItem = useSelector(state => state.relatorio.listaRelatorioMedicaoSubItem);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const contratoVersao = useSelector(state => state.contratoVersao.contratoVersaoCompleto);\r\n const contratoCompleto = useSelector(state => state.contrato.contratoCompleto);\r\n const usuarioCompleto = useSelector(state => state.usuario.usuario);\r\n const listaMedicaoAutorizacaoFornecimento = useSelector(state => state.medicaoAutorizacaoFornecimento.listaMedicaoAutorizacaoFornecimento);\r\n\r\n const [dados, setDados] = useState(null);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [show, setShow] = useState(false);\r\n const [showFoto, setShowFoto] = useState(false);\r\n const [showVisualizacaoFoto, setShowVisualizacaoFoto] = useState(false);\r\n\r\n const [codDescSubitem, setCodDescSubitem] = useState(true);\r\n const [quantidadeAutorizacao, setQuantidadeAutorizacao] = useState(true);\r\n const [quantidadeEmpenhada, setQuantidadeEmpenhada] = useState(true);\r\n const [valorUnitarioSubitem, setValorUnitarioSubitem] = useState(false);\r\n const [valorTotalSubitem, setValorTotalSubitem] = useState(false);\r\n const [valorTotalEmpenhado, setValorTotalEmpenhado] = useState(false);\r\n const [completado, setCompletado] = useState(false);\r\n const [saldoQuantidadeAutorizacao, setSaldoQuantidadeAutorizacao] = useState(false);\r\n const [saldoQuantidadeContratoExc, setSaldoQuantidadeContratoExc] = useState(false);\r\n const [quantidadeSolicitacao, setQuantidadeSolicitacao] = useState(false);\r\n const [unidadeMedida, setUnidadeMedida] = useState(false);\r\n const [cancelado, setCancelado] = useState(true);\r\n const [finalizado, setFinalizado] = useState(true);\r\n const [inseridoAposSoli, setInseridoAposSoli] = useState(false);\r\n const [quantidadeContrato, setQuantidadeContrato] = useState(false);\r\n const [valorObra, setValorObra] = useState('');\r\n const [valorObraEAdicionados, setValorObraEAdicionados] = useState('');\r\n const [observacao, setObservacao] = useState('');\r\n const [listaFile, setListaFile] = useState([]);\r\n const [dataAutorizacaoSubitem, setDataAutorizacaoSubitem] = useState([]);\r\n const [dataId, setDataId] = useState([]);\r\n const [valorMedicoes, setValorMedicoes] = useState('');\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const handleCloseFoto = () => setShowFoto(false);\r\n const handleShowFoto = () => setShowFoto(true);\r\n\r\n const handleCloseVisualizacaoFoto = () => setShowVisualizacaoFoto(false);\r\n const handleShowVisualizacaoFoto = () => setShowVisualizacaoFoto(true);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n const [excluir, setExcluir] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r === \"AutorizacaoFornecimentoVerValores\").length === 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r === \"AutorizacaoFornecimentoInserir\").length === 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r === \"AutorizacaoFornecimentoAlterar\").length === 1) {\r\n setAlterar(true);\r\n }\r\n if (token.role.filter(r => r === \"AutorizacaoFornecimentoExcluir\").length === 1) {\r\n setExcluir(true);\r\n }\r\n\r\n }, [])\r\n\r\n const options = contratoVersao ?\r\n contratoVersao.subitemCusto.map(subitemUnidade => ({\r\n value: subitemUnidade.id, label: subitemUnidade.descricaoCodigoInterno + \" - \" + subitemUnidade.descricao\r\n }))\r\n :\r\n [];\r\n\r\n useEffect(() => {\r\n var data = {\r\n 'IdAutorizacaoFornecimento': idAutorizacaoFornecimento\r\n }\r\n dispatch(ListarRelatorioMedicaoSubItemRequest(data));\r\n }, [idAutorizacaoFornecimento])\r\n\r\n useEffect(() => {\r\n \r\n var medicoes = 0;\r\n\r\n if (listaMedicaoAutorizacaoFornecimento != undefined) {\r\n\r\n\r\n listaMedicaoAutorizacaoFornecimento.map(lista => {\r\n\r\n medicoes += lista.valorTotalMedicao\r\n })\r\n\r\n }\r\n setValorMedicoes(medicoes.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n }));\r\n\r\n }, [listaMedicaoAutorizacaoFornecimento])\r\n \r\n useEffect(() => {\r\n\r\n if (usuario != null) {\r\n dispatch(BuscarUsuarioPorIdRequest(usuario.id));\r\n }\r\n\r\n if (idAutorizacaoFornecimento !== undefined) {\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': parseInt(idAutorizacaoFornecimento)\r\n }\r\n\r\n dispatch(ListarAutorizacaoFornecimentoSubitemCustoRequest(data));\r\n dispatch(ListarRelatorioAutorizacaoFornecimentoSubItemCustoRequest(idAutorizacaoFornecimento));\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (autorizacaoFornecimentoCompleto != null) {\r\n dispatch(BuscarContratoVersaoPorIdRequest(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.id));\r\n }\r\n\r\n }, [autorizacaoFornecimentoCompleto])\r\n\r\n useEffect(() => {\r\n\r\n var valorObraAtual = 0;\r\n var valorObraEAdicionadosAtual = 0;\r\n\r\n if (listaAutorizacaoFornecimentoSubitemCusto != undefined) {\r\n\r\n\r\n listaAutorizacaoFornecimentoSubitemCusto.map(lista => {\r\n\r\n if (!lista.inseridoAposSolicitacao) {\r\n\r\n valorObraAtual += (lista.subitemCusto.valorUnitario * lista.quantidade)\r\n } else {\r\n valorObraEAdicionadosAtual += (lista.subitemCusto.valorUnitario * lista.quantidade)\r\n }\r\n })\r\n\r\n }\r\n setValorObra(valorObraAtual.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n }));\r\n setValorObraEAdicionados((valorObraAtual + valorObraEAdicionadosAtual).toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n }));\r\n\r\n }, [listaAutorizacaoFornecimentoSubitemCusto])\r\n\r\n function ValidacaoAlterarSubitemAutorizacao(autorizacaoFornecimentoSubitemCusto){\r\n\r\n var valor = valorObra.split('$', valorObra.length);\r\n let valorOrcamento = parseFloat(valor[1]);\r\n var valorAdicionados = valorObraEAdicionados.split('$', valorObraEAdicionados.length)\r\n let valorTotalAdicionados = parseFloat(valorAdicionados[1]);\r\n let saldoAutorizacaoTotal = 0;\r\n \r\n if(listaAutorizacaoFornecimentoSubitemCusto && listaAutorizacaoFornecimentoSubitemCusto\r\n .filter(x => x.id == autorizacaoFornecimentoSubitemCusto.id).length > 0 ){\r\n \r\n //pegar o subitem com os valores iniciais\r\n var autorizacaoFornecimentoSubitem = listaAutorizacaoFornecimentoSubitemCusto.filter(x => x.id == autorizacaoFornecimentoSubitemCusto.id)[0];\r\n\r\n //subtrair o antigo valor e somar o novo da quantidade e do saldo total da af\r\n valorTotalAdicionados -= autorizacaoFornecimentoSubitem.quantidade * \r\n autorizacaoFornecimentoSubitem.subitemCusto.valorUnitario;\r\n\r\n valorTotalAdicionados += autorizacaoFornecimentoSubitemCusto.quantidade * \r\n autorizacaoFornecimentoSubitem.subitemCusto.valorUnitario;\r\n\r\n saldoAutorizacaoTotal = autorizacaoFornecimentoSubitemCusto.saldoAutorizacaoTotal - autorizacaoFornecimentoSubitem.quantidade;\r\n\r\n saldoAutorizacaoTotal = saldoAutorizacaoTotal + autorizacaoFornecimentoSubitemCusto.quantidade;\r\n \r\n if(saldoAutorizacaoTotal > autorizacaoFornecimentoSubitem.saldoContratoExcedente && contratoVersao && contratoVersao.liberaExcedenteAutorizacao) {\r\n if(contratoVersao && valorOrcamento && valorTotalAdicionados){\r\n let valorTotalExcedente = valorOrcamento + valorOrcamento * contratoVersao.valorIndiceQuantidadeItemExcedente;\r\n if(valorTotalAdicionados > valorTotalExcedente){\r\n toast.error('Item: ' + autorizacaoFornecimentoSubitem.subitemCusto.descricao + ' esta ultrapassando o saldo do contrato');\r\n return;\r\n }\r\n else{\r\n setObservacao(autorizacaoFornecimentoSubitemCusto.observacao)\r\n setDataAutorizacaoSubitem(autorizacaoFornecimentoSubitemCusto)\r\n handleShowFoto();\r\n return;\r\n }\r\n }\r\n }\r\n else{\r\n AlterarAutorizacaoFornecimentoSubitemCusto(autorizacaoFornecimentoSubitemCusto);\r\n }\r\n }\r\n\r\n }\r\n\r\n // Alterar subitem\r\n function AlterarAutorizacaoFornecimentoSubitemCustoComFoto(autorizacaoFornecimentoSubitemCusto) {\r\n\r\n // Valida campo quantidade\r\n if (isNaN(autorizacaoFornecimentoSubitemCusto.quantidade) || autorizacaoFornecimentoSubitemCusto.quantidade == undefined\r\n || autorizacaoFornecimentoSubitemCusto.quantidade == null) {\r\n toast.error(`Quantidade inválida`);\r\n return;\r\n }\r\n\r\n // Valida campo observacao\r\n if (autorizacaoFornecimentoSubitemCusto.observacao != undefined && autorizacaoFornecimentoSubitemCusto.observacao != null\r\n && autorizacaoFornecimentoSubitemCusto.observacao.length > 500) {\r\n toast.error(`Observação não pode conter mais que 500 caracteres`);\r\n return;\r\n }\r\n\r\n // Verificar permissões\r\n var lista = [];\r\n\r\n if (listaContratoUsuario !== undefined && autorizacaoFornecimentoCompleto != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato != null) {\r\n lista = listaContratoUsuario.filter(x => x.idUsuario === usuario.id &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato === x.idContrato)\r\n }\r\n\r\n if (lista.length > 0 && lista[0].editaQuantidadeSubitemAutorizacao === true) {\r\n\r\n let data = {\r\n 'Id': autorizacaoFornecimentoSubitemCusto.id,\r\n 'IdAutorizacaoFornecimento': autorizacaoFornecimentoSubitemCusto.autorizacaoFornecimento,\r\n 'IdSubitemCusto': autorizacaoFornecimentoSubitemCusto.subitemCusto,\r\n 'Quantidade': parseFloat(autorizacaoFornecimentoSubitemCusto.quantidade),\r\n 'Cancelado': autorizacaoFornecimentoSubitemCusto.cancelado,\r\n 'Finalizado': autorizacaoFornecimentoSubitemCusto.finalizado,\r\n 'InseridoAposSolicitacao': autorizacaoFornecimentoSubitemCusto.inseridoAposSolicitacao,\r\n 'InseridoAposSolicitacaoAprovado': autorizacaoFornecimentoSubitemCusto.inseridoAposSolicitacaoAprovado,\r\n 'Observacao': autorizacaoFornecimentoSubitemCusto.observacao,\r\n 'IdUsuario': autorizacaoFornecimentoSubitemCusto.idUsuario\r\n }\r\n\r\n // Coloca o data no dados, para ao abrir o modal, ter o objeto para inserir depois da confirmação\r\n setDados(data);\r\n\r\n dispatch(AlterarAutorizacaoFornecimentoSubitemCustoRequest(data, false));\r\n\r\n let formData = new FormData();\r\n\r\n if (listaFile.length > 0) {\r\n for (var x = 0; x < listaFile.length; x++) {\r\n formData.append('File', listaFile[x]);\r\n formData.append('IdAutorizacaoFornecimentoSubitemCusto', autorizacaoFornecimentoSubitemCusto.id);\r\n formData.append('IdUsuario', usuario.id);\r\n if (observacao != '')\r\n formData.append('Observacao', observacao);\r\n }\r\n setListaFile([]);\r\n handleCloseFoto();\r\n } else {\r\n toast.error('Para continuar insira um documento');\r\n }\r\n\r\n dispatch(InserirRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemAutorizacaoRequest(formData, autorizacaoFornecimentoSubitemCusto.id))\r\n\r\n } else {\r\n toast.error(\"Você não possui permissão para editar um item autorização!\");\r\n }\r\n }\r\n\r\n // Alterar subitem\r\n function AlterarAutorizacaoFornecimentoSubitemCusto(autorizacaoFornecimentoSubitemCusto) {\r\n\r\n // Valida campo quantidade\r\n if (isNaN(autorizacaoFornecimentoSubitemCusto.quantidade) || autorizacaoFornecimentoSubitemCusto.quantidade == undefined\r\n || autorizacaoFornecimentoSubitemCusto.quantidade == null) {\r\n toast.error(`Quantidade inválida`);\r\n return;\r\n }\r\n\r\n // Valida campo observacao\r\n if (autorizacaoFornecimentoSubitemCusto.observacao != undefined && autorizacaoFornecimentoSubitemCusto.observacao != null\r\n && autorizacaoFornecimentoSubitemCusto.observacao.length > 500) {\r\n toast.error(`Observação não pode conter mais que 500 caracteres`);\r\n return;\r\n }\r\n\r\n // Verificar permissões\r\n var lista = [];\r\n\r\n if (listaContratoUsuario !== undefined && autorizacaoFornecimentoCompleto != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato != null) {\r\n lista = listaContratoUsuario.filter(x => x.idUsuario === usuario.id &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato === x.idContrato)\r\n }\r\n\r\n if (lista.length > 0 && lista[0].editaQuantidadeSubitemAutorizacao === true) {\r\n\r\n let data = {\r\n 'Id': autorizacaoFornecimentoSubitemCusto.id,\r\n 'IdAutorizacaoFornecimento': autorizacaoFornecimentoSubitemCusto.autorizacaoFornecimento,\r\n 'IdSubitemCusto': autorizacaoFornecimentoSubitemCusto.subitemCusto,\r\n 'Quantidade': parseFloat(autorizacaoFornecimentoSubitemCusto.quantidade),\r\n 'Cancelado': autorizacaoFornecimentoSubitemCusto.cancelado,\r\n 'Finalizado': autorizacaoFornecimentoSubitemCusto.finalizado,\r\n 'InseridoAposSolicitacao': autorizacaoFornecimentoSubitemCusto.inseridoAposSolicitacao,\r\n 'InseridoAposSolicitacaoAprovado': autorizacaoFornecimentoSubitemCusto.inseridoAposSolicitacaoAprovado,\r\n 'Observacao': autorizacaoFornecimentoSubitemCusto.observacao,\r\n 'IdUsuario': autorizacaoFornecimentoSubitemCusto.idUsuario\r\n }\r\n\r\n // Coloca o data no dados, para ao abrir o modal, ter o objeto para inserir depois da confirmação\r\n setDados(data);\r\n\r\n dispatch(AlterarAutorizacaoFornecimentoSubitemCustoRequest(data, false));\r\n } else {\r\n toast.error(\"Você não possui permissão para editar um item autorização!\");\r\n }\r\n }\r\n\r\n function InserirSubitem() {\r\n\r\n // Verifica se o usuário tem permissão de inserir item na autorização\r\n if (contratoCompleto != null && listaContratoUsuario != undefined && listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === contratoCompleto.id && contratoUsu.editaQuantidadeSubitemAutorizacao === true).length === 0) {\r\n\r\n toast.error('Você não tem permissão de cadastrar itens.');\r\n return;\r\n }\r\n\r\n handleShow();\r\n }\r\n\r\n function AprovarSubitem(autorizacaoFornecimentoSubitemCusto) {\r\n\r\n // Verificar permissões\r\n var lista = [];\r\n\r\n if (listaContratoUsuario !== undefined && autorizacaoFornecimentoCompleto != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato != null) {\r\n lista = listaContratoUsuario.filter(x => x.idUsuario === usuario.id &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato === x.idContrato)\r\n }\r\n\r\n if (lista.length > 0 && lista[0].editaQuantidadeSubitemAutorizacao === true) {\r\n\r\n let data = {\r\n 'Id': autorizacaoFornecimentoSubitemCusto.id,\r\n 'IdAutorizacaoFornecimento': autorizacaoFornecimentoSubitemCusto.autorizacaoFornecimento,\r\n 'IdSubitemCusto': autorizacaoFornecimentoSubitemCusto.subitemCusto,\r\n 'Quantidade': parseFloat(autorizacaoFornecimentoSubitemCusto.quantidade),\r\n 'Cancelado': autorizacaoFornecimentoSubitemCusto.cancelado,\r\n 'Finalizado': autorizacaoFornecimentoSubitemCusto.finalizado,\r\n 'InseridoAposSolicitacao': autorizacaoFornecimentoSubitemCusto.inseridoAposSolicitacao,\r\n 'InseridoAposSolicitacaoAprovado': true,\r\n 'Observacao': autorizacaoFornecimentoSubitemCusto.observacao\r\n }\r\n\r\n // Coloca o data no dados, para ao abrir o modal, ter o objeto para inserir depois da confirmação\r\n setDados(data);\r\n\r\n dispatch(AlterarAutorizacaoFornecimentoSubitemCustoRequest(data, true));\r\n\r\n } else {\r\n toast.error(\"Você não possui permissão para editar um item autorização!\");\r\n }\r\n }\r\n\r\n function AlterarValores(data) {\r\n setDataId(data);\r\n setShowVisualizacaoFoto(true);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n carregando ?\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n setCodDescSubitem(!codDescSubitem)} />\r\n Código/Descrição Item\r\n \r\n \r\n \r\n \r\n setQuantidadeAutorizacao(!quantidadeAutorizacao)} />\r\n Quantidade Autorização\r\n \r\n \r\n \r\n \r\n setQuantidadeEmpenhada(!quantidadeEmpenhada)} />\r\n Quantidade Empenhada\r\n \r\n \r\n \r\n \r\n setValorUnitarioSubitem(!valorUnitarioSubitem)} />\r\n Valor Unitário Item\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setValorTotalSubitem(!valorTotalSubitem)} />\r\n Valor Total Item\r\n \r\n \r\n \r\n \r\n setValorTotalEmpenhado(!valorTotalEmpenhado)} />\r\n Valor Total Empenhado\r\n \r\n \r\n \r\n \r\n setCompletado(!completado)} />\r\n Completado\r\n \r\n \r\n \r\n \r\n setSaldoQuantidadeAutorizacao(!saldoQuantidadeAutorizacao)} />\r\n Saldo Quantidade Autorização\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setSaldoQuantidadeContratoExc(!saldoQuantidadeContratoExc)} />\r\n Saldo Quantidade Contrato (excedente)\r\n \r\n \r\n \r\n \r\n setQuantidadeSolicitacao(!quantidadeSolicitacao)} />\r\n Quantidade Solicitação\r\n \r\n \r\n \r\n \r\n setUnidadeMedida(!unidadeMedida)} />\r\n Unidade de Medida\r\n \r\n \r\n \r\n \r\n setCancelado(!cancelado)} />\r\n Cancelado\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n setFinalizado(!finalizado)} />\r\n Finalizado\r\n \r\n \r\n \r\n \r\n setInseridoAposSoli(!inseridoAposSoli)} />\r\n Inserido Após Solicitação\r\n \r\n \r\n \r\n \r\n setQuantidadeContrato(!quantidadeContrato)} />\r\n Quantidade Total Contrato (excedente)\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n } fileName=\"medicao.pdf\">\r\n \r\n Exportar Item\r\n \r\n {({ blob, url, loading, error }) => (loading ? 'Carregando subitems...' : 'Exportar como PDF')}\r\n \r\n
\r\n \r\n
\r\n \r\n

\r\n \r\n \r\n Itens Orçamento\r\n \r\n {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value ? e.value.toString() : false)\r\n }}\r\n />\r\n )\r\n },\r\n hidden: codDescSubitem ? false : true,\r\n lookup:\r\n contratoVersao ?\r\n contratoVersao.subitemCusto.map(subitemUnidade => {\r\n return {\r\n id: subitemUnidade.id, descricao: subitemUnidade.descricaoCodigoInterno + \" - \" + subitemUnidade.descricao\r\n }\r\n }).reduce(function (acc, cur, i) {\r\n acc[cur.id] = cur.descricao;\r\n return acc;\r\n }, {})\r\n :\r\n null,\r\n editComponent: (props) => (\r\n { }} />)\r\n\r\n },\r\n {\r\n title: \"Finalizado\", field: 'finalizado',\r\n hidden: finalizado ? false : true,\r\n customFilterAndSearch: (term, rowData) => term == rowData.finalizado.toString(),\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value == 'ativado' ? 'true' :\r\n e != null && e.value == 'desativado' ? 'false' : null)\r\n }}\r\n />\r\n )\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { }} />)\r\n\r\n },\r\n {\r\n title: \"Inserido Após Solicitação\", field: 'inseridoAposSolicitacao', editable: 'never',\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value == 'sim' ? 'true' : false)\r\n }}\r\n />\r\n )\r\n },\r\n hidden: inseridoAposSoli ? false : true,\r\n render: rowData => rowData.inseridoAposSolicitacao ? 'Sim' : 'Não'\r\n },\r\n {\r\n title: 'Quantidade Total Contrato (excedente)', field: 'quantidadeContrato', editable: 'never',\r\n hidden: quantidadeContrato ? false : true,\r\n render: rowData => rowData.quantidadeContrato + ' (' + rowData.quantidadeContratoExcedente + ')'\r\n }\r\n ]}\r\n data={\r\n listaAutorizacaoFornecimentoSubitemCusto != undefined ?\r\n listaAutorizacaoFornecimentoSubitemCusto.map(lista => {\r\n if (!lista.inseridoAposSolicitacao) {\r\n return {\r\n id: lista.id,\r\n autorizacaoFornecimento: lista.idAutorizacaoFornecimento,\r\n subitem: lista.subitemCusto.id,\r\n subitemCusto: lista.idSubitemCusto,\r\n codigoInterno: lista.subitemCusto.descricaoCodigoInterno,\r\n quantidadeSolicitacao: lista.quantidadeSubitemSolicitacao,\r\n saldoContrato: lista.saldo,\r\n quantidade: lista.quantidade,\r\n unidadeMedida: lista.subitemCusto.unidadeMedida != undefined ? lista.subitemCusto.unidadeMedida.descricao : '',\r\n cancelado: lista.cancelado,\r\n finalizado: lista.finalizado,\r\n observacao: lista.observacao,\r\n inseridoAposSolicitacao: lista.inseridoAposSolicitacao,\r\n saldoAutorizacao: lista.saldoAutorizacao,\r\n saldoContratoExcedente: lista.saldoContratoExcedente,\r\n quantidadeConsumidaAutorizacao: lista.quantidadeConsumidaAutorizacao,\r\n valorUnitario: lista.subitemCusto.valorUnitario,\r\n valorTotalEmpenhado: lista.subitemCusto.valorUnitario * lista.quantidadeConsumidaAutorizacao,\r\n valorTotalSubitem: lista.subitemCusto.valorUnitario * lista.quantidadeSubitemAutorizacaoTotal,\r\n quantidadeSubitemAutorizacaoTotal: lista.quantidadeSubitemAutorizacaoTotal,\r\n saldoAutorizacaoTotal: lista.saldoAutorizacaoTotal,\r\n idUsuario: lista.idUsuario,\r\n quantidadeContrato: lista.quantidadeContrato,\r\n quantidadeContratoExcedente: lista.quantidadeContratoExcedente\r\n }\r\n } else {\r\n return null;\r\n }\r\n\r\n }).filter(Boolean)\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n actionsCellStyle: {\r\n width: '5%',\r\n },\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n addRowPosition: \"first\",\r\n filtering: true,\r\n rowStyle:\r\n rowData => ({\r\n backgroundColor:\r\n rowData.quantidade - rowData.quantidadeConsumidaAutorizacao > rowData.saldoContratoExcedente && listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true)[0].id).length == 0 ? '#F7D1D1' :\r\n (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n editable={{\r\n onRowUpdate:\r\n idAutorizacaoFornecimento != undefined && listaAutorizacaoFornecimentoStatus != undefined && listaAutorizacaoFornecimentoStatus\r\n [listaAutorizacaoFornecimentoStatus.length - 1] != undefined && listaAutorizacaoFornecimentoStatus\r\n [listaAutorizacaoFornecimentoStatus.length - 1].statusAutorizacaoFornecimento.somenteLeitura == false && usuarioCompleto != null &&\r\n usuarioCompleto.usuarioFornecedor == false\r\n ?\r\n (newRow, oldRow) => new Promise((resolve, reject) => {\r\n alterar == true ?\r\n setTimeout(() => {\r\n AlterarAutorizacaoFornecimentoSubitemCusto(newRow);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n :\r\n null\r\n\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: \r\n {'Quantidade solicitação excedida: ' + (rowData.quantidadeSubitemAutorizacaoTotal - rowData.quantidadeSolicitacao).toFixed(2)}\r\n ,\r\n hidden: (rowData.inseridoAposSolicitacao) || (rowData.quantidadeSubitemAutorizacaoTotal - rowData.quantidadeSolicitacao <= 0) ? true : false\r\n }),\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: \r\n {'Quantidade contrato que pode ser excedida: ' + (rowData.quantidadeSubitemAutorizacaoTotal - rowData.saldoContrato).toFixed(2)}\r\n ,\r\n hidden: rowData.saldoAutorizacaoTotal - rowData.saldoContratoExcedente <= 0 || listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true)[0].id).length > 0 ? true : false\r\n }),\r\n rowData => ({\r\n //hidden: rowData.saldoAutorizacaoTotal > rowData.saldoContratoExcedente ? false : true,\r\n icon: () => ,\r\n tooltip: 'Fotos',\r\n onClick: (event, rowData) => { AlterarValores(rowData.id) }\r\n })\r\n ]}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n\r\n \r\n \r\n \r\n Itens Adicionados\r\n \r\n \r\n \r\n \r\n x.cancelaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true)[0].id).length > 0 ?\r\n true :\r\n listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true)[0].id).length > 0\r\n ?\r\n true :\r\n false\r\n }\r\n >Novo Item\r\n \r\n \r\n \r\n
\r\n }*/\r\n columns={[\r\n {\r\n title: 'Código/Descrição Item', field: 'subitem',\r\n editable: 'onAdd',\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value ? e.value.toString() : false)\r\n }}\r\n />\r\n )\r\n },\r\n hidden: codDescSubitem ? false : true,\r\n lookup:\r\n contratoVersao ?\r\n contratoVersao.subitemCusto.map(subitemUnidade => {\r\n return {\r\n id: subitemUnidade.id, descricao: subitemUnidade.descricaoCodigoInterno + \" - \" + subitemUnidade.descricao\r\n }\r\n }).reduce(function (acc, cur, i) {\r\n acc[cur.id] = cur.descricao;\r\n return acc;\r\n }, {})\r\n :\r\n null,\r\n editComponent: (props) => (\r\n { }} />)\r\n\r\n },\r\n {\r\n title: \"Finalizado\", field: 'finalizado',\r\n editable: usuarioCompleto != null && usuarioCompleto.usuarioFornecedor ? 'never' : 'always',\r\n hidden: finalizado ? false : true,\r\n customFilterAndSearch: (term, rowData) => term == rowData.finalizado.toString(),\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value == 'ativado' ? 'true' :\r\n e != null && e.value == 'desativado' ? 'false' : null)\r\n }}\r\n />\r\n )\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { }} />)\r\n },\r\n {\r\n title: 'Observação', field: 'observacao',\r\n validate: rowData => {\r\n if (rowData.observacao != null && rowData.observacao != undefined && rowData.observacao.length > 500) {\r\n return \"A observacao não pode conter mais que 500 dígitos\"\r\n }\r\n return true\r\n },\r\n render: rowData => rowData.observacao == '' ?\r\n
\r\n : rowData.observacao,\r\n\r\n },\r\n {\r\n title: \"Inserido Após Solicitação\", field: 'inseridoAposSolicitacao', editable: 'never',\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value == 'sim' ? 'true' : false)\r\n }}\r\n />\r\n )\r\n },\r\n hidden: inseridoAposSoli ? false : true,\r\n render: rowData => rowData.inseridoAposSolicitacao ? 'Sim' : 'Não'\r\n },\r\n {\r\n title: 'Quantidade Total Contrato (excedente)', field: 'quantidadeContrato', editable: 'never',\r\n hidden: quantidadeContrato ? false : true,\r\n render: rowData => rowData.quantidadeContrato + ' (' + rowData.quantidadeContratoExcedente + ')'\r\n }\r\n ]}\r\n data={\r\n listaAutorizacaoFornecimentoSubitemCusto != undefined ?\r\n listaAutorizacaoFornecimentoSubitemCusto.map(lista => {\r\n\r\n if (lista.inseridoAposSolicitacao) {\r\n return {\r\n id: lista.id,\r\n autorizacaoFornecimento: lista.idAutorizacaoFornecimento,\r\n subitem: lista.subitemCusto.id,\r\n subitemCusto: lista.idSubitemCusto,\r\n codigoInterno: lista.subitemCusto.descricaoCodigoInterno,\r\n quantidadeSolicitacao: lista.quantidadeSubitemSolicitacao,\r\n saldoContrato: lista.saldo,\r\n quantidade: lista.quantidade,\r\n unidadeMedida: lista.subitemCusto.unidadeMedida != undefined ? lista.subitemCusto.unidadeMedida.descricao : '',\r\n cancelado: lista.cancelado,\r\n finalizado: lista.finalizado,\r\n observacao: lista.observacao,\r\n inseridoAposSolicitacao: lista.inseridoAposSolicitacao,\r\n saldoAutorizacao: lista.saldoAutorizacao,\r\n saldoContratoExcedente: lista.saldoContratoExcedente,\r\n quantidadeConsumidaAutorizacao: lista.quantidadeConsumidaAutorizacao,\r\n valorUnitario: lista.subitemCusto.valorUnitario,\r\n valorTotalEmpenhado: lista.subitemCusto.valorUnitario * lista.quantidadeConsumidaAutorizacao,\r\n valorTotalSubitem: lista.subitemCusto.valorUnitario * lista.quantidadeSubitemAutorizacaoTotal,\r\n inseridoAposSolicitacaoAprovado: lista.inseridoAposSolicitacaoAprovado,\r\n quantidadeSubitemAutorizacaoTotal: lista.quantidadeSubitemAutorizacaoTotal,\r\n saldoAutorizacaoTotal: lista.saldoAutorizacaoTotal,\r\n idUsuario: lista.idUsuario,\r\n quantidadeContrato: lista.quantidadeContrato,\r\n quantidadeContratoExcedente: lista.quantidadeContratoExcedente\r\n }\r\n } else {\r\n return null;\r\n }\r\n }).filter(Boolean)\r\n :\r\n []\r\n }\r\n editable={{\r\n onRowUpdate:\r\n idAutorizacaoFornecimento != undefined && listaAutorizacaoFornecimentoStatus != undefined && listaAutorizacaoFornecimentoStatus\r\n [listaAutorizacaoFornecimentoStatus.length - 1] != undefined && listaAutorizacaoFornecimentoStatus\r\n [listaAutorizacaoFornecimentoStatus.length - 1].statusAutorizacaoFornecimento.somenteLeitura == false\r\n ?\r\n (newRow, oldRow) => new Promise((resolve, reject) => {\r\n alterar == true ?\r\n setTimeout(() => {\r\n AlterarAutorizacaoFornecimentoSubitemCusto(newRow);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n :\r\n null\r\n\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n actionsCellStyle: {\r\n width: '5%',\r\n },\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"11px\",\r\n },\r\n actionsColumnIndex: -1,\r\n addRowPosition: \"first\",\r\n filtering: true,\r\n rowStyle:\r\n rowData => ({\r\n backgroundColor:\r\n rowData.quantidade - rowData.quantidadeConsumidaAutorizacao > rowData.saldoContratoExcedente && listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true)[0].id).length == 0 ? '#F7D1D1' :\r\n (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: \r\n {'Quantidade solicitação excedida: ' + (rowData.quantidadeSubitemAutorizacaoTotal - rowData.quantidadeSolicitacao)}\r\n ,\r\n hidden: (rowData.inseridoAposSolicitacao) || (rowData.quantidadeSubitemAutorizacaoTotal - rowData.quantidadeSolicitacao <= 0) ? true : false\r\n }),\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: \r\n {'Quantidade contrato que pode ser excedida: ' + (rowData.quantidadeSubitemAutorizacaoTotal - rowData.saldoContrato)}\r\n ,\r\n hidden: rowData.saldoAutorizacaoTotal - rowData.saldoContratoExcedente <= 0 || listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true)[0].id).length > 0 ? true : false\r\n }),\r\n rowData => ({\r\n //hidden: rowData.saldoAutorizacaoTotal > rowData.saldoContratoExcedente ? false : true,\r\n icon: () => ,\r\n tooltip: 'Fotos',\r\n onClick: (event, rowData) => { AlterarValores(rowData.id) }\r\n })\r\n ]}\r\n style={{\r\n fontSize: \"11px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n
\r\n\r\n :\r\n \r\n }\r\n \r\n \r\n
\r\n \r\n Valor do Orçamento\r\n \r\n \r\n
\r\n \r\n Valor do Orçamento + Itens Adicionados\r\n \r\n \r\n
\r\n \r\n Valor Total Medições\r\n \r\n \r\n
\r\n \r\n Valor Empenhado\r\n \r\n \r\n
\r\n {\r\n //Verifica o status da autorização\r\n idAutorizacaoFornecimento != undefined ?\r\n listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Autorização está Cancelada!\r\n \r\n \r\n :\r\n listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Autorização está Finalizada!\r\n \r\n \r\n :\r\n ''\r\n :\r\n ''\r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n Registro Fotográfico\r\n \r\n \r\n \r\n \r\n A quantidade do subitem foi excedida além do permitido. Inclua uma foto e uma justificativa para esta ação
\r\n \r\n

\r\n setListaFile(files)}\r\n filesLimit={10}\r\n acceptedFiles={['image/png, image/jpeg, image/jpg']}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 10 arquivos`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={30000000}\r\n />\r\n
\r\n
\r\n \r\n Observacao\r\n setObservacao(e.target.value)} />\r\n O campo Descrição Objeto é 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}","import { useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Button, Container, Row, Col, Modal, Form } from \"react-bootstrap\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport {\r\n InserirAutorizacaoFornecimentoStatusRequest,\r\n LimparModalConfimacaoStatusFinalizado,\r\n ExcluirAutorizacaoFornecimentoStatusRequest,\r\n ExcluirAutorizacaoFornecimentoStatusReabrirAutorizacaoRequest\r\n} from \"../../../store/modules/autorizacaoFornecimentoStatus/actions\";\r\nimport { ExcluirAutorizacaoFornecimentoRequest } from \"../../../store/modules/autorizacaoFornecimento/actions\";\r\nimport { BuscarUsuarioPorIdRequest } from \"../../../store/modules/usuario/actions\";\r\nimport { ListarUsuarioRequest } from '../../../store/modules/usuario/actions';\r\nimport { toast } from 'react-toastify';\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport Select from 'react-select';\r\nimport 'moment/locale/pt-br';\r\nimport './status.css';\r\n\r\nexport default function Status() {\r\n\r\n const { idAutorizacaoFornecimento } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const usuarioCompleto = useSelector(state => state.usuario.usuario);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const listaStatusAutorizacaoFornecimento = useSelector(state => state.statusAutorizacaoFornecimento.listaStatusAutorizacaoFornecimento);\r\n const listaAutorizacaoFornecimentoStatus = useSelector(state => state.autorizacaoFornecimentoStatus.listaAutorizacaoFornecimentoStatus);\r\n const autorizacaoFornecimentoCompleto = useSelector(state => state.autorizacaoFornecimento.autorizacaoFornecimentoCompleto);\r\n const listaMedicaoAutorizacaoFornecimento = useSelector(state => state.medicaoAutorizacaoFornecimento.listaMedicaoAutorizacaoFornecimento);\r\n const listaStatusMedicaoAutorizacaoFornecimento = useSelector(state => state.statusMedicaoAutorizacaoFornecimento.listaStatusMedicaoAutorizacaoFornecimento);\r\n const ativaModalConfimacaoFinalizado = useSelector(state => state.autorizacaoFornecimentoStatus.modalConfirmacaoStatusFinalizado);\r\n const listaUsuario = useSelector(state => state.usuario.listaUsuario);\r\n\r\n const [descricaoObservacaoCancelado, setDescricaoObservacaoCancelado] = useState(\"\");\r\n const [show, setShow] = useState(false);\r\n const [showStatus, setShowStatus] = useState(false);\r\n const [showNovoStatus, setShowNovoStatus] = useState(false);\r\n const [showConfirmacaoFinalizar, setShowConfirmacaoFinalizar] = useState(false);\r\n const [status, setStatus] = useState('');\r\n const [statusExcluir, setStatusExcluir] = useState('');\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [validated, setValidated] = useState(false);\r\n const [idUsuario, setIdUsuario] = useState(null);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const handleCloseStatus = () => setShowStatus(false);\r\n const handleShowStatus = () => setShowStatus(true);\r\n const handleCloseNovoStatus = () => setShowNovoStatus(false);\r\n const handleShowNovoStatus = () => setShowNovoStatus(true);\r\n const handleCloseConfirmacaoFinalizar = () => {\r\n setShowConfirmacaoFinalizar(false);\r\n dispatch(LimparModalConfimacaoStatusFinalizado());\r\n }\r\n const handleShowConfirmacaoFinalizar = () => setShowConfirmacaoFinalizar(true);\r\n\r\n const options = listaUsuario != undefined ?\r\n listaUsuario.map(u => ({\r\n value: u.id, label: u.nome\r\n }))\r\n :\r\n [];\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n const [excluir, setExcluir] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r === \"AutorizacaoFornecimentoVerValores\").length === 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r === \"AutorizacaoFornecimentoInserir\").length === 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r === \"AutorizacaoFornecimentoAlterar\").length === 1) {\r\n setAlterar(true);\r\n }\r\n if (token.role.filter(r => r === \"AutorizacaoFornecimentoxcluir\").length === 1) {\r\n setExcluir(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarUsuarioRequest());\r\n\r\n if (usuario != null && usuario !== undefined) {\r\n BuscarUsuarioPorIdRequest(usuario.id);\r\n }\r\n\r\n }, [idAutorizacaoFornecimento])\r\n\r\n useEffect(() => {\r\n\r\n if (ativaModalConfimacaoFinalizado === true)\r\n handleShowConfirmacaoFinalizar();\r\n\r\n }, [ativaModalConfimacaoFinalizado])\r\n\r\n const handleSubmit = (event) => {\r\n\r\n //Verifica se foi inserido algo na descrição de cancelamento\r\n if (descricaoObservacaoCancelado.trim() === '') {\r\n event.preventDefault();\r\n } else {\r\n CancelarAutorizacao(event);\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n function InserirAutorizacaoFornecimentoStatus() {\r\n\r\n let proximoStatus = '';\r\n var verificacao = true;\r\n\r\n if (listaStatusAutorizacaoFornecimento !== undefined) {\r\n proximoStatus = listaStatusAutorizacaoFornecimento.filter(x => x.descricao === status);\r\n }\r\n\r\n if (proximoStatus.length > 0 && proximoStatus[0].statusFornecedor) {\r\n // Verificar se é fornecedor\r\n if (usuarioCompleto != null && !usuarioCompleto.usuarioFornecedor) {\r\n toast.error(\"Você precisa ser fornecedor para avançar nesse status!\");\r\n verificacao = false;\r\n return;\r\n }\r\n }\r\n\r\n if (proximoStatus.length > 0 && !proximoStatus[0].statusFornecedor) {\r\n // Verificar se é cliente\r\n if (usuarioCompleto != null && usuarioCompleto.usuarioFornecedor) {\r\n toast.error(\"Você precisa ser cliente para avançar nesse status!\");\r\n verificacao = false;\r\n return;\r\n }\r\n }\r\n\r\n if (verificacao && proximoStatus.length > 0) {\r\n let data = {\r\n 'Id': 0,\r\n 'IdAutorizacaoFornecimento': parseInt(idAutorizacaoFornecimento),\r\n 'IdStatusAutorizacaoFornecimento': proximoStatus[0].id,\r\n 'IdUsuario': idUsuario ? idUsuario : usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'Observacao': ''\r\n }\r\n\r\n if (proximoStatus[0].finalizaAutorizacao) {\r\n\r\n if (ativaModalConfimacaoFinalizado) {\r\n dispatch(InserirAutorizacaoFornecimentoStatusRequest(data, idAutorizacaoFornecimento, true));\r\n dispatch(LimparModalConfimacaoStatusFinalizado());\r\n handleCloseConfirmacaoFinalizar();\r\n } else {\r\n dispatch(InserirAutorizacaoFornecimentoStatusRequest(data, idAutorizacaoFornecimento, false));\r\n }\r\n\r\n } else {\r\n dispatch(InserirAutorizacaoFornecimentoStatusRequest(data, idAutorizacaoFornecimento, true));\r\n }\r\n\r\n }\r\n\r\n handleCloseStatus();\r\n }\r\n\r\n function CancelarAutorizacao(e) {\r\n\r\n e.preventDefault();\r\n\r\n let proximoStatus = [];\r\n var validaMedicoes = true;\r\n var statusFinalizaMedicao = '';\r\n\r\n // Busca o status de cancelado\r\n if (listaStatusAutorizacaoFornecimento !== undefined) {\r\n proximoStatus = listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao === true);\r\n }\r\n\r\n // Verificar se tem medições finalizadas\r\n if (listaStatusMedicaoAutorizacaoFornecimento !== undefined) {\r\n statusFinalizaMedicao = listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao === true);\r\n }\r\n\r\n if (listaMedicaoAutorizacaoFornecimento !== undefined && listaStatusMedicaoAutorizacaoFornecimento !== undefined\r\n && statusFinalizaMedicao.length > 0) {\r\n listaMedicaoAutorizacaoFornecimento.map(subitem => {\r\n if (statusFinalizaMedicao[0].descricao === subitem.statusAtual) {\r\n validaMedicoes = false;\r\n }\r\n })\r\n }\r\n\r\n //validação do campo observação\r\n if (descricaoObservacaoCancelado === null || descricaoObservacaoCancelado === undefined\r\n || descricaoObservacaoCancelado === ' ' || descricaoObservacaoCancelado.trim() === '') {\r\n toast.error(`Observação inválida`);\r\n return;\r\n }\r\n\r\n //validação do tamanho da string\r\n if (descricaoObservacaoCancelado.length > 500) {\r\n toast.error(`A Observação não pode conter mais que 500 caracteres`);\r\n return;\r\n }\r\n\r\n if (proximoStatus.length > 0 && !proximoStatus[0].statusFornecedor) {\r\n // Verificar se é cliente\r\n if (usuarioCompleto != null && usuarioCompleto.usuarioFornecedor) {\r\n toast.error(\"Você precisa ser cliente para cancelar a autorização!\");\r\n return;\r\n }\r\n }\r\n\r\n // Insere o status Cancelado\r\n if (validaMedicoes) {\r\n if (proximoStatus.length > 0) {\r\n let data = {\r\n 'Id': 0,\r\n 'IdAutorizacaoFornecimento': parseInt(idAutorizacaoFornecimento),\r\n 'IdStatusAutorizacaoFornecimento': proximoStatus[0].id,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'Observacao': descricaoObservacaoCancelado\r\n }\r\n\r\n dispatch(InserirAutorizacaoFornecimentoStatusRequest(data, idAutorizacaoFornecimento, true));\r\n setDescricaoObservacaoCancelado(\"\");\r\n setValidated(false);\r\n handleClose();\r\n }\r\n } else {\r\n toast.error(\"Já possui medições finalizadas. Não é possível cancelar a autorização!\");\r\n }\r\n }\r\n\r\n function ReativarAutorizacao() {\r\n\r\n let proximoStatus = [];\r\n\r\n if (listaStatusAutorizacaoFornecimento !== undefined) {\r\n proximoStatus = listaStatusAutorizacaoFornecimento.filter(x => x.iniciaAutorizacao == true);\r\n }\r\n\r\n // Verificar se é cliente\r\n if (usuarioCompleto != null && usuarioCompleto.usuarioFornecedor) {\r\n toast.error(\"Você precisa ser cliente para cancelar a autorização!\");\r\n return;\r\n }\r\n\r\n if (proximoStatus.length > 0) {\r\n let data = {\r\n 'Id': 0,\r\n 'IdAutorizacaoFornecimento': parseInt(idAutorizacaoFornecimento),\r\n 'IdStatusAutorizacaoFornecimento': proximoStatus[0].id,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'Observacao': ''\r\n }\r\n\r\n dispatch(InserirAutorizacaoFornecimentoStatusRequest(data, idAutorizacaoFornecimento, true));\r\n setValidated(false);\r\n }\r\n\r\n handleCloseNovoStatus();\r\n }\r\n\r\n function CancelarStatusClick(statusParametro) {\r\n setStatus(statusParametro);\r\n handleShow();\r\n }\r\n\r\n function ResetarStatus(idStatus) {\r\n setStatusExcluir(idStatus);\r\n handleShowNovoStatus();\r\n }\r\n\r\n function MudarStatusClick(statusParametro) {\r\n setStatus(statusParametro);\r\n handleShowStatus();\r\n }\r\n\r\n function ExcluirUltimoStatus() {\r\n dispatch(ExcluirAutorizacaoFornecimentoStatusRequest(idAutorizacaoFornecimento));\r\n }\r\n\r\n function ExcluirAutorizacaoFornecimento() {\r\n dispatch(ExcluirAutorizacaoFornecimentoRequest(idAutorizacaoFornecimento));\r\n }\r\n\r\n function ReabrirAFStatus(){\r\n\r\n if(listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true)[0].id).length > 0){\r\n dispatch(ExcluirAutorizacaoFornecimentoStatusReabrirAutorizacaoRequest(idAutorizacaoFornecimento));\r\n }\r\n \r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n \r\n \r\n \r\n {\r\n inserir === true ?\r\n x.finalizaAutorizacao == true).length > 0 &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true).length > 0\r\n ?\r\n // Verifica se o usuário tem a permissão de cancelar a autorização\r\n (listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato\r\n && contratoUsu.cancelaAutorizacao === true).length === 0)\r\n ?\r\n true\r\n :\r\n // Verifica se a autorização ja esta finalizada ou cancelada\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true)[0].id).length > 0\r\n ||\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true)[0].id).length > 0\r\n ?\r\n true\r\n :\r\n false\r\n :\r\n null\r\n }\r\n variant={\"danger\"}\r\n style={{ width: '100%' }}\r\n onClick={() => CancelarStatusClick(\"Cancelado\")}>\r\n Cancelar Autorização\r\n \r\n :\r\n ''\r\n }\r\n \r\n\r\n \r\n {usuarioCompleto != null && usuarioCompleto.grupoAcesso != null && usuarioCompleto.grupoAcesso.nomeGrupo == 'Super Administrador' ?\r\n ExcluirUltimoStatus()}>\r\n Voltar status\r\n \r\n : ''\r\n }\r\n \r\n\r\n \r\n {usuarioCompleto != null && usuarioCompleto.grupoAcesso != null && usuarioCompleto.grupoAcesso.nomeGrupo == 'Super Administrador' ?\r\n ExcluirAutorizacaoFornecimento()}>\r\n Excluir AF\r\n \r\n : ''\r\n }\r\n \r\n\r\n \r\n x.finalizaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true)[0].id).length > 0\r\n ? false : true}\r\n hidden={listaContratoUsuario && autorizacaoFornecimentoCompleto && listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato\r\n && contratoUsu.reabrirAutorizacao === true).length === 0\r\n ?\r\n true : false}\r\n variant={\"danger\"}\r\n style={{ width: '100%' }}\r\n onClick={(e) => (ReabrirAFStatus(), e.currentTarget.disabled=true)}>\r\n Reabrir Autorização\r\n \r\n \r\n\r\n\r\n \r\n
\r\n }\r\n columns={[\r\n {\r\n title: 'Status', field: 'status', cellStyle: {\r\n width: '40%'\r\n }\r\n },\r\n {\r\n title: 'Nome', field: 'usuario', cellStyle: {\r\n width: '20%'\r\n }\r\n },\r\n {\r\n title: 'Data', field: 'dataInclusao', cellStyle: {\r\n width: '20%'\r\n }\r\n },\r\n {\r\n title: 'Ação', field: 'aprovacao', cellStyle: {\r\n width: '20%'\r\n }\r\n }\r\n ]}\r\n data={\r\n idAutorizacaoFornecimento != undefined &&\r\n listaStatusAutorizacaoFornecimento != undefined && listaAutorizacaoFornecimentoStatus != undefined ?\r\n listaAutorizacaoFornecimentoStatus.map(status => {\r\n return {\r\n observacao: status.observacao,\r\n status:\r\n status.statusAutorizacaoFornecimento != null &&\r\n status.statusAutorizacaoFornecimento.cancelaAutorizacao == true ?\r\n
{status.statusAutorizacaoFornecimento.descricao}
\r\n :
{status.statusAutorizacaoFornecimento.descricao}
,\r\n usuario:\r\n status.usuario != null ?\r\n status.usuario.nome\r\n : '',\r\n dataInclusao: moment(status.dataStatus).format('L LT'),\r\n aprovacao:\r\n listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true)[0].id).length > 0 ?\r\n // Se o status atual é cancelado, libera o botão de reativar autorização\r\n status.statusAutorizacaoFornecimento.cancelaAutorizacao == true ?\r\n contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato ==\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato\r\n && contratoUsu.cancelaAutorizacao == true).length === 0)\r\n ? true\r\n : false\r\n :\r\n null\r\n }\r\n variant=\"success\"\r\n onClick={() => ResetarStatus(status.id)}\r\n >Reativar Autorização\r\n :\r\n ''\r\n :\r\n ''\r\n }\r\n // Concatenar a lista de status restantes, que ainda não foram confirmados\r\n }).concat(\r\n\r\n listaStatusAutorizacaoFornecimento.map(statusSol => {\r\n // Verifica se a autorização esta cancelada, se sim, não mostra os possíveis status futuros\r\n if (listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true)[0].id).length > 0\r\n ) {\r\n return null\r\n } else {\r\n // Verifica se o status possui anterior ou ja foi confirmado\r\n if (statusSol.idStatusAutorizacaoAnterior == null || listaAutorizacaoFornecimentoStatus.\r\n filter(x => x.idStatusAutorizacaoFornecimento == statusSol.id).length > 0) {\r\n return null\r\n } else {\r\n return {\r\n id: '',\r\n status:
{statusSol.descricao}
,\r\n usuario: '',\r\n dataInclusao: '',\r\n aprovacao:\r\n listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined && listaAutorizacaoFornecimentoStatus.filter\r\n (x => x.idStatusAutorizacaoFornecimento == statusSol.idStatusAutorizacaoAnterior).length > 0 &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.id == statusSol.idStatusAutorizacaoAnterior).length > 0 ?\r\n contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato &&\r\n contratoUsu.finalizaAutorizacao === true).length === 0)\r\n ? true : false\r\n :\r\n null\r\n }\r\n onClick={() => MudarStatusClick(statusSol.descricao)}>\r\n Mudar Status\r\n \r\n :\r\n ''\r\n }\r\n }\r\n }\r\n }).filter(Boolean)\r\n )\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: {'Obervação Cancelado: ' + rowData.observacao},\r\n hidden: rowData.observacao == '' || rowData.observacao == undefined ? true : false,\r\n })\r\n ]}\r\n localization={{\r\n header: {\r\n actions: 'Info'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: 'Pesquisar',\r\n searchPlaceholder: 'Pesquisar'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n }\r\n \r\n \r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n \r\n \r\n \r\n Você deseja Cancelar essa Autorização?\r\n \r\n \r\n \r\n Observação: \r\n setDescricaoObservacaoCancelado(e.target.value)}\r\n required\r\n maxLength=\"500\"\r\n isInvalid={validated && descricaoObservacaoCancelado.trim() === \"\" ? true : false}\r\n isValid={validated && descricaoObservacaoCancelado.trim() !== \"\" ? true : false}\r\n />\r\n O campo observação é obrigatório.\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n inserir === 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 Atenção\r\n \r\n \r\n \r\n \r\n \r\n Você deseja Mudar de Status?\r\n \r\n \r\n {\r\n usuarioCompleto && listaStatusAutorizacaoFornecimento && usuarioCompleto.grupoAcesso &&\r\n usuarioCompleto.grupoAcesso.nomeGrupo === 'Super Administrador' &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.descricao === status) &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.descricao === status)[0] && \r\n listaStatusAutorizacaoFornecimento.filter(x => x.descricao === status)[0].descricao === 'Autorização Concluída' ?\r\n \r\n \r\n
\r\n Usuário do status:\r\n { e ? setIdUsuario(e.value) : setIdUsuario(null) }}\r\n />\r\n \r\n
\r\n :\r\n null\r\n }\r\n
\r\n
\r\n \r\n {\r\n inserir === 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 Atenção\r\n \r\n \r\n \r\n \r\n \r\n Ao avançar o status irá para o Inicial, deseja prosseguir?\r\n \r\n \r\n \r\n \r\n \r\n {\r\n inserir === 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 Atenção\r\n \r\n \r\n \r\n \r\n \r\n O valor da autorização não foi 100% utilizado, você realmente deseja finaliza-la?\r\n \r\n \r\n \r\n \r\n \r\n {\r\n inserir === true ?\r\n \r\n :\r\n ''\r\n }\r\n\r\n \r\n \r\n \r\n \r\n )\r\n}","export function ListarStatusMedicaoAutorizacaoFornecimentoRequest() {\r\n return {\r\n type: 'LISTAR_STATUS_MEDICAO_AUTORIZACAO_FORNECIMENTO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarStatusMedicaoAutorizacaoFornecimentoResponse(listaStatusMedicaoAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_STATUS_MEDICAO_AUTORIZACAO_FORNECIMENTO_RESPONSE',\r\n listaStatusMedicaoAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport { Form, Col, Alert, Button } from \"react-bootstrap\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { FaSearchPlus } from \"react-icons/fa\";\r\nimport { ListarMedicaoAutorizacaoFornecimentoRequest } from \"../../../store/modules/medicaoAutorizacaoFornecimento/actions\";\r\nimport {\r\n AlterarMedicaoAutorizacaoFornecimentoRequest,\r\n InserirMedicaoAutorizacaoFornecimentoRequest\r\n} from \"../../../store/modules/medicaoAutorizacaoFornecimento/actions\";\r\nimport { ListarStatusMedicaoAutorizacaoFornecimentoRequest } from \"../../../store/modules/statusMedicaoAutorizacaoFornecimento/actions\";\r\nimport { ListarUsuarioRequest } from \"../../../store/modules/usuario/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport { FaPlus } from \"react-icons/fa\";\r\nimport MaterialTable from \"material-table\";\r\nimport moment from 'moment';\r\nimport ptBR from \"date-fns/locale/pt-BR\";\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function Medicoes() {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const { idAutorizacaoFornecimento } = useParams();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n const listaStatusMedicaoAutorizacaoFornecimento = useSelector(state => state.statusMedicaoAutorizacaoFornecimento.listaStatusMedicaoAutorizacaoFornecimento);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const listaMedicaoAutorizacaoFornecimento = useSelector(state => state.medicaoAutorizacaoFornecimento.listaMedicaoAutorizacaoFornecimento);\r\n const listaStatusAutorizacaoFornecimento = useSelector(state => state.statusAutorizacaoFornecimento.listaStatusAutorizacaoFornecimento);\r\n const listaAutorizacaoFornecimentoStatus = useSelector(state => state.autorizacaoFornecimentoStatus.listaAutorizacaoFornecimentoStatus);\r\n const autorizacaoFornecimentoCompleto = useSelector(state => state.autorizacaoFornecimento.autorizacaoFornecimentoCompleto);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"AutorizacaoFornecimentoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"AutorizacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"AutorizacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n dispatch(ListarUsuarioRequest());\r\n dispatch(ListarStatusMedicaoAutorizacaoFornecimentoRequest());\r\n\r\n if (idAutorizacaoFornecimento !== undefined) {\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoRequest(idAutorizacaoFornecimento));\r\n }\r\n\r\n }, [])\r\n\r\n function ValidacoesInserir(medicao) {\r\n\r\n // Valida o campo medição descrição\r\n if (medicao.descricao == ' ' || medicao.descricao == ''\r\n || medicao.descricao == null || medicao.descricao == undefined) {\r\n toast.error(`Descrição Inválida`);\r\n return false;\r\n }\r\n\r\n if (medicao.descricao.length > 200) {\r\n toast.error(`A descrição não pode conter mais que 200 caracteres`);\r\n return false;\r\n }\r\n\r\n // Valida o campo Data Medição\r\n if (medicao.dataApi == undefined || medicao.dataApi == null) {\r\n toast.error('É preciso selecionar a data da medição');\r\n return false;\r\n }\r\n\r\n // Valida o campo medição observação\r\n if (medicao.observacao !== undefined) {\r\n if (medicao.observacao.trim().length > 500) {\r\n toast.error('A observação não pode conter mais que 500 caracteres');\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function AlterarMedicao(medicao) {\r\n\r\n let data = {\r\n 'Id': medicao.id,\r\n 'IdAutorizacaoFornecimento': parseInt(idAutorizacaoFornecimento),\r\n 'IdUsuario': medicao.idUsuario,\r\n 'DataMedicao': medicao.dataApi,\r\n 'Observacao': medicao.observacao.trim(),\r\n 'Descricao': medicao.descricao\r\n }\r\n\r\n dispatch(AlterarMedicaoAutorizacaoFornecimentoRequest(data));\r\n if (idAutorizacaoFornecimento != undefined) {\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoRequest(idAutorizacaoFornecimento));\r\n }\r\n }\r\n\r\n function InserirMedicao(medicao) {\r\n\r\n\r\n // Verifica permissão do usuário\r\n var lista = [];\r\n\r\n if (listaContratoUsuario !== undefined && autorizacaoFornecimentoCompleto != null) {\r\n lista = listaContratoUsuario.filter(x => x.idUsuario === usuario.id &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato === x.idContrato)\r\n }\r\n\r\n if (lista.length > 0 && lista[0].editaQuantidadeSubitemMedicao === true) {\r\n\r\n let data = {\r\n 'Id': parseInt(0),\r\n 'IdAutorizacaoFornecimento': parseInt(idAutorizacaoFornecimento),\r\n 'IdUsuario': parseInt(usuario.id),\r\n 'DataInclusao': moment((new Date())).add('hours', 2),\r\n 'DataMedicao': medicao.dataApi,\r\n 'Observacao': medicao.observacao,\r\n 'Descricao': medicao.descricao\r\n }\r\n\r\n dispatch(InserirMedicaoAutorizacaoFornecimentoRequest(data));\r\n\r\n if (idAutorizacaoFornecimento != undefined) {\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoRequest(idAutorizacaoFornecimento));\r\n }\r\n\r\n } else {\r\n toast.error(\"Você não possui permissão para criar uma medição!\");\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n {\r\n if (rowData.descricao === undefined || rowData.descricao.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n }\r\n else if (rowData.descricao.length > 200) {\r\n return \"A descrição não pode conter mais que 200 caracteres\"\r\n }\r\n return true\r\n },\r\n editable: idAutorizacaoFornecimento !== undefined && listaAutorizacaoFornecimentoStatus !== undefined && listaStatusAutorizacaoFornecimento !== undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao === true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ===\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao === true)[0].id).length > 0\r\n ? 'never' : 'always'\r\n },\r\n {\r\n title: 'Total Medição',\r\n field: 'totalMedicao',\r\n type: 'numeric',\r\n align: 'left',\r\n cellStyle: {\r\n width: '12.5%'\r\n },\r\n editable: 'never',\r\n render: rowData =>\r\n rowData.totalMedicao === null ?\r\n null\r\n :\r\n rowData.totalMedicao.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n })\r\n },\r\n {\r\n title: 'Data Inclusão',\r\n field: 'dataInclusao',\r\n cellStyle: {\r\n width: '12.5%'\r\n },\r\n editable: 'never'\r\n },\r\n {\r\n title: 'Data Medição',\r\n field: 'dataApi',\r\n cellStyle: {\r\n width: '12.5%'\r\n },\r\n filtering: false,\r\n type: 'datetime',\r\n editable: 'always'\r\n },\r\n {\r\n title: 'Usuario',\r\n field: 'usuario',\r\n type: 'numeric',\r\n align: 'left',\r\n cellStyle: {\r\n width: '12.5%'\r\n },\r\n editable: 'never'\r\n },\r\n {\r\n title: 'Observação',\r\n field: 'observacao',\r\n align: 'left',\r\n editPlaceholder: 'Observação',\r\n cellStyle: {\r\n width: '12.5%'\r\n }, validate: rowData => {\r\n if (rowData.observacao !== undefined) {\r\n if (rowData.observacao.trim().length > 500) {\r\n return \"A observação não pode conter mais que 500 caracteres\"\r\n }\r\n }\r\n return true;\r\n },\r\n editable: idAutorizacaoFornecimento !== undefined && listaAutorizacaoFornecimentoStatus !== undefined && listaStatusAutorizacaoFornecimento !== undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao === true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ===\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao === true)[0].id).length > 0\r\n ? 'never' : 'always'\r\n },\r\n {\r\n title: 'Status', field: 'status', cellStyle: {\r\n width: '12.5%',\r\n },\r\n editable: 'never',\r\n render: rowData =>\r\n //verifica qual é o status da medição\r\n listaStatusMedicaoAutorizacaoFornecimento != undefined\r\n && listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true).length > 0\r\n && listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true).length > 0 ?\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true)[0].\r\n descricao === rowData.status ?\r\n
{rowData.status}
\r\n :\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true)[0].\r\n descricao === rowData.status ?\r\n
{rowData.status}
\r\n :\r\n
{rowData.status}
\r\n :\r\n ''\r\n }\r\n ]}\r\n data={\r\n listaMedicaoAutorizacaoFornecimento != undefined ?\r\n listaMedicaoAutorizacaoFornecimento.map((lista) => {\r\n return {\r\n id: lista.id,\r\n idAutorizacaoFornecimento: lista.idAutorizacaoFornecimento,\r\n dataMedicao: moment(lista.dataMedicao).format('L LT'),\r\n dataInclusao: moment(lista.dataInclusao).format('L LT'),\r\n usuario: lista.usuario.nome,\r\n observacao: lista.observacao,\r\n status: lista.statusAtual,\r\n descricao: lista.descricao,\r\n dataApi: lista.dataMedicao,\r\n idUsuario: lista.idUsuario,\r\n totalMedicao: lista.valorTotalMedicao\r\n }\r\n })\r\n :\r\n []\r\n }\r\n editable={{\r\n onRowAdd:\r\n // Verifica se esta em um status que só permite leitura\r\n listaContratoUsuario !== undefined && usuario !== undefined && autorizacaoFornecimentoCompleto != undefined &&\r\n autorizacaoFornecimentoCompleto != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato != null &&\r\n listaContratoUsuario.filter(x => x.iniciarMedicao == true && x.idUsuario == usuario.id &&\r\n x.idContrato == autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato).length > 0 ?\r\n idAutorizacaoFornecimento != undefined && listaAutorizacaoFornecimentoStatus != undefined && listaAutorizacaoFornecimentoStatus\r\n [listaAutorizacaoFornecimentoStatus.length - 1] != null && listaAutorizacaoFornecimentoStatus\r\n [listaAutorizacaoFornecimentoStatus.length - 1].statusAutorizacaoFornecimento != null &&\r\n listaAutorizacaoFornecimentoStatus\r\n [listaAutorizacaoFornecimentoStatus.length - 1].statusAutorizacaoFornecimento.somenteLeitura == false\r\n ?\r\n (newRow) => new Promise((resolve, reject) => {\r\n inserir == true ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n InserirMedicao(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n\r\n })\r\n :\r\n null\r\n :\r\n null,\r\n onRowUpdate:\r\n // Verifica se esta em um status que só permite leitura\r\n listaContratoUsuario !== undefined && usuario !== undefined && autorizacaoFornecimentoCompleto != undefined &&\r\n autorizacaoFornecimentoCompleto != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato != null &&\r\n listaContratoUsuario.filter(x => x.iniciarMedicao == true && x.idUsuario == usuario.id &&\r\n x.idContrato == autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato).length > 0 ?\r\n \r\n (newRow, oldRow) => new Promise((resolve, reject) => {\r\n alterar == true ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AlterarMedicao(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n :\r\n null\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: 'first',\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: () => ,\r\n onClick: () => history.push(`/alterarGeralMedicao/${rowData.id}/${idAutorizacaoFornecimento}`)\r\n })\r\n ]}\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n dateTimePickerLocalization: ptBR,\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n \r\n {\r\n //Verifica se autorização esta cancelada ou finalizada\r\n idAutorizacaoFornecimento !== undefined ?\r\n listaAutorizacaoFornecimentoStatus !== undefined && listaStatusAutorizacaoFornecimento !== undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao === true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao === true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Autorização está Cancelada!\r\n \r\n \r\n :\r\n listaAutorizacaoFornecimentoStatus !== undefined && listaStatusAutorizacaoFornecimento !== undefined &&\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao === true).length > 0 &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ===\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao === true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Autorização está Finalizada!\r\n \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 { useEffect, useState } from \"react\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { ListarCompletoAutorizacaoFornecimentoStatusRequest } from \"../../../store/modules/autorizacaoFornecimentoStatus/actions\";\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function HistoricoStatus() {\r\n\r\n const { idAutorizacaoFornecimento } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const listaCompletoAutorizacaoFornecimentoStatus = useSelector(state => state.autorizacaoFornecimentoStatus.listaCompletoAutorizacaoFornecimentoStatus);\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n if (idAutorizacaoFornecimento != undefined) {\r\n dispatch(ListarCompletoAutorizacaoFornecimentoStatusRequest(idAutorizacaoFornecimento));\r\n }\r\n\r\n }, [idAutorizacaoFornecimento])\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n rowData.statusCancela == true ?\r\n
{rowData.status}
\r\n :\r\n
{rowData.status}
\r\n },\r\n {\r\n title: 'Observação', field: 'observacao', cellStyle: {\r\n width: '25%'\r\n }\r\n },\r\n {\r\n title: 'Data', field: 'dataStatus', defaultSort: 'desc', cellStyle: {\r\n width: '25%'\r\n }\r\n },\r\n {\r\n title: 'Nome usuário', field: 'usuario', cellStyle: {\r\n width: '25%'\r\n }\r\n }\r\n ]}\r\n data={\r\n listaCompletoAutorizacaoFornecimentoStatus != undefined ?\r\n listaCompletoAutorizacaoFornecimentoStatus.map(autorizacaoStatus => {\r\n return {\r\n status:\r\n autorizacaoStatus.statusAutorizacaoFornecimento != null ?\r\n autorizacaoStatus.statusAutorizacaoFornecimento.descricao : '',\r\n dataStatus: moment(autorizacaoStatus.dataStatus).format('L LTS'),\r\n usuario: autorizacaoStatus.usuario != null ? autorizacaoStatus.usuario.nome : '',\r\n observacao: autorizacaoStatus.observacao,\r\n statusCancela: autorizacaoStatus.statusAutorizacaoFornecimento.cancelaAutorizacao\r\n }\r\n })\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n localization={{\r\n header: {\r\n actions: 'Ações'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n
\r\n \r\n )\r\n}","export function ListarHistoricoAutorizacaoFornecimentoEmpenhoRequest(IdAutorizacaoFornecimento) {\r\n return {\r\n type: 'LISTAR_HISTORICO_AUTORIZACAO_FORNECIMENTO_EMPENHO_REQUEST',\r\n IdAutorizacaoFornecimento\r\n }\r\n}\r\n\r\nexport function ListarHistoricoAutorizacaoFornecimentoEmpenhoResponse(listaHistoricoAutorizacaoFornecimentoEmpenho) {\r\n return {\r\n type: 'LISTAR_HISTORICO_AUTORIZACAO_FORNECIMENTO_EMPENHO_RESPONSE',\r\n listaHistoricoAutorizacaoFornecimentoEmpenho\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { useEffect, useState } from \"react\";\r\nimport { Col, Form } from \"react-bootstrap\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { ListarHistoricoAutorizacaoFornecimentoEmpenhoRequest } from \"../../../store/modules/historicoAutorizacaoFornecimentoEmpenho/actions\";\r\nimport { ListarAutorizacaoFornecimentoSubitemCustoRequest } from \"../../../store/modules/autorizacaoFornecimentoSubitemCusto/actions\";\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function HistoricoEmpenho() {\r\n\r\n const { idAutorizacaoFornecimento } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n const listaHistoricoAutorizacaoFornecimentoEmpenho = useSelector(state => state.historicoAutorizacaoFornecimentoEmpenho.listaHistoricoAutorizacaoFornecimentoEmpenho);\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n if (idAutorizacaoFornecimento !== undefined) {\r\n dispatch(ListarHistoricoAutorizacaoFornecimentoEmpenhoRequest(idAutorizacaoFornecimento));\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': parseInt(idAutorizacaoFornecimento)\r\n }\r\n\r\n dispatch(ListarAutorizacaoFornecimentoSubitemCustoRequest(data));\r\n }\r\n\r\n\r\n }, [idAutorizacaoFornecimento])\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n return {\r\n usuario: listaHistorico.usuario.nome,\r\n autorizacao: listaHistorico.autorizacaoFornecimento.numeroAf,\r\n empenho: listaHistorico.empenho.descricao,\r\n descricao: listaHistorico.descricao,\r\n data: moment(listaHistorico.dataInclusao).format('L LT'),\r\n acao: listaHistorico.nomeAcao != null && listaHistorico.nomeAcao == \"Inserção\" ?\r\n
{listaHistorico.nomeAcao}
\r\n :\r\n listaHistorico.nomeAcao != null && listaHistorico.nomeAcao == \"Transferência\" ?\r\n
{listaHistorico.nomeAcao}
\r\n :\r\n listaHistorico.nomeAcao != null && listaHistorico.nomeAcao == \"Remoção\" ?\r\n
{listaHistorico.nomeAcao}
\r\n : '',\r\n percentual: listaHistorico.nomeAcao != null && listaHistorico.nomeAcao == \"Remoção\" ?\r\n \"A autorização foi removida deste empenho\"\r\n :\r\n listaHistorico.nomeAcao != null && listaHistorico.nomeAcao == \"Transferência\" ?\r\n \"Foi transferido \" + ((listaHistorico.valorAutorizacaoEmpenhoTotal / listaHistorico.valorObraTotal) * 100).toFixed(2) +\r\n \"% do total das medições empenhadas\" + \" para o empenho \" + listaHistorico.empenho.descricao +\r\n \" - valor empenhado \" + (listaHistorico.valorAutorizacaoEmpenhoTotal).toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n })\r\n :\r\n \"Foi inserido no empenho \" + listaHistorico.empenho.descricao + \", \" +\r\n ((listaHistorico.valorAutorizacaoEmpenhoTotal / listaHistorico.valorObraTotal) * 100).toFixed(2) +\r\n \"% do total das medições empenhadas\" +\r\n \" - valor empenhado \" + (listaHistorico.valorAutorizacaoEmpenhoTotal).toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n }),\r\n valorMedicoes: (listaHistorico.valorObraTotal).toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n }),\r\n }\r\n })\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n localization={{\r\n header: {\r\n actions: 'Ações'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n \r\n
\r\n \r\n Total das Medições Empenhadas\r\n 0 ?\r\n (listaHistoricoAutorizacaoFornecimentoEmpenho[0].valorObraTotal).toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n })\r\n : null}\r\n disabled\r\n />\r\n
\r\n \r\n
\r\n \r\n )\r\n}","import { Card, Col, Row } from \"react-bootstrap\";\r\nimport { useEffect } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Pie } from \"react-chartjs-2\";\r\nimport { useState } from 'react';\r\nimport { chartColors } from \"../../PageDashboard/colors\";\r\n\r\nexport default function Dashboard() {\r\n\r\n const listaRelatorioAutorizacaoFornecimentoSubitemCusto = useSelector(state => state.relatorio.listaRelatorioAutorizacaoFornecimentoSubitemCusto);\r\n const [listaDescricao, setListaDescricao] = useState([]);\r\n const [listaValor, setListaValor] = useState([]);\r\n\r\n useEffect(() => {\r\n\r\n if (listaRelatorioAutorizacaoFornecimentoSubitemCusto !== undefined) {\r\n ListarProjecao();\r\n }\r\n\r\n }, [listaRelatorioAutorizacaoFornecimentoSubitemCusto])\r\n\r\n function ListarProjecao() {\r\n\r\n let listaDesc = [];\r\n let listaValorTotal = [];\r\n\r\n if (listaRelatorioAutorizacaoFornecimentoSubitemCusto != undefined && listaRelatorioAutorizacaoFornecimentoSubitemCusto.length != 0) {\r\n\r\n if (listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorTotal -\r\n listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorAtual <= 0) {\r\n /*listaDesc.push(\"Valor ainda não utilizado na Autorização (\" + (0).toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n }) + \")\");*/\r\n } else {\r\n listaDesc.push(\"Valor ainda não utilizado na Autorização (\" + (listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorTotal -\r\n listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorAtual).toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n }) + \")\");\r\n }\r\n\r\n listaDesc.push(\"Valor utilizado na Autorização (\" + listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorAtual.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n }) + \")\");\r\n if (listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorTotal -\r\n listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorAtual <= 0) {\r\n //listaValorTotal.push(0);\r\n } else {\r\n listaValorTotal.push(listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorTotal -\r\n listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorAtual);\r\n }\r\n\r\n listaValorTotal.push(listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorAtual);\r\n }\r\n\r\n setListaDescricao(listaDesc);\r\n setListaValor(listaValorTotal);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n Gráfico do valor utilizado da Autorização - Valor total da AF: {listaRelatorioAutorizacaoFornecimentoSubitemCusto != undefined\r\n && listaRelatorioAutorizacaoFornecimentoSubitemCusto.length != 0 ?\r\n listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorTotal.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n }) : ''}\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n {\r\n\r\n let sum = 0;\r\n let dataArr = ctx.chart.data.datasets[0].data;\r\n dataArr.map(data => {\r\n sum += data;\r\n });\r\n let percentage = (value * 100 / (listaRelatorioAutorizacaoFornecimentoSubitemCusto != undefined ?\r\n listaRelatorioAutorizacaoFornecimentoSubitemCusto.valorTotal : 1)).toFixed(2) + \"%\";\r\n return percentage;\r\n },\r\n color: '#000',\r\n }\r\n }\r\n }}\r\n height={500}\r\n width={500}\r\n />\r\n
\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 { Col, Card, Tabs, Tab } from \"react-bootstrap\";\r\nimport { MdAssignment } from 'react-icons/md';\r\nimport { useParams, useHistory } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useEffect } from \"react\";\r\nimport { BuscarAutorizacaoFornecimentoPorIdRequest } from \"../../../store/modules/autorizacaoFornecimento/actions\";\r\nimport AutorizacaoFornecimento from \"../AutorizacaoFornecimento/autorizacaoFornecimento\";\r\nimport Subitem from \"../SubItem/subitem\";\r\nimport Status from \"../Status/status\";\r\nimport Medicoes from \"../Medicoes/medicoes\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport HistoricoStatus from \"../HistoricoStatus/historicoStatus\";\r\nimport HistoricoEmpenho from \"../HistoricoEmpenho/historicoEmpenho\";\r\nimport Dashboard from \"../Dashboard/dashboard\";\r\n\r\nexport default function Abas() {\r\n\r\n const { idAutorizacaoFornecimento } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n const autorizacaoFornecimento = useSelector(state => state.autorizacaoFornecimento.autorizacaoFornecimento);\r\n\r\n useEffect(() => {\r\n dispatch(BuscarAutorizacaoFornecimentoPorIdRequest(idAutorizacaoFornecimento));\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (autorizacaoFornecimento !== null &&\r\n autorizacaoFornecimento !== undefined &&\r\n usuario.usuarioFornecedor === true &&\r\n autorizacaoFornecimento.solicitacaoFornecimentoVersao.solicitacaoFornecimento.idFornecedor !== usuario.fornecedor.idFornecedor) {\r\n history.push('/');\r\n }\r\n\r\n }, [autorizacaoFornecimento])\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Autorização Fornecimento\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Alert } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { BuscarMedicaoAutorizacaoFornecimentoPorIdRequest, LimparMedicao } from \"../../../store/modules/medicaoAutorizacaoFornecimento/actions\";\r\nimport { ListarMedicaoAutorizacaoFornecimentoStatusRequest } from \"../../../store/modules/medicaoAutorizacaoFornecimentoStatus/actions\";\r\nimport { ListarAutorizacaoFornecimentoSubitemCustoRequest } from \"../../../store/modules/autorizacaoFornecimentoSubitemCusto/actions\";\r\nimport { ListarStatusMedicaoAutorizacaoFornecimentoRequest } from \"../../../store/modules/statusMedicaoAutorizacaoFornecimento/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport Loading from '../../../components/Loading/loading';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function MedicaoAutorizacaoFornecimento() {\r\n\r\n const { idMedicao } = useParams();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const medicaoAutorizacaoFornecimentoCompleto = useSelector(state => state.medicaoAutorizacaoFornecimento.medicaoAutorizacaoFornecimentoCompleto);\r\n const listaStatusMedicaoAutorizacaoFornecimento = useSelector(state => state.statusMedicaoAutorizacaoFornecimento.listaStatusMedicaoAutorizacaoFornecimento);\r\n const listaAutorizacaoFornecimentoSubitemCusto = useSelector(state => state.autorizacaoFornecimentoSubitemCusto.listaAutorizacaoFornecimentoSubitemCusto);\r\n const listaMedicaoAutorizacaoFornecimentoStatus = useSelector(state => state.medicaoAutorizacaoFornecimentoStatus.listaMedicaoAutorizacaoFornecimentoStatus);\r\n\r\n const [numeroMedicaoAF, setNumeroMedicaoAF] = useState(\"\");\r\n const [idUsuario, setIdUsuario] = useState(\"\");\r\n const [observacao, setObservacao] = useState(\"\");\r\n const [numeroAf, setNumeroAf] = useState(\"\");\r\n const [dataInclusao, setDataInclusao] = useState(\"\");\r\n const [carregandoTime, setCarregandoTime] = useState(false);\r\n const [valorObra, setValorObra] = useState('');\r\n const [valorTotalMedicao, setValorTotalMedicao] = useState(0);\r\n\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarStatusMedicaoAutorizacaoFornecimentoRequest());\r\n\r\n if (idMedicao !== undefined) {\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoStatusRequest(idMedicao));\r\n dispatch(BuscarMedicaoAutorizacaoFornecimentoPorIdRequest(idMedicao));\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n var valorObraAtual = 0;\r\n\r\n if (listaAutorizacaoFornecimentoSubitemCusto != undefined) {\r\n\r\n listaAutorizacaoFornecimentoSubitemCusto.map(lista => {\r\n\r\n valorObraAtual += (lista.subitemCusto.valorUnitario * lista.quantidade)\r\n })\r\n\r\n }\r\n setValorObra(\"R$ \" + valorObraAtual.toFixed(2));\r\n\r\n }, [listaAutorizacaoFornecimentoSubitemCusto])\r\n\r\n useEffect(() => {\r\n\r\n if (medicaoAutorizacaoFornecimentoCompleto != null && medicaoAutorizacaoFornecimentoCompleto.idAutorizacaoFornecimento != null) {\r\n var data = {\r\n 'IdAutorizacaoFornecimento': parseInt(medicaoAutorizacaoFornecimentoCompleto.idAutorizacaoFornecimento)\r\n }\r\n\r\n dispatch(ListarAutorizacaoFornecimentoSubitemCustoRequest(data));\r\n }\r\n\r\n if (medicaoAutorizacaoFornecimentoCompleto != null && medicaoAutorizacaoFornecimentoCompleto.usuario != null\r\n && medicaoAutorizacaoFornecimentoCompleto.id == parseInt(idMedicao) && medicaoAutorizacaoFornecimentoCompleto.autorizacaoFornecimento !== undefined &&\r\n medicaoAutorizacaoFornecimentoCompleto.autorizacaoFornecimento !== null) {\r\n carregarMedicaoAutorizacaoFornecimento();\r\n }\r\n\r\n }, [medicaoAutorizacaoFornecimentoCompleto])\r\n\r\n useEffect(() => () =>\r\n dispatch(LimparMedicao())\r\n , []);\r\n\r\n function carregarMedicaoAutorizacaoFornecimento() {\r\n setNumeroMedicaoAF(medicaoAutorizacaoFornecimentoCompleto.id);\r\n setIdUsuario(medicaoAutorizacaoFornecimentoCompleto.usuario.nome);\r\n setObservacao(medicaoAutorizacaoFornecimentoCompleto.observacao);\r\n setNumeroAf(medicaoAutorizacaoFornecimentoCompleto.autorizacaoFornecimento.numeroAf);\r\n setDataInclusao(medicaoAutorizacaoFornecimentoCompleto.dataMedicao);\r\n setValorTotalMedicao(\"R$ \" + medicaoAutorizacaoFornecimentoCompleto.valorTotalMedicao.toFixed(2));\r\n setCarregandoTime(true);\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n carregandoTime ?\r\n
\r\n
\r\n
\r\n \r\n \r\n Número Medição\r\n setNumeroMedicaoAF(e.target.value)}\r\n disabled\r\n />\r\n \r\n \r\n Número AF\r\n setNumeroAf(e.target.value)}\r\n disabled\r\n />\r\n \r\n \r\n \r\n \r\n Usuario\r\n setIdUsuario(e.target.value)}\r\n disabled\r\n />\r\n \r\n \r\n Data Inclusão\r\n setDataInclusao(e.target.value)}\r\n disabled\r\n />\r\n \r\n \r\n\r\n \r\n \r\n Valor da Obra\r\n \r\n \r\n\r\n \r\n Valor da Medição\r\n \r\n \r\n\r\n \r\n \r\n \r\n Observação\r\n setObservacao(e.target.value)}\r\n disabled\r\n />\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n {\r\n idMedicao == undefined\r\n ?\r\n ''\r\n :\r\n (idMedicao != undefined) && (listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined) &&\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Medição está Cancelada!\r\n \r\n \r\n :\r\n (idMedicao != undefined) && listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined &&\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Medição está Finalizada!\r\n \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 { Row, Button, Modal, ModalFooter, Col, Container, Form } from \"react-bootstrap\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n ListarAutorizacaoFornecimentoSubitemCustoRequest\r\n} from \"../../store/modules/autorizacaoFornecimentoSubitemCusto/actions\";\r\nimport { InserirAutorizacaoFornecimentoSubitemCustoMedicaoRequest } from \"../../store/modules/autorizacaoFornecimentoSubitemCustoMedicao/actions\";\r\nimport { BuscarCompletoAutorizacaoFornecimentoRequest } from \"../../store/modules/autorizacaoFornecimento/actions\";\r\nimport { PatchedPagination } from \"../PatchedPagination/patchedPagination\";\r\nimport { BuscarContratoVersaoPorIdRequest } from '../../store/modules/contratoVersao/actions';\r\nimport {\r\n ListarAutorizacaoFornecimentoSubitemCustoMedicaoRequest,\r\n InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoRequest,\r\n InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoComFotoRequest\r\n} from \"../../store/modules/autorizacaoFornecimentoSubitemCustoMedicao/actions\";\r\nimport { ListarContratoUsuarioRequest } from '../../store/modules/contratoUsuario/actions';\r\nimport { BuscarUsuarioPorIdRequest } from \"../../store/modules/usuario/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport { ListarMedicaoAutorizacaoFornecimentoRequest } from \"../../store/modules/medicaoAutorizacaoFornecimento/actions\";\r\nimport Select from 'react-select';\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function ModalSubitemMedicao({ idUsuario, show, onHide, valorObraReais, valorTotalMedicaoReais, valorObraSemItensAdd }) {\r\n\r\n const { idMedicao, idAutorizacaoFornecimento } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const usuarioCompleto = useSelector(state => state.usuario.usuario);\r\n const contratoVersao = useSelector(state => state.contratoVersao.contratoVersaoCompleto);\r\n const listaAutorizacaoFornecimentoSubitemCusto = useSelector(state => state.autorizacaoFornecimentoSubitemCusto.listaAutorizacaoFornecimentoSubitemCusto);\r\n const autorizacaoFornecimentoCompleto = useSelector(state => state.autorizacaoFornecimento.autorizacaoFornecimentoCompleto);\r\n const listaAutorizacaoFornecimentoSubitemCustoMedicao =\r\n useSelector(state => state.autorizacaoFornecimentoSubitemCustoMedicao.listaAutorizacaoFornecimentoSubitemCustoMedicao);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const medicaoAutorizacaoFornecimentoCompleto = useSelector(state => state.medicaoAutorizacaoFornecimento.medicaoAutorizacaoFornecimentoCompleto);\r\n const listaMedicaoAutorizacaoFornecimento = useSelector(state => state.medicaoAutorizacaoFornecimento.listaMedicaoAutorizacaoFornecimento);\r\n\r\n const options = contratoVersao ?\r\n contratoVersao.subitemCusto.map(subitemUnidade => ({\r\n value: subitemUnidade.id, label: subitemUnidade.descricao\r\n }))\r\n :\r\n [];\r\n\r\n const [showConfirmacao, setShowConfirmacao] = useState(false);\r\n const [listaDataCompleta, setListaDataCompleta] = useState('');\r\n const [listaSubitem, setListaSubitem] = useState([]);\r\n const [observacaoSubitem, setObservacaoSubitem] = useState('');\r\n const [validated, setValidated] = useState(false);\r\n const [porcentagem, setPorcentagem] = useState(0);\r\n const [totalSelecionado, setTotalSelecionado] = useState(0);\r\n const [showFotoMedicao, setShowFotoMedicao] = useState(false);\r\n const [observacao, setObservacao] = useState('');\r\n const [listaFile, setListaFile] = useState([]);\r\n const [dataMedicao, setDataMedicao] = useState('');\r\n\r\n const handleCloseConfirmacao = () => setShowConfirmacao(false);\r\n const handleShowConfirmacao = () => setShowConfirmacao(true);\r\n\r\n const handleCloseFotoMedicao = () => setShowFotoMedicao(false);\r\n const handleShowFotoMedicao = () => setShowFotoMedicao(true);\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarContratoUsuarioRequest());\r\n\r\n if (idAutorizacaoFornecimento !== undefined) {\r\n\r\n dispatch(BuscarCompletoAutorizacaoFornecimentoRequest(idAutorizacaoFornecimento));\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': parseInt(idAutorizacaoFornecimento)\r\n }\r\n\r\n dispatch(ListarAutorizacaoFornecimentoSubitemCustoRequest(data));\r\n }\r\n\r\n if (usuario != null)\r\n dispatch(BuscarUsuarioPorIdRequest(usuario.id));\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (autorizacaoFornecimentoCompleto != null) {\r\n dispatch(BuscarContratoVersaoPorIdRequest(autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.id));\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoRequest(autorizacaoFornecimentoCompleto.id));\r\n }\r\n\r\n if (idMedicao != undefined && idMedicao != null)\r\n dispatch(ListarAutorizacaoFornecimentoSubitemCustoMedicaoRequest(idMedicao));\r\n\r\n }, [autorizacaoFornecimentoCompleto])\r\n\r\n useEffect(() => {\r\n constroiData();\r\n }, [listaAutorizacaoFornecimentoSubitemCusto, listaAutorizacaoFornecimentoSubitemCustoMedicao])\r\n\r\n const handleSubmit = (event) => {\r\n\r\n if (observacaoSubitem.trim() == '') {\r\n event.preventDefault();\r\n } else {\r\n\r\n let valorOrcamento = parseFloat(valorObraSemItensAdd);\r\n var valorComItensAdicionados = 0.0;\r\n var validacao = 0;\r\n var validacaoExcedendoValor = 0;\r\n var totalItensSelecionados = 0.0;\r\n let valorTotalExcedente = 0.0;\r\n\r\n if (listaAutorizacaoFornecimentoSubitemCusto) {\r\n listaAutorizacaoFornecimentoSubitemCusto.forEach(subitem => {\r\n valorComItensAdicionados += subitem.quantidade * subitem.subitemCusto.valorUnitario;\r\n })\r\n }\r\n\r\n listaSubitem.forEach(subitem => {\r\n var quantidadeExcedida = subitem.quantidadeMedicao;\r\n var valor = quantidadeExcedida * subitem.valorUnitario;\r\n totalItensSelecionados += valor\r\n });\r\n\r\n if (contratoVersao) {\r\n valorTotalExcedente = valorOrcamento + valorOrcamento * contratoVersao.valorIndiceQuantidadeItemExcedente;\r\n }\r\n\r\n var valorTodasMedicoes = 0.0;\r\n if (listaMedicaoAutorizacaoFornecimento) {\r\n listaMedicaoAutorizacaoFornecimento.forEach(medicao => {\r\n valorTodasMedicoes += medicao.valorTotalMedicao;\r\n });\r\n }\r\n\r\n var teste = totalItensSelecionados + valorTodasMedicoes;\r\n if (teste > valorTotalExcedente && contratoVersao && contratoVersao.liberaExcedenteAutorizacao) {\r\n validacaoExcedendoValor = validacaoExcedendoValor + 1;\r\n /*toast.error('O valor total dos itens selecionados esta ultrapassando o valor máximo da autorização');\r\n return;*/\r\n }\r\n\r\n /*\r\n listaSubitem.forEach(subitem => {\r\n if(subitem.quantidadeMedicao > subitem.saldoContratoExcedente && contratoVersao && contratoVersao.liberaExcedenteAutorizacao &&\r\n subitem.quantidadeMedicao > subitem.saldoAutorizacaoTotal ) {\r\n validacao = validacao + 1;\r\n if(contratoVersao && valorOrcamento){\r\n valorTotalExcedente = valorOrcamento + valorOrcamento * contratoVersao.valorIndiceQuantidadeItemExcedente;\r\n let valorTotalMed = ((subitem.quantidadeMedicao - subitem.quantidade) * subitem.valorUnitario) + valorComItensAdicionados;\r\n if(valorTotalMed > valorTotalExcedente){\r\n validacaoExcedendoValor = validacaoExcedendoValor + 1;\r\n toast.error('Item: ' + subitem.descricao + ' esta ultrapassando o saldo do contrato');\r\n return;\r\n }\r\n }\r\n }\r\n })*/\r\n\r\n if (/*validacao > 0 && */validacaoExcedendoValor === 1) {\r\n setDataMedicao(event)\r\n setObservacao(observacaoSubitem);\r\n handleShowFotoMedicao();\r\n return;\r\n } else {\r\n InserirSubitemConfirmado(event);\r\n }\r\n\r\n /*\r\n if(validacao === 0){\r\n \r\n }\r\n */\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n function constroiData() {\r\n\r\n let dataCompleta = [];\r\n\r\n if (listaAutorizacaoFornecimentoSubitemCusto != undefined && listaAutorizacaoFornecimentoSubitemCustoMedicao != undefined) {\r\n listaAutorizacaoFornecimentoSubitemCusto.map((lista) => {\r\n\r\n if (listaAutorizacaoFornecimentoSubitemCustoMedicao.find(x => x.idAutorizacaoFornecimentoSubitemCusto == lista.id) == undefined &&\r\n listaAutorizacaoFornecimentoSubitemCustoMedicao.find(x => x.autorizacaoFornecimentoSubitemCusto.subitemCusto.id == lista.subitemCusto.id) == undefined &&\r\n dataCompleta.find(x => x.subitem == lista.subitemCusto.id) == undefined) {\r\n dataCompleta.push({\r\n id: lista.id,\r\n codigoInterno: lista.subitemCusto.descricaoCodigoInterno,\r\n saldoContrato: lista.saldo,\r\n descricao: lista.subitemCusto.descricao,\r\n subitem: lista.subitemCusto.id,\r\n quantidade: lista.quantidade,\r\n unidadeMedida: lista.subitemCusto.unidadeMedida != undefined ? lista.subitemCusto.unidadeMedida.descricao : '',\r\n saldoContratoExcedente: lista.saldoContratoExcedente,\r\n quantidadeConsumidaAutorizacao: lista.quantidadeConsumidaAutorizacao,\r\n valorUnitario: lista.subitemCusto.valorUnitario,\r\n valorTotalEmpenhado: lista.subitemCusto.valorUnitario * lista.quantidadeConsumidaAutorizacao,\r\n valorTotalSubitem: lista.subitemCusto.valorUnitario * lista.quantidade,\r\n saldoAutorizacao: lista.saldoAutorizacao,\r\n saldoContrato: lista.saldo,\r\n quantidadeMedicao: 0,\r\n saldoAutorizacaoTotal: lista.saldoAutorizacaoTotal,\r\n total: 0,\r\n quantidadeSubitemAutorizacaoTotal: lista.quantidadeSubitemAutorizacaoTotal,\r\n quantidadeSubitemMedicaoTotal: lista.quantidadeSubitemMedicaoTotal,\r\n quantidadeOutrasMedicoes: lista.quantidadeOutrasMedicoes\r\n });\r\n }\r\n })\r\n }\r\n\r\n setListaDataCompleta(dataCompleta);\r\n }\r\n\r\n function Selecionar(data) {\r\n setListaSubitem(data);\r\n }\r\n\r\n function InserirMedicaoSubitem() {\r\n\r\n var verificacao = true;\r\n\r\n var validacaoExcedendoValor = 0;\r\n var totalItensSelecionados = 0.0;\r\n let valorTotalExcedente = 0.0;\r\n let valorOrcamento = parseFloat(valorObraSemItensAdd);\r\n listaSubitem.forEach(subitem => {\r\n var quantidadeExcedida = subitem.quantidadeMedicao;\r\n var valor = quantidadeExcedida * subitem.valorUnitario;\r\n totalItensSelecionados += valor\r\n });\r\n\r\n if (contratoVersao) {\r\n valorTotalExcedente = valorOrcamento + valorOrcamento * contratoVersao.valorIndiceQuantidadeItemExcedente;\r\n }\r\n\r\n var valorTodasMedicoes = 0.0;\r\n if (listaMedicaoAutorizacaoFornecimento) {\r\n listaMedicaoAutorizacaoFornecimento.forEach(medicao => {\r\n valorTodasMedicoes += medicao.valorTotalMedicao;\r\n });\r\n }\r\n\r\n var teste = totalItensSelecionados + valorTodasMedicoes;\r\n if (teste > valorTotalExcedente && contratoVersao && contratoVersao.liberaExcedenteAutorizacao) {\r\n validacaoExcedendoValor = validacaoExcedendoValor + 1;\r\n }\r\n\r\n if (validacaoExcedendoValor === 1) {\r\n verificacao = false;\r\n handleShowConfirmacao();\r\n return;\r\n }\r\n \r\n\r\n listaSubitem.forEach(subitem => {\r\n\r\n if (subitem.quantidadeMedicao + subitem.quantidadeSubitemMedicaoTotal > subitem.quantidadeSubitemAutorizacaoTotal) {\r\n //toast.error('Subitem: ' + subitem.descricao + ') esta ultrapassando o saldo da autorização');\r\n verificacao = false;\r\n handleShowConfirmacao();\r\n return;\r\n }\r\n\r\n if (subitem.quantidadeMedicao > subitem.saldoContratoExcedente && contratoVersao != null && contratoVersao.liberaExcedenteGlobal == false &&\r\n contratoVersao.liberaExcedenteSubitem == false && listaContratoUsuario && listaContratoUsuario.filter(a => a.id == contratoVersao.idContrato && a.idUsuario == usuario.id)[0] &&\r\n listaContratoUsuario.filter(a => a.idContrato == contratoVersao.idContrato && a.idUsuario == usuario.id)[0].editaExcedenteSubitemAutorizacao === false) {\r\n toast.error('Item: ' + subitem.descricao + ' esta ultrapassando o saldo do contrato');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n /*\r\n if (subitem.quantidadeMedicao == 0) {\r\n toast.error('Item: ' + subitem.descricao + ' não pode ter quantidade zero');\r\n verificacao = false;\r\n return;\r\n }*/\r\n\r\n });\r\n\r\n if (verificacao && listaSubitem.length > 0 && usuarioCompleto != null) {\r\n var listaSubitemInsercao = listaSubitem.map((subitem) => {\r\n return {\r\n Id: parseInt(0),\r\n IdMedicaoAutorizacaoFornecimento: parseInt(idMedicao),\r\n IdAutorizacaoFornecimentoSubitemCusto: subitem.id,\r\n IdUsuarioUltimaAlteracao: usuarioCompleto.id,\r\n DataUltimaAlteracao: moment((new Date())).add('hours', 2),\r\n QuantidadeCliente: parseFloat(usuarioCompleto.usuarioFornecedor ? 0 : subitem.quantidadeMedicao),\r\n QuantidadeFornecedor: parseFloat(usuarioCompleto.usuarioFornecedor ? subitem.quantidadeMedicao : 0),\r\n AlteracaoFornecedor: usuarioCompleto.usuarioFornecedor,\r\n Ativo: true,\r\n ListaAutorizacaoFornecimentoSubitemCustoMedicaoApiModel: { listaSubitemInsercao }\r\n }\r\n })\r\n\r\n let data = {\r\n Id: listaSubitemInsercao[0].Id,\r\n IdMedicaoAutorizacaoFornecimento: listaSubitemInsercao[0].IdMedicaoAutorizacaoFornecimento,\r\n IdAutorizacaoFornecimentoSubitemCusto: listaSubitemInsercao[0].IdAutorizacaoFornecimentoSubitemCusto,\r\n IdUsuarioUltimaAlteracao: listaSubitemInsercao[0].IdUsuarioUltimaAlteracao,\r\n DataUltimaAlteracao: listaSubitemInsercao[0].DataUltimaAlteracao,\r\n QuantidadeCliente: listaSubitemInsercao[0].QuantidadeCliente,\r\n QuantidadeFornecedor: listaSubitemInsercao[0].QuantidadeFornecedor,\r\n AlteracaoFornecedor: listaSubitemInsercao[0].AlteracaoFornecedor,\r\n Ativo: listaSubitemInsercao[0].Ativo,\r\n ListaAutorizacaoFornecimentoSubitemCustoMedicaoApiModel: listaSubitemInsercao\r\n }\r\n\r\n dispatch(InserirAutorizacaoFornecimentoSubitemCustoMedicaoRequest(data, idAutorizacaoFornecimento));\r\n setListaSubitem([]);\r\n onHide(true);\r\n\r\n } else {\r\n //toast.error('Selecione pelo menos um subitem');\r\n }\r\n setPorcentagem(0);\r\n }\r\n\r\n function InserirSubitemConfirmado(event) {\r\n\r\n event.preventDefault();\r\n\r\n var verificacao = true;\r\n\r\n listaSubitem.forEach(subitem => {\r\n\r\n if (subitem.quantidade > subitem.saldoContratoExcedente && contratoVersao != null && contratoVersao.liberaExcedenteGlobal == false &&\r\n contratoVersao.liberaExcedenteSubitem == false && listaContratoUsuario && listaContratoUsuario.filter(a => a.id == contratoVersao.idContrato && a.idUsuario == usuario.id)[0] &&\r\n listaContratoUsuario.filter(a => a.idContrato == contratoVersao.idContrato && a.idUsuario == usuario.id)[0].editaExcedenteSubitemAutorizacao === false) {\r\n toast.error('Item: ' + subitem.descricao + ' esta ultrapassando o saldo do contrato');\r\n verificacao = false;\r\n return;\r\n }\r\n\r\n /*\r\n if (subitem.quantidade == 0) {\r\n toast.error('Item: ' + subitem.descricao + ' não pode ter quantidade zero');\r\n verificacao = false;\r\n return;\r\n }*/\r\n\r\n });\r\n\r\n if (verificacao && listaSubitem.length > 0) {\r\n\r\n var listaSubitemInsercao = listaSubitem.map((subitem) => {\r\n return {\r\n IdMedicaoAutorizacaoFornecimento: parseInt(idMedicao),\r\n DataUltimaAlteracao: moment((new Date())).add('hours', 2),\r\n Quantidade: parseFloat(subitem.quantidadeMedicao),\r\n IdSubItemCusto: parseInt(subitem.subitem),\r\n Observacao: observacaoSubitem\r\n }\r\n })\r\n\r\n dispatch(InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoRequest(listaSubitemInsercao, idAutorizacaoFornecimento, contratoVersao != null ? contratoVersao.id : 0));\r\n setListaSubitem([]);\r\n handleCloseConfirmacao();\r\n onHide(true);\r\n }\r\n\r\n setPorcentagem(0);\r\n }\r\n\r\n function InserirSubitemConfirmadoComFoto(event) {\r\n\r\n event.preventDefault();\r\n\r\n var verificacao = true;\r\n var valorSubitemAdicionado = 0.0;\r\n var valorEcedente = 0.0;\r\n\r\n if (listaSubitem.length > 0) {\r\n\r\n var dados = listaSubitem.map((subitem) => {\r\n valorSubitemAdicionado += subitem.quantidadeMedicao * subitem.valorUnitario;\r\n return parseInt(subitem.id)\r\n })\r\n }\r\n\r\n if(valorTotalMedicaoReais && valorObraSemItensAdd && contratoVersao && contratoVersao.valorIndiceQuantidadeItemExcedente){\r\n valorSubitemAdicionado = valorTotalMedicaoReais + valorSubitemAdicionado + parseFloat(valorObraSemItensAdd);\r\n var valorEcedente = parseFloat(valorObraSemItensAdd) + parseFloat(valorObraSemItensAdd) * contratoVersao.valorIndiceQuantidadeItemExcedente;\r\n }\r\n\r\n let formData = new FormData();\r\n\r\n if (listaFile.length > 0) {\r\n for (var x = 0; x < listaFile.length; x++) {\r\n formData.append('File', listaFile[x]);\r\n formData.append('IdAutorizacaoFornecimentoSubitemCustoMedicao', null);\r\n formData.append('IdMedicao', parseInt(idMedicao));\r\n formData.append('IdUsuario', usuario.id);\r\n if (observacao != '')\r\n formData.append('Observacao', observacao);\r\n }\r\n setListaFile([]);\r\n handleCloseFotoMedicao();\r\n } else {\r\n toast.error('Para continuar insira um documento');\r\n }\r\n\r\n if (verificacao && listaSubitem.length > 0) {\r\n\r\n var listaSubitemInsercao = listaSubitem.map((subitem) => {\r\n return {\r\n IdMedicaoAutorizacaoFornecimento: parseInt(idMedicao),\r\n DataUltimaAlteracao: moment((new Date())).add('hours', 2),\r\n Quantidade: parseFloat(subitem.quantidadeMedicao),\r\n IdSubItemCusto: parseInt(subitem.subitem),\r\n Observacao: observacaoSubitem\r\n }\r\n })\r\n\r\n dispatch(InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoComFotoRequest(listaSubitemInsercao, idAutorizacaoFornecimento, contratoVersao != null ? contratoVersao.id : 0, formData, dados,\r\n valorSubitemAdicionado, parseFloat(valorEcedente)));\r\n setListaSubitem([]);\r\n handleCloseConfirmacao();\r\n onHide(true);\r\n }\r\n\r\n setPorcentagem(0);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Novo Item\r\n \r\n \r\n {\r\n listaAutorizacaoFornecimentoSubitemCusto != undefined && listaAutorizacaoFornecimentoSubitemCusto.length > 0 ?\r\n {\r\n return {\r\n id: subitemUnidade.id, descricao: subitemUnidade.descricao\r\n }\r\n }).reduce(function (acc, cur, i) {\r\n acc[cur.id] = cur.descricao;\r\n return acc;\r\n }, {})\r\n :\r\n null,\r\n editComponent: (props) => (\r\n soli.id == props.value).length > 0\r\n && listaCompletoAutorizacaoFornecimentoSubitemCusto.filter(soli => soli.id == props.value)[0].subitemCusto != null\r\n ? listaCompletoAutorizacaoFornecimentoSubitemCusto.filter(soli => soli.id == props.value)[0].subitemCusto.descricaoCodigoInterno + \" - \" + listaCompletoAutorizacaoFornecimentoSubitemCusto.filter(soli => soli.id == props.value)[0].subitemCusto.descricao\r\n : 'Selecione...'\r\n }}\r\n />\r\n ),\r\n },\r\n {\r\n title: 'Quantidade Outras Medições', field: 'quantidadeOutrasMedicoes', editable: 'never',\r\n //hidden: saldoQuantidadeContrato ? false : true\r\n },\r\n {\r\n title: 'Quantidade Cliente',\r\n type: 'numeric',\r\n align: 'left',\r\n field: 'QuantidadeCliente',\r\n hidden: quantidadeCliente ? false : true,\r\n editable: (coluna, linha) => (usuarioCompleto != null && usuarioCompleto.usuarioFornecedor != true),\r\n validate:\r\n usuarioCompleto != null && usuarioCompleto.usuarioFornecedor != true ?\r\n rowData => {\r\n if (rowData.QuantidadeCliente === undefined || rowData.QuantidadeCliente === \"\" || isNaN(rowData.QuantidadeCliente)) {\r\n return \"Campo Obrigatório\"\r\n } else if (rowData.QuantidadeCliente.toString().length > 10) {\r\n return \"A quantidade não pode conter mais que 10 dígitos\"\r\n } else if (rowData.QuantidadeCliente < 0) {\r\n return \"A quantidade não pode ser menor que zero\"\r\n }\r\n return true\r\n }\r\n :\r\n rowData => {\r\n return true\r\n }\r\n },\r\n {\r\n title: 'Quantidade Fornecedor',\r\n field: 'QuantidadeFornecedor',\r\n type: 'numeric',\r\n align: 'left',\r\n hidden: quantidadeFornecedor ? false : true,\r\n editable: (coluna, linha) => (usuarioCompleto != null && usuarioCompleto.usuarioFornecedor == true),\r\n validate:\r\n usuarioCompleto != null && usuarioCompleto.usuarioFornecedor == true ?\r\n rowData => {\r\n if (rowData.QuantidadeFornecedor === undefined || rowData.QuantidadeFornecedor === \"\" || isNaN(rowData.QuantidadeFornecedor)) {\r\n return \"Campo Obrigatório\"\r\n } else if (rowData.QuantidadeFornecedor.toString().length > 10) {\r\n return \"A quantidade não pode conter mais que 10 dígitos\"\r\n } else if (rowData.QuantidadeFornecedor < 0) {\r\n return \"A quantidade não pode ser menor que zero\"\r\n }\r\n return true\r\n }\r\n :\r\n rowData => {\r\n return true\r\n }\r\n },\r\n {\r\n title: 'Quantidade Final', field: 'quantidadeFinal', editable: 'never',\r\n //hidden: saldoQuantidadeContrato ? false : true\r\n },\r\n {\r\n title: 'Unidade de Medida',\r\n field: 'unidadeMedida',\r\n editable: 'never',\r\n hidden: unidadeDeMedida ? false : true,\r\n },\r\n {\r\n title: 'Saldo Quantidade Autorização', field: 'saldoAutorizacao', editable: 'never',\r\n hidden: saldoQuantidadeAutorizacao ? false : true,\r\n },\r\n {\r\n title: 'Saldo Quantidade Contrato (excedente)', field: 'saldoContrato', editable: 'never',\r\n hidden: saldoQuantidadeContrato ? false : true,\r\n render: rowData => rowData.saldoContrato + ' (' + rowData.saldoContratoExcedente + ')'\r\n },\r\n {\r\n title: 'Quantidade Total Contrato (Excedente)', field: 'quantidadeTotalContrato', editable: 'never',\r\n hidden: quantidadeTotalContrato ? false : true,\r\n render: rowData =>\r\n rowData.quantidadeTotalContrato != null ?\r\n rowData.quantidadeTotalContrato + ' (' + rowData.quantidadeContratoExcedente + ')' : ''\r\n },\r\n {\r\n title: 'Valor Unitário Item', field: 'valorUnitario', editable: 'never',\r\n grouping: false,\r\n hidden: valorUnitarioSubitem ? false : true,\r\n render: rowData =>\r\n rowData.valorUnitario === null ?\r\n null\r\n :\r\n rowData.valorUnitario.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n })\r\n },\r\n {\r\n title: 'Data Ultima Alteração',\r\n align: 'left',\r\n field: 'DataUltimaAlteracao',\r\n hidden: dataUltimaAlteracao ? false : true,\r\n editable: 'never'\r\n },\r\n {\r\n title: 'Usuário Ultima Alteração',\r\n field: 'Usuario',\r\n align: 'left',\r\n hidden: usuarioUltimaAlteracao ? false : true,\r\n editable: 'never',\r\n render: rowData =>\r\n listaUsuario.filter(x => x.nome == rowData.Usuario).length > 0 &&\r\n listaUsuario.filter(x => x.nome == rowData.Usuario)[0].usuarioFornecedor\r\n == true ?\r\n
{rowData.Usuario}{' (Fornecedor)'}
\r\n :\r\n
{rowData.Usuario}{' (Cliente)'}
\r\n },\r\n {\r\n title: 'Ativo',\r\n field: 'ativo', editable: 'onUpdate',\r\n customFilterAndSearch: (term, rowData) => term == rowData.ativo.toString(),\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value == 'ativado' ? 'true' :\r\n e != null && e.value == 'desativado' ? 'false' : null)\r\n }}\r\n />\r\n )\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n hidden: ativo ? false : true,\r\n render: rowData => ( { }} />)\r\n },\r\n {\r\n title: 'Empenhado',\r\n field: 'empenhado',\r\n align: 'left',\r\n editable: 'never',\r\n hidden: itemEmpenhado ? false : true,\r\n },\r\n\r\n ]}\r\n data={\r\n listaAutorizacaoFornecimentoSubitemCustoMedicao != undefined && listaUsuario != undefined && listaAutorizacaoFornecimentoSubitemCusto != undefined ?\r\n listaAutorizacaoFornecimentoSubitemCustoMedicao.map((lista) => {\r\n return {\r\n id: lista.id,\r\n subitem: lista.idAutorizacaoFornecimentoSubitemCusto,\r\n IdAutorizacaoFornecimentoSubitemCusto: lista.idAutorizacaoFornecimentoSubitemCusto,\r\n codigoInterno:\r\n lista.autorizacaoFornecimentoSubitemCusto != null &&\r\n lista.autorizacaoFornecimentoSubitemCusto.subitemCusto != null ?\r\n lista.autorizacaoFornecimentoSubitemCusto.subitemCusto.descricaoCodigoInterno\r\n :\r\n ''\r\n ,\r\n DataUltimaAlteracao: moment(lista.dataUltimaAlteracao).format('L LT'),\r\n Usuario: lista.usuario != null ?\r\n lista.usuario.nome : '',\r\n QuantidadeCliente: lista.quantidadeCliente,\r\n QuantidadeFornecedor: lista.quantidadeFornecedor,\r\n Aprovado: '',\r\n saldoContrato: lista.saldo,\r\n unidadeMedida: lista.autorizacaoFornecimentoSubitemCusto.subitemCusto.unidadeMedida.descricao,\r\n saldoAutorizacao: lista.saldoAutorizacao,\r\n ativo: lista.ativo,\r\n saldoContratoExcedente: lista.saldoExcedente,\r\n valorUnitario: lista.autorizacaoFornecimentoSubitemCusto != null &&\r\n lista.autorizacaoFornecimentoSubitemCusto.subitemCusto != null ?\r\n lista.autorizacaoFornecimentoSubitemCusto.subitemCusto.valorUnitario\r\n :\r\n '',\r\n quantidadeSubitemAutorizacaoTotal: lista.quantidadeSubitemAutorizacaoTotal,\r\n quantidadeSubitemMedicaoTotal: lista.quantidadeSubitemMedicaoTotal,\r\n quantidadeInicial: lista.quantidadeCliente > lista.quantidadeFornecedor ? lista.quantidadeCliente : lista.quantidadeFornecedor,\r\n quantidadeTotalContrato: lista.quantidadeContrato,\r\n quantidadeContratoExcedente: lista.quantidadeContratoExcedente,\r\n empenhado: lista.idEmpenho !== null && lista.idEmpenho.length > 0 ?\r\n lista.idEmpenho.map(e => (\r\n lista.idEmpenho[lista.idEmpenho.length - 1] == e ?\r\n `${e} `\r\n :\r\n `${e}, `\r\n ))\r\n :\r\n 'Este item ainda não foi empenhado',\r\n quantidadeOutrasMedicoes: lista.quantidadeOutrasMedicoes,\r\n quantidadeFinal: lista.quantidadeOutrasMedicoes + lista.quantidadeCliente\r\n }\r\n })\r\n :\r\n []\r\n }\r\n editable={{\r\n //isEditHidden: rowData => rowData.ativo === false,\r\n onRowUpdate:\r\n idMedicao != undefined && listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1] != undefined && listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1].statusMedicaoAutorizacaoFornecimento != null &&\r\n listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1].statusMedicaoAutorizacaoFornecimento.somenteLeitura == false\r\n ?\r\n (newRow, oldRow) => new Promise((resolve, reject) => {\r\n alterar == true ?\r\n setTimeout(() => {\r\n AlterarAutorizacaoFornecimentoSubitemCustoMedicao(newRow);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n :\r\n null\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n actionsCellStyle: {\r\n width: '5%',\r\n position: 'static'\r\n },\r\n headerStyle: { position: 'sticky', top: 0 },\r\n maxBodyHeight: '650px',\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n addRowPosition: \"first\",\r\n filtering: true,\r\n rowStyle:\r\n rowData => ({\r\n backgroundColor:\r\n (rowData.QuantidadeCliente == rowData.QuantidadeFornecedor\r\n && rowData.QuantidadeCliente - rowData.saldoContratoExcedente > 0 || rowData.ativo == false\r\n || rowData.QuantidadeCliente == rowData.QuantidadeFornecedor\r\n && rowData.QuantidadeCliente - rowData.saldoAutorizacao > 0) &&\r\n listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined &&\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true)[0].id).length == 0 ? '#F7D1D1' :\r\n (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: Contém divergência de quantidade entre fornecedor e cliente,\r\n hidden: rowData.ativo == false || rowData.QuantidadeCliente == rowData.QuantidadeFornecedor ? true : false\r\n }),\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: \r\n {rowData.QuantidadeCliente == rowData.QuantidadeFornecedor\r\n && rowData.QuantidadeCliente - rowData.saldoAutorizacao > 0 ?\r\n 'Quantidade saldo autorização excedida: ' + (rowData.QuantidadeFornecedor - rowData.saldoAutorizacao)\r\n : null}\r\n ,\r\n hidden:\r\n rowData.ativo == false || !(rowData.QuantidadeCliente == rowData.QuantidadeFornecedor\r\n && rowData.QuantidadeFornecedor - rowData.saldoAutorizacao > 0) ||\r\n listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined &&\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true)[0].id).length > 0\r\n }),\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: \r\n {rowData.QuantidadeCliente == rowData.QuantidadeFornecedor\r\n && rowData.QuantidadeCliente - rowData.saldoContratoExcedente > 0 ?\r\n 'Esse item esta passando ' + (rowData.QuantidadeCliente - rowData.saldoContratoExcedente) + ' unidades da quantidade excedente do contrato.'\r\n : null}\r\n ,\r\n hidden:\r\n rowData.ativo == false ||\r\n !(rowData.QuantidadeCliente == rowData.QuantidadeFornecedor\r\n && rowData.QuantidadeCliente - rowData.saldoContratoExcedente > 0) ||\r\n listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined &&\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true)[0].id).length > 0\r\n }),\r\n rowData => ({\r\n icon: () => ,\r\n onClick: () => history.push(`/alterarGeralSubitem/${rowData.id}/${idMedicao}/${idAutorizacaoFornecimento}`)\r\n }),\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: Item esta desativado e não será medido. ,\r\n hidden: rowData.ativo == true\r\n })\r\n ]}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n :\r\n \r\n }\r\n
\r\n \r\n \r\n \r\n Valor do Orçamento (Sem Itens Adicionados Depois)\r\n \r\n \r\n \r\n Valor do Orçamento (Com Itens Adicionados Depois)\r\n \r\n \r\n \r\n Valor da Medição (Total)\r\n \r\n \r\n \r\n Valor da Medição (Subitens Aprovados)\r\n \r\n \r\n \r\n \r\n {/* \r\n % Medição (Com Itens Adicionados Depois):\r\n \r\n */}\r\n \r\n % Medição: {/*(Sem Itens Adicionados Depois)*/}\r\n \r\n \r\n \r\n % de Todas as Medições da AF: {/* (Sem Itens Adicionados Depois)*/}\r\n \r\n \r\n \r\n \r\n {/* \r\n % de Todas as Medições da AF (Com Itens Adicionados Depois):\r\n \r\n */}\r\n\r\n \r\n \r\n \r\n {\r\n valorTotalTodasMedicoesSemAdicionado !== null &&\r\n valorTotalTodasMedicoesSemAdicionado !== undefined &&\r\n valorTotalTodasMedicoesSemAdicionado > 130.00 ?\r\n \r\n \r\n A soma das medições dessa Autorização passaram 130%\r\n \r\n \r\n :\r\n ''\r\n }\r\n \r\n \r\n {\r\n (idMedicao != undefined) && (listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined) &&\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Medição está Cancelada!\r\n \r\n \r\n :\r\n (idMedicao != undefined) && listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined &&\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Medição está Finalizada!\r\n \r\n \r\n :\r\n ''\r\n }\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n \r\n \r\n \r\n Quantidade passando a quantidade do item da autorização, ao prosseguir, a quantidade será alterada na autorização. Deseja continuar?\r\n \r\n {\r\n \r\n \r\n Observação: \r\n { setObservacaoSubitem(e.target.value); setObservacao(e.target.value) }}\r\n required\r\n maxLength=\"500\"\r\n isInvalid={validated && observacaoSubitem.trim() === \"\" ? true : false}\r\n isValid={validated && observacaoSubitem.trim() !== \"\" ? true : false}\r\n />\r\n O campo observação é 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 Registro Fotográfico\r\n \r\n \r\n \r\n \r\n O valor da obra foi excedido. Inclua uma foto e uma justificativa para esta ação
\r\n \r\n

\r\n setListaFile(files)}\r\n filesLimit={10}\r\n acceptedFiles={['image/png, image/jpeg, image/jpg']}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 10 arquivos`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={30000000}\r\n />\r\n
\r\n
\r\n \r\n Observacao\r\n setObservacao(e.target.value)} />\r\n O campo Descrição Objeto é 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","import { useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { Button, Container, Row, Col, Modal, Form } from \"react-bootstrap\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { ListarStatusMedicaoAutorizacaoFornecimentoRequest } from \"../../../store/modules/statusMedicaoAutorizacaoFornecimento/actions\";\r\nimport { ListarStatusAutorizacaoFornecimentoRequest } from \"../../../store/modules/statusAutorizacaoFornecimento/actions\";\r\nimport { ListarAutorizacaoFornecimentoStatusRequest } from \"../../../store/modules/autorizacaoFornecimentoStatus/actions\";\r\nimport {\r\n ListarMedicaoAutorizacaoFornecimentoStatusRequest, InserirMedicaoAutorizacaoFornecimentoStatusRequest,\r\n LimparListaValidacaoMedicao, ReabrirMedicaoAutorizacaoFornecimentoStatusRequest\r\n} from \"../../../store/modules/medicaoAutorizacaoFornecimentoStatus/actions\";\r\nimport { BuscarMedicaoAutorizacaoFornecimentoPorIdRequest } from '../../../store/modules/medicaoAutorizacaoFornecimento/actions';\r\nimport { BuscarCompletoAutorizacaoFornecimentoRequest } from \"../../../store/modules/autorizacaoFornecimento/actions\";\r\nimport { ListarContratoUsuarioRequest } from '../../../store/modules/contratoUsuario/actions';\r\nimport { ListarAutorizacaoFornecimentoSubitemCustoMedicaoRequest } from \"../../../store/modules/autorizacaoFornecimentoSubitemCustoMedicao/actions\";\r\nimport { toast } from 'react-toastify';\r\nimport ModalVerificacaoSaldoSubitem from \"../../../components/ModalVerificacaoSaldoSubitem/modalVerificacaoSaldoSubitem\";\r\nimport MaterialTable from 'material-table';\r\nimport './status.css';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function Status() {\r\n\r\n const { idAutorizacaoFornecimento, idMedicao } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const medicaoAutorizacaoFornecimentoCompleto = useSelector(state => state.medicaoAutorizacaoFornecimento.medicaoAutorizacaoFornecimentoCompleto);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const listaStatusAutorizacaoFornecimento = useSelector(state => state.statusAutorizacaoFornecimento.listaStatusAutorizacaoFornecimento);\r\n const listaStatusMedicaoAutorizacaoFornecimento = useSelector(state => state.statusMedicaoAutorizacaoFornecimento.listaStatusMedicaoAutorizacaoFornecimento);\r\n const listaAutorizacaoFornecimentoStatus = useSelector(state => state.autorizacaoFornecimentoStatus.listaAutorizacaoFornecimentoStatus);\r\n const autorizacaoFornecimentoCompleto = useSelector(state => state.autorizacaoFornecimento.autorizacaoFornecimentoCompleto);\r\n const listaMedicaoAutorizacaoFornecimentoStatus = useSelector(state => state.medicaoAutorizacaoFornecimentoStatus.listaMedicaoAutorizacaoFornecimentoStatus);\r\n const listaValidacaoMedicaoStatus = useSelector(state => state.medicaoAutorizacaoFornecimentoStatus.listaValidacaoMedicaoStatus);\r\n const listaAutorizacaoFornecimentoSubitemCustoMedicao = useSelector(state => state.autorizacaoFornecimentoSubitemCustoMedicao.listaAutorizacaoFornecimentoSubitemCustoMedicao);\r\n\r\n const [descricaoObservacaoCancelado, setDescricaoObservacaoCancelado] = useState(\"\");\r\n const [show, setShow] = useState(false);\r\n const [showValidacao, setShowValidacao] = useState(false);\r\n const [showStatus, setShowStatus] = useState(false);\r\n const [showNovoStatus, setShowNovoStatus] = useState(false);\r\n const [status, setStatus] = useState('');\r\n const [statusExcluir, setStatusExcluir] = useState('');\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [validated, setValidated] = useState(false);\r\n const [dados, setDados] = useState(null);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const handleCloseStatus = () => setShowStatus(false);\r\n const handleShowStatus = () => setShowStatus(true);\r\n const handleCloseNovoStatus = () => setShowNovoStatus(false);\r\n const handleShowNovoStatus = () => setShowNovoStatus(true);\r\n const handleCloseValidacao = () => setShowValidacao(false);\r\n const handleShowValidacao = () => setShowValidacao(true);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n const [excluir, setExcluir] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoExcluir\").length == 1) {\r\n setExcluir(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarContratoUsuarioRequest());\r\n dispatch(ListarStatusAutorizacaoFornecimentoRequest())\r\n dispatch(ListarStatusMedicaoAutorizacaoFornecimentoRequest());\r\n\r\n if (idMedicao != undefined) {\r\n dispatch(ListarAutorizacaoFornecimentoSubitemCustoMedicaoRequest(idMedicao));\r\n dispatch(BuscarMedicaoAutorizacaoFornecimentoPorIdRequest(idMedicao));\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoStatusRequest(idMedicao));\r\n }\r\n\r\n if (idAutorizacaoFornecimento != undefined)\r\n dispatch(ListarAutorizacaoFornecimentoStatusRequest(idAutorizacaoFornecimento));\r\n\r\n }, [idMedicao, idAutorizacaoFornecimento])\r\n\r\n useEffect(() => {\r\n if (medicaoAutorizacaoFornecimentoCompleto != null) {\r\n dispatch(BuscarCompletoAutorizacaoFornecimentoRequest(medicaoAutorizacaoFornecimentoCompleto.idAutorizacaoFornecimento));\r\n }\r\n }, [medicaoAutorizacaoFornecimentoCompleto])\r\n\r\n useEffect(() => {\r\n if (listaValidacaoMedicaoStatus != null && listaValidacaoMedicaoStatus != undefined) {\r\n handleShowValidacao();\r\n }\r\n }, [listaValidacaoMedicaoStatus])\r\n\r\n const handleSubmit = (event) => {\r\n\r\n if (descricaoObservacaoCancelado.trim() == '') {\r\n event.preventDefault();\r\n } else {\r\n CancelarMedicao(event);\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n function InserirMedicaoStatus() {\r\n\r\n let proximoStatus = '';\r\n var validaSubitem = true;\r\n\r\n if (listaStatusMedicaoAutorizacaoFornecimento != undefined) {\r\n proximoStatus = listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.descricao == status);\r\n }\r\n\r\n // Verificar subitem ao finalizar\r\n if (listaAutorizacaoFornecimentoSubitemCustoMedicao != undefined) {\r\n listaAutorizacaoFornecimentoSubitemCustoMedicao.map(subitem => {\r\n if (subitem.ativo == true && subitem.quantidadeCliente != subitem.quantidadeFornecedor) {\r\n validaSubitem = false;\r\n }\r\n })\r\n }\r\n\r\n if (validaSubitem == true) {\r\n\r\n if (proximoStatus.length > 0) {\r\n let data = {\r\n 'Id': 0,\r\n 'IdMedicaoAutorizacaoFornecimento': parseInt(idMedicao),\r\n 'IdStatusMedicaoAutorizacaoFornecimento': proximoStatus[0].id,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoCancelado': ''\r\n }\r\n\r\n setDados(data);\r\n dispatch(InserirMedicaoAutorizacaoFornecimentoStatusRequest(data, idMedicao, false));\r\n handleCloseStatus();\r\n }\r\n\r\n } else {\r\n toast.error(\"Algum item não esta aprovado!\");\r\n }\r\n\r\n }\r\n\r\n function InserirMedicaoStatusClick(statusParametro) {\r\n setStatus(statusParametro);\r\n handleShowStatus();\r\n }\r\n\r\n function CancelarMedicao(e) {\r\n\r\n e.preventDefault();\r\n\r\n let proximoStatus = [];\r\n\r\n if (listaStatusMedicaoAutorizacaoFornecimento != undefined) {\r\n proximoStatus = listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true);\r\n }\r\n\r\n if (proximoStatus.length > 0) {\r\n let data = {\r\n 'Id': 0,\r\n 'IdMedicaoAutorizacaoFornecimento': parseInt(idMedicao),\r\n 'IdStatusMedicaoAutorizacaoFornecimento': proximoStatus[0].id,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoCancelado': descricaoObservacaoCancelado\r\n }\r\n\r\n dispatch(InserirMedicaoAutorizacaoFornecimentoStatusRequest(data, idMedicao, true));\r\n setDescricaoObservacaoCancelado('');\r\n setValidated(false);\r\n handleClose();\r\n }\r\n }\r\n\r\n function InserirNovoStatusMedicao() {\r\n\r\n let proximoStatus = [];\r\n\r\n if (listaStatusMedicaoAutorizacaoFornecimento != undefined) {\r\n proximoStatus = listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.iniciaMedicao == true);\r\n }\r\n\r\n if (proximoStatus.length > 0) {\r\n let data = {\r\n 'Id': 0,\r\n 'IdMedicaoAutorizacaoFornecimento': parseInt(idMedicao),\r\n 'IdStatusMedicaoAutorizacaoFornecimento': proximoStatus[0].id,\r\n 'IdUsuario': usuario.id,\r\n 'DataStatus': moment((new Date())).add('hours', 2),\r\n 'ObservacaoCancelado': ''\r\n }\r\n\r\n dispatch(InserirMedicaoAutorizacaoFornecimentoStatusRequest(data, idMedicao, true));\r\n setValidated(false)\r\n }\r\n\r\n handleCloseNovoStatus();\r\n }\r\n\r\n function InserirMedicaoStatusCancelado(statusParametro) {\r\n setStatus(statusParametro);\r\n handleShow();\r\n }\r\n\r\n function ResetarStatus(idStatus) {\r\n setStatusExcluir(idStatus);\r\n handleShowNovoStatus();\r\n }\r\n\r\n function ReabrirMedicao() {\r\n dispatch(ReabrirMedicaoAutorizacaoFornecimentoStatusRequest(\r\n {\r\n 'IdMedicaoAutorizacaoFornecimento': idMedicao,\r\n 'IdUsuario': usuario.id\r\n }, idAutorizacaoFornecimento\r\n ))\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n \r\n {\r\n inserir == true ?\r\n (idMedicao != undefined && idAutorizacaoFornecimento != undefined &&\r\n autorizacaoFornecimentoCompleto != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao != null &&\r\n autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato != null &&\r\n listaContratoUsuario != undefined && listaMedicaoAutorizacaoFornecimentoStatus != undefined &&\r\n listaStatusMedicaoAutorizacaoFornecimento != undefined\r\n ?\r\n // Verifica se o usuário tem permissao de cancelar\r\n (listaContratoUsuario.filter((contratoUsu) => contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato\r\n && contratoUsu.cancelaMedicao === true).length === 0)\r\n ? ''\r\n :\r\n // Verifica se medição esta cancelada ou finalizada\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true)[0].id).length > 0\r\n ||\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true)[0].id).length > 0\r\n ?\r\n ''\r\n :\r\n InserirMedicaoStatusCancelado(\"Cancelado\")}>\r\n Cancelar Medição\r\n \r\n :\r\n null)\r\n :\r\n ''\r\n }\r\n {\r\n inserir == true ?\r\n ((idMedicao != undefined) && listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined &&\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true)[0].id).length > 0 ?\r\n ReabrirMedicao()}>\r\n Reabrir Medição\r\n \r\n :\r\n '')\r\n :\r\n ''\r\n }\r\n
\r\n }\r\n columns={[\r\n {\r\n title: 'Status', field: 'status', cellStyle: {\r\n width: '40%'\r\n }\r\n },\r\n {\r\n title: 'Nome', field: 'usuario', cellStyle: {\r\n width: '20%'\r\n }\r\n },\r\n {\r\n title: 'Data', field: 'dataInclusao', cellStyle: {\r\n width: '20%'\r\n }\r\n },\r\n {\r\n title: 'Ação', field: 'aprovacao', cellStyle: {\r\n width: '20%'\r\n }\r\n }\r\n ]}\r\n data={\r\n idMedicao != undefined &&\r\n listaStatusMedicaoAutorizacaoFornecimento != undefined && listaMedicaoAutorizacaoFornecimentoStatus != undefined ?\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento != 5).map(status => {\r\n return {\r\n observacao: status.observacaoCancelado,\r\n status:\r\n status.statusMedicaoAutorizacaoFornecimento != null &&\r\n status.statusMedicaoAutorizacaoFornecimento.cancelaMedicao == true ?\r\n
{status.statusMedicaoAutorizacaoFornecimento.descricao}
\r\n :
{status.statusMedicaoAutorizacaoFornecimento.descricao}
,\r\n usuario:\r\n status.usuario != null &&\r\n status.usuario.nome,\r\n dataInclusao: moment(status.dataStatus).format('L LT'),\r\n aprovacao:\r\n // Se o status da medição for cancelado, libera o botão para reativar\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true)[0].id).length > 0 ?\r\n status.statusMedicaoAutorizacaoFornecimento != null &&\r\n status.statusMedicaoAutorizacaoFornecimento.cancelaMedicao == true ?\r\n contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato\r\n && contratoUsu.cancelaMedicao === true).length === 0)\r\n ? true\r\n :\r\n // Verifica se a autorização esta cancelada ou finalizada, se sim, a medição não poderá ser reativada\r\n (listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined) &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.cancelaAutorizacao == true)[0].id).length > 0\r\n && idAutorizacaoFornecimento != undefined\r\n ||\r\n (listaAutorizacaoFornecimentoStatus != undefined && listaStatusAutorizacaoFornecimento != undefined) &&\r\n listaAutorizacaoFornecimentoStatus.filter(x => x.idStatusAutorizacaoFornecimento ==\r\n listaStatusAutorizacaoFornecimento.filter(x => x.finalizaAutorizacao == true)[0].id).length > 0\r\n && idAutorizacaoFornecimento != undefined\r\n ?\r\n true\r\n :\r\n false\r\n :\r\n null\r\n }\r\n variant=\"success\"\r\n onClick={() => ResetarStatus(status.id)}\r\n >Reativar Medição\r\n :\r\n ''\r\n :\r\n ''\r\n }\r\n }).concat(\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.id != 5).map(statusSol => {\r\n if (listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true)[0].id).length > 0\r\n ) {\r\n return null\r\n } else {\r\n if (statusSol.idStatusMedicaoAutorizacaoFornecimentoAnterior == null || (listaMedicaoAutorizacaoFornecimentoStatus.\r\n filter(x => x.idStatusMedicaoAutorizacaoFornecimento == statusSol.id))[0] != undefined) {\r\n return null\r\n } else {\r\n return {\r\n id: '',\r\n status:
{statusSol.descricao}
,\r\n usuario: '',\r\n dataInclusao: '',\r\n aprovacao:\r\n // Verifica se o status atual é o anterior dele, se sim, libera o botao de mudar status\r\n (listaMedicaoAutorizacaoFornecimentoStatus.filter\r\n (x => x.idStatusMedicaoAutorizacaoFornecimento == statusSol.idStatusMedicaoAutorizacaoFornecimentoAnterior).length > 0)\r\n ?\r\n contratoUsu.idUsuario === usuario.id\r\n && contratoUsu.idContrato === autorizacaoFornecimentoCompleto.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato && contratoUsu.finalizaMedicao === true).length === 0)\r\n ? true : false\r\n :\r\n null\r\n }\r\n onClick={() => InserirMedicaoStatusClick(statusSol.descricao)}>\r\n Mudar Status\r\n \r\n :\r\n ''\r\n }\r\n }\r\n }\r\n }).filter(Boolean)\r\n )\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'error',\r\n tooltip: {'Obervação Cancelado: ' + rowData.observacao},\r\n hidden: rowData.observacao == '' || rowData.observacao == undefined ? true : false,\r\n })\r\n ]}\r\n localization={{\r\n header: {\r\n actions: 'Info'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: 'Pesquisar',\r\n searchPlaceholder: 'Pesquisar'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n }\r\n \r\n \r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n \r\n \r\n \r\n Você deseja Cancelar essa Solicitação?\r\n \r\n \r\n \r\n Descrição\r\n setDescricaoObservacaoCancelado(e.target.value)}\r\n required\r\n maxLength=\"150\"\r\n isInvalid={validated && descricaoObservacaoCancelado.trim() === \"\" ? true : false}\r\n isValid={validated && descricaoObservacaoCancelado.trim() !== \"\" ? true : false}\r\n />\r\n O campo Descrição é obrigatório.\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n inserir == 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 Atenção\r\n \r\n \r\n \r\n \r\n \r\n Você deseja Mudar de Status?\r\n {\r\n listaAutorizacaoFornecimentoSubitemCustoMedicao != undefined &&\r\n listaAutorizacaoFornecimentoSubitemCustoMedicao.filter(x => x.ativo == false) ?\r\n ' O item que tiver inativo será descartado.'\r\n :\r\n ''\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n inserir == true ?\r\n \r\n :\r\n ''\r\n }\r\n \r\n \r\n \r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n \r\n \r\n \r\n Ao avançar o status irá para o Inicial, deseja prosseguir?\r\n \r\n \r\n \r\n \r\n \r\n {\r\n inserir == 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}","export function ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(id) {\r\n return {\r\n type: 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoResponse(listaMedicaoAutorizacaoFornecimentoRegistroFotografico) {\r\n return {\r\n type: 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_RESPONSE',\r\n listaMedicaoAutorizacaoFornecimentoRegistroFotografico\r\n }\r\n}\r\n\r\nexport function InserirMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(data, id) {\r\n return {\r\n type: 'INSERIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST',\r\n data,\r\n id\r\n }\r\n}\r\n\r\nexport function AlterarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(data, id) {\r\n return {\r\n type: 'ALTERAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST',\r\n data,\r\n id\r\n }\r\n}\r\n\r\nexport function ExcluirMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(id, idMedicao) {\r\n return {\r\n type: 'EXCLUIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST',\r\n id,\r\n idMedicao\r\n }\r\n}\r\n\r\nexport function BaixarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(id) {\r\n return {\r\n type: 'BAIXAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function CarregarImagemMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(id) {\r\n return {\r\n type: 'CARREGAR_IMAGEM_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { useEffect, useState } from \"react\";\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport { Button, Row, Col, Modal, Form, Alert } from \"react-bootstrap\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport {\r\n AlterarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest,\r\n BaixarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest,\r\n CarregarImagemMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest,\r\n ExcluirMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest,\r\n InserirMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest,\r\n ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest\r\n} from \"../../../store/modules/medicaoAutorizacaoFornecimentoRegistroFotografico/actions\";\r\nimport { ListarMedicaoAutorizacaoFornecimentoStatusRequest } from \"../../../store/modules/medicaoAutorizacaoFornecimentoStatus/actions\";\r\nimport { ListarStatusMedicaoAutorizacaoFornecimentoRequest } from \"../../../store/modules/statusMedicaoAutorizacaoFornecimento/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\nimport './registroFotografico.css';\r\n\r\nexport default function RegistroFotografico() {\r\n\r\n const { idMedicao, idAutorizacaoFornecimento } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const listaMedicaoAutorizacaoFornecimentoRegistroFotografico =\r\n useSelector(state => state.medicaoAutorizacaoFornecimentoRegistroFotografico.listaMedicaoAutorizacaoFornecimentoRegistroFotografico);\r\n const listaStatusMedicaoAutorizacaoFornecimento = useSelector(state => state.statusMedicaoAutorizacaoFornecimento.listaStatusMedicaoAutorizacaoFornecimento);\r\n const listaMedicaoAutorizacaoFornecimentoStatus = useSelector(state => state.medicaoAutorizacaoFornecimentoStatus.listaMedicaoAutorizacaoFornecimentoStatus);\r\n\r\n const [listaFile, setListaFile] = useState([]);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [show, setShow] = useState(false);\r\n const [observacao, setObservacao] = useState('');\r\n const [showFoto, setShowFoto] = useState(false);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const handleFotoClose = () => setShowFoto(false);\r\n const handleFotoShow = () => setShowFoto(true);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n const [excluir, setExcluir] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoExcluir\").length == 1) {\r\n setExcluir(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarStatusMedicaoAutorizacaoFornecimentoRequest());\r\n\r\n if (idMedicao !== undefined) {\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoStatusRequest(idMedicao));\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(idMedicao));\r\n }\r\n\r\n }, [idMedicao])\r\n\r\n function InserirRegistroFotografico() {\r\n\r\n let formData = new FormData();\r\n\r\n if (listaFile.length > 0) {\r\n for (var x = 0; x < listaFile.length; x++) {\r\n formData.append('File', listaFile[x]);\r\n formData.append('IdMedicaoAutorizacao', idMedicao);\r\n formData.append('IdUsuario', usuario.id);\r\n if (observacao != '')\r\n formData.append('Observacao', observacao);\r\n }\r\n setObservacao('');\r\n setListaFile([]);\r\n dispatch(InserirMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(formData, idMedicao));\r\n handleClose();\r\n } else {\r\n toast.error('Para continuar insira um documento');\r\n }\r\n }\r\n\r\n function AlterarRegistroFotografico(registroFotografico, novoValorCampoEditado, colunaEditada) {\r\n\r\n // Valida alteração do campo nome arquivo\r\n if (colunaEditada.field == \"nomeRegistroFotografico\") {\r\n\r\n if (novoValorCampoEditado == null || novoValorCampoEditado == undefined\r\n || novoValorCampoEditado == ' ' || novoValorCampoEditado == '') {\r\n\r\n toast.error(`Nome do registro fotográfico inválido`);\r\n return;\r\n }\r\n\r\n if (novoValorCampoEditado.length > 150) {\r\n toast.error(`O nome do registro fotográfico não pode conter mais que 150 caracteres`);\r\n return;\r\n }\r\n }\r\n\r\n // Valida alteração do campo observação\r\n if (colunaEditada.field == \"observacao\") {\r\n if (novoValorCampoEditado.length > 500) {\r\n toast.error(`A observação não pode conter mais que 500 caracteres`);\r\n return;\r\n }\r\n }\r\n\r\n if (colunaEditada != null) {\r\n\r\n let data = {\r\n 'Id': registroFotografico.id,\r\n 'IdMedicaoAutorizacaoFornecimento': registroFotografico.idMedicaoAutorizacaoFornecimento,\r\n 'Latitude': registroFotografico.latitude,\r\n 'Longitute': registroFotografico.longitute,\r\n 'FotoGuid': registroFotografico.fotoGuid,\r\n 'DataInclusao': registroFotografico.dataInclusaoApi,\r\n 'IdUsuario': registroFotografico.idUsuario,\r\n 'NomeRegistroFotografico': colunaEditada.field == \"observacao\" ? registroFotografico.nomeRegistroFotografico : novoValorCampoEditado,\r\n 'DescricaoExtensaoArquivo': registroFotografico.descricaoExtensaoArquivo,\r\n 'Observacao': colunaEditada.field == \"observacao\" ? novoValorCampoEditado : registroFotografico.observacao\r\n };\r\n\r\n dispatch(AlterarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(data, idMedicao));\r\n }\r\n }\r\n\r\n function ExcluirRegistroFotografico(idRegistroFotografico) {\r\n\r\n dispatch(ExcluirMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(idRegistroFotografico, idMedicao));\r\n }\r\n\r\n function BaixarRegistroFotografico(idRegistroFotografico) {\r\n\r\n dispatch(BaixarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(idRegistroFotografico));\r\n }\r\n\r\n function VisualizarRegistroFotografico(linha) {\r\n\r\n dispatch(CarregarImagemMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(linha.id));\r\n handleFotoShow();\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n Adicionar Fotos\r\n :\r\n ''\r\n }\r\n columns={[\r\n {\r\n title: \"Número do Registro\", field: 'id', defaultSort: 'desc', editable: 'never', cellStyle: {\r\n width: '10%',\r\n }\r\n },\r\n {\r\n title: \"Nome\", field: 'nomeRegistroFotografico', cellStyle: {\r\n width: '22.5%'\r\n }\r\n },\r\n {\r\n title: \"Usuário\", field: 'usuario', editable: 'never', cellStyle: {\r\n width: '22.5%'\r\n }\r\n },\r\n {\r\n title: \"Data\", field: 'dataInclusao', editable: 'never', cellStyle: {\r\n width: '22.5%'\r\n }\r\n },\r\n {\r\n title: \"Observação\", field: 'observacao', cellStyle: {\r\n width: '22.5%'\r\n },\r\n render: rowData => rowData.observacao == '' ?\r\n
\r\n : rowData.observacao\r\n }\r\n ]}\r\n data={\r\n listaMedicaoAutorizacaoFornecimentoRegistroFotografico != undefined ?\r\n listaMedicaoAutorizacaoFornecimentoRegistroFotografico.map(doc => {\r\n return {\r\n id: doc.id,\r\n nomeRegistroFotografico: doc.nomeRegistroFotografico,\r\n usuario:\r\n doc.usuario != null ?\r\n doc.usuario.nome\r\n : '',\r\n dataInclusao: moment(doc.dataInclusao).format('L LT'),\r\n observacao: doc.observacao,\r\n\r\n // Info para alteração de documento arquivo\r\n dataInclusaoApi: doc.dataInclusao,\r\n descricaoExtensaoArquivo: doc.descricaoExtensaoArquivo,\r\n fotoGuid: doc.fotoGuid,\r\n latitude: doc.latitude,\r\n longitude: doc.longitude,\r\n idMedicaoAutorizacaoFornecimento: doc.idMedicaoAutorizacaoFornecimento,\r\n idUsuario: doc.idUsuario\r\n }\r\n })\r\n :\r\n []\r\n }\r\n cellEditable={{\r\n onCellEditApproved: (newValue, oldValue, rowData, columnDef) => {\r\n return new Promise((resolve, reject) => {\r\n inserir == true ?\r\n setTimeout(() => {\r\n AlterarRegistroFotografico(rowData, newValue, columnDef);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n });\r\n }\r\n }}\r\n editable={{\r\n onRowDelete:\r\n idMedicao != undefined && listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1] != null && listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1].statusMedicaoAutorizacaoFornecimento != null &&\r\n listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1].statusMedicaoAutorizacaoFornecimento.somenteLeitura == false\r\n ?\r\n oldData =>\r\n new Promise((resolve, reject) => {\r\n excluir == true ?\r\n setTimeout(() => {\r\n ExcluirRegistroFotografico(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n :\r\n null\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'visibility',\r\n onClick: (event, rowData) => { VisualizarRegistroFotografico(rowData) }\r\n }),\r\n {\r\n icon: 'download',\r\n onClick: (event, rowData) => BaixarRegistroFotografico(rowData.id)\r\n }\r\n ]}\r\n localization={{\r\n header: {\r\n actions: 'Ações'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n }\r\n \r\n \r\n {\r\n (idMedicao != undefined) && (listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined) &&\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Medição está Cancelada!\r\n \r\n \r\n :\r\n (idMedicao != undefined) && listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined &&\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Medição está Finalizada!\r\n \r\n \r\n :\r\n ''\r\n }\r\n \r\n
\r\n \r\n \r\n Fotos\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setListaFile(files)}\r\n filesLimit={10}\r\n acceptedFiles={['image/png, image/jpeg, image/jpg']}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 10 arquivos`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={30000000}\r\n />\r\n
\r\n
\r\n \r\n Observacao\r\n setObservacao(e.target.value)} />\r\n O campo Descrição Objeto é obrigatório.\r\n \r\n
\r\n \r\n
\r\n \r\n {\r\n inserir == 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
\r\n \r\n
\r\n
\r\n\r\n \r\n )\r\n}","export function ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(id) {\r\n return {\r\n type: 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoResponse(listaMedicaoAutorizacaoFornecimentoDocumentoArquivo) {\r\n return {\r\n type: 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_RESPONSE',\r\n listaMedicaoAutorizacaoFornecimentoDocumentoArquivo\r\n }\r\n}\r\n\r\nexport function InserirMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(data, id) {\r\n return {\r\n type: 'INSERIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST',\r\n data,\r\n id\r\n }\r\n}\r\n\r\nexport function AlterarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(data, id) {\r\n return {\r\n type: 'ALTERAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST',\r\n data,\r\n id\r\n }\r\n}\r\n\r\nexport function ExcluirMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(id, idMedicao) {\r\n return {\r\n type: 'EXCLUIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST',\r\n id,\r\n idMedicao\r\n }\r\n}\r\n\r\nexport function BaixarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(id) {\r\n return {\r\n type: 'BAIXAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { useEffect, useState } from \"react\";\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport { Button, Alert, Row, Col, Modal, Form } from \"react-bootstrap\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { ListarTipoDocumentoArquivoRequest } from \"../../../store/modules/tipoDocumentoArquivo/actions\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport {\r\n AlterarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest, ExcluirMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest,\r\n InserirMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest, ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest,\r\n BaixarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest\r\n} from \"../../../store/modules/medicaoAutorizacaoFornecimentoDocumento/actions\";\r\nimport { ListarMedicaoAutorizacaoFornecimentoStatusRequest } from \"../../../store/modules/medicaoAutorizacaoFornecimentoStatus/actions\";\r\nimport { ListarStatusMedicaoAutorizacaoFornecimentoRequest } from \"../../../store/modules/statusMedicaoAutorizacaoFornecimento/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function DocumentoArquivo() {\r\n\r\n const { idMedicao } = useParams();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const documentos = useSelector(state => state.medicaoAutorizacaoFornecimentoDocumento.listaMedicaoAutorizacaoFornecimentoDocumentoArquivo);\r\n const listaTipoDocumentoArquivo = useSelector(state => state.tipoDocumentoArquivo.listaTipoDocumentoArquivo);\r\n const listaStatusMedicaoAutorizacaoFornecimento = useSelector(state => state.statusMedicaoAutorizacaoFornecimento.listaStatusMedicaoAutorizacaoFornecimento);\r\n const listaMedicaoAutorizacaoFornecimentoStatus = useSelector(state => state.medicaoAutorizacaoFornecimentoStatus.listaMedicaoAutorizacaoFornecimentoStatus);\r\n\r\n const [listaFile, setListaFile] = useState([]);\r\n const [observacao, setObservacao] = useState('');\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [tipoDocumentoArquivo, setTipoDocumentoArquivo] = useState();\r\n const [validated, setValidated] = useState(false);\r\n const [show, setShow] = useState(false);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n const [excluir, setExcluir] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoExcluir\").length == 1) {\r\n setExcluir(true);\r\n }\r\n\r\n }, [])\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n setTipoDocumentoArquivo();\r\n setObservacao('');\r\n setValidated(false);\r\n }\r\n const handleShow = () => setShow(true);\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarStatusMedicaoAutorizacaoFornecimentoRequest());\r\n\r\n if (idMedicao != undefined) {\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoStatusRequest(idMedicao));\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(idMedicao));\r\n dispatch(ListarTipoDocumentoArquivoRequest());\r\n }\r\n\r\n }, [idMedicao])\r\n\r\n const handleSubmit = (event) => {\r\n\r\n if (tipoDocumentoArquivo == undefined || tipoDocumentoArquivo == '') {\r\n event.preventDefault();\r\n setValidated(true);\r\n } else {\r\n InserirDocumentoArquivo(event);\r\n setValidated(false);\r\n }\r\n };\r\n\r\n function InserirDocumentoArquivo() {\r\n\r\n let formData = new FormData();\r\n\r\n if (listaFile.length > 0) {\r\n for (var x = 0; x < listaFile.length; x++) {\r\n formData.append('File', listaFile[x]);\r\n formData.append('IdMedicaoAutorizacao', idMedicao);\r\n formData.append('IdUsuario', usuario.id);\r\n formData.append('IdTipoDocumentoArquivo', parseInt(tipoDocumentoArquivo));\r\n if (observacao != '')\r\n formData.append('Observacao', observacao);\r\n }\r\n setListaFile([]);\r\n dispatch(InserirMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(formData, idMedicao));\r\n handleClose();\r\n\r\n } else {\r\n toast.error('Para continuar insira um documento');\r\n }\r\n }\r\n\r\n function AlterarDocumentoArquivo(documentoArquivo, novoValorCampoEditado, colunaEditada) {\r\n\r\n // Valida alteração do campo nome arquivo\r\n if (colunaEditada.field == \"nomeArquivo\") {\r\n\r\n if (novoValorCampoEditado == null || novoValorCampoEditado == undefined\r\n || novoValorCampoEditado == ' ' || novoValorCampoEditado == '') {\r\n\r\n toast.error(`Nome do arquivo inválido`);\r\n return;\r\n }\r\n\r\n if (novoValorCampoEditado.length > 150) {\r\n toast.error(`O nome do arquivo não pode conter mais que 150 caracteres`);\r\n return;\r\n }\r\n }\r\n\r\n // Valida alteração do campo observação\r\n if (colunaEditada.field == \"observacao\") {\r\n if (novoValorCampoEditado.length > 500) {\r\n toast.error(`A observação não pode conter mais que 500 caracteres`);\r\n return;\r\n }\r\n }\r\n\r\n if (colunaEditada != null) {\r\n\r\n let data = {\r\n 'Id': documentoArquivo.id,\r\n 'IdMedicaoAutorizacaoFornecimento': documentoArquivo.idMedicaoAutorizacaoFornecimento,\r\n 'NomeArquivo': colunaEditada.field == \"observacao\" ? documentoArquivo.nomeArquivo : novoValorCampoEditado,\r\n 'DescricaoExtensaoArquivo': documentoArquivo.descricaoExtensaoArquivo,\r\n 'DataInclusao': documentoArquivo.dataInclusaoApi,\r\n 'IdTipoDocumentoArquivo': documentoArquivo.idTipoDocumentoArquivo,\r\n 'DocumentoArquivoGuid': documentoArquivo.documentoArquivoGuid,\r\n 'IdUsuario': documentoArquivo.idUsuario,\r\n 'Observacao': colunaEditada.field == \"observacao\" ? novoValorCampoEditado : documentoArquivo.observacao\r\n };\r\n\r\n dispatch(AlterarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(data, idMedicao));\r\n }\r\n }\r\n\r\n function ExcluirDocumentoArquivo(idDocumentoArquivo) {\r\n dispatch(ExcluirMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(idDocumentoArquivo, idMedicao));\r\n }\r\n\r\n function BaixarDocumentoArquivo(idDocumentoArquivo) {\r\n dispatch(BaixarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(idDocumentoArquivo));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {\r\n Adicionar Documentos\r\n :\r\n '')\r\n :\r\n ''\r\n\r\n }\r\n columns={[\r\n {\r\n title: \"Número do Documento\", field: 'id', defaultSort: 'desc', editable: 'never', cellStyle: {\r\n width: '10%',\r\n }\r\n },\r\n {\r\n title: \"Nome\", field: 'nomeArquivo', cellStyle: {\r\n width: '22.5%'\r\n }\r\n },\r\n {\r\n title: \"Tipo Documento Arquivo\", field: 'tipoDocumentoArquivo', editable: 'never', cellStyle: {\r\n width: '22.5%'\r\n }\r\n },\r\n {\r\n title: \"Data\", field: 'dataInclusao', editable: 'never', cellStyle: {\r\n width: '22.5%'\r\n }\r\n },\r\n {\r\n title: \"Observação\", field: 'observacao', cellStyle: {\r\n width: '22.5%'\r\n },\r\n render: rowData => rowData.observacao == '' ?\r\n
\r\n : rowData.observacao\r\n }\r\n ]}\r\n data={\r\n documentos != undefined && listaTipoDocumentoArquivo != undefined ?\r\n documentos.map(doc => {\r\n return {\r\n id: doc.id,\r\n nomeArquivo: doc.nomeArquivo,\r\n tipoDocumentoArquivo:\r\n doc.tipoDocumentoArquivo != null ?\r\n doc.tipoDocumentoArquivo.descricao\r\n :\r\n '',\r\n dataInclusao: moment(doc.dataInclusao).format('L LT'),\r\n observacao: doc.observacao,\r\n\r\n // Info para alteração de documento arquivo\r\n dataInclusaoApi: doc.dataInclusao,\r\n descricaoExtensaoArquivo: doc.descricaoExtensaoArquivo,\r\n documentoArquivoGuid: doc.documentoArquivoGuid,\r\n idSolicitacaoFornecimento: doc.idSolicitacaoFornecimento,\r\n idTipoDocumentoArquivo: doc.idTipoDocumentoArquivo,\r\n idMedicaoAutorizacaoFornecimento: doc.idMedicaoAutorizacaoFornecimento,\r\n idUsuario: doc.idUsuario\r\n }\r\n })\r\n :\r\n []\r\n }\r\n cellEditable={{\r\n onCellEditApproved: (newValue, oldValue, rowData, columnDef) => {\r\n return new Promise((resolve, reject) => {\r\n alterar == true ?\r\n setTimeout(() => {\r\n AlterarDocumentoArquivo(rowData, newValue, columnDef);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n });\r\n }\r\n }}\r\n editable={{\r\n onRowDelete:\r\n idMedicao != undefined && listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1] != undefined && listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1].statusMedicaoAutorizacaoFornecimento != null &&\r\n listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1].statusMedicaoAutorizacaoFornecimento.somenteLeitura == false\r\n ?\r\n oldData =>\r\n new Promise((resolve, reject) => {\r\n excluir == true ?\r\n setTimeout(() => {\r\n ExcluirDocumentoArquivo(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n :\r\n null\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n {\r\n icon: 'download',\r\n onClick: (event, rowData) => BaixarDocumentoArquivo(rowData.id)\r\n },\r\n ]}\r\n localization={{\r\n header: {\r\n actions: 'Ações'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n }\r\n \r\n \r\n {\r\n (idMedicao != undefined) && (listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined) &&\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Medição está Cancelada!\r\n \r\n \r\n :\r\n (idMedicao != undefined) && listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined &&\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Medição está Finalizada!\r\n \r\n \r\n :\r\n ''\r\n }\r\n \r\n
\r\n \r\n \r\n Documentos\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setListaFile(files)}\r\n filesLimit={10}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 10 arquivos`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={500000000}\r\n />\r\n
\r\n
\r\n \r\n Observacao\r\n setObservacao(e.target.value)} />\r\n O campo Descrição Objeto é obrigatório.\r\n \r\n \r\n Tipo documento arquivo\r\n setTipoDocumentoArquivo(e.target.value)}\r\n value={tipoDocumentoArquivo}\r\n required\r\n isInvalid={validated && tipoDocumentoArquivo == undefined\r\n || validated && tipoDocumentoArquivo == '' ? true : false}\r\n isValid={validated && tipoDocumentoArquivo !== undefined\r\n || validated && tipoDocumentoArquivo !== '' ? true : false}>\r\n \r\n {\r\n listaTipoDocumentoArquivo != undefined ?\r\n listaTipoDocumentoArquivo.map(m => (\r\n \r\n ))\r\n :\r\n 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 )\r\n}","export function ListarMedicaoAutorizacaoFornecimentoOcorrenciaRequest(id) {\r\n return {\r\n type: 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REQUEST',\r\n id\r\n }\r\n }\r\n \r\n export function ListarMedicaoAutorizacaoFornecimentoOcorrenciaResponse(listaMedicaoAutorizacaoFornecimentoOcorrencia) {\r\n return {\r\n type: 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_RESPONSE',\r\n listaMedicaoAutorizacaoFornecimentoOcorrencia\r\n }\r\n }\r\n\r\n export function InserirMedicaoAutorizacaoFornecimentoOcorrenciaRequest(data) {\r\n return {\r\n type: 'INSERIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function AlterarMedicaoAutorizacaoFornecimentoOcorrenciaRequest(data, id) {\r\n return {\r\n type: 'ALTERAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REQUEST',\r\n data,\r\n id\r\n }\r\n }\r\n \r\n export function ExcluirMedicaoAutorizacaoFornecimentoOcorrenciaRequest(data) {\r\n return {\r\n type: 'EXCLUIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REQUEST',\r\n data\r\n }\r\n }\r\n\r\n export function BuscarMedicaoAutorizacaoFornecimentoOcorrenciaPorIdRequest(id) {\r\n return {\r\n type: 'BUSCAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_POR_ID_REQUEST',\r\n id\r\n }\r\n }\r\n\r\n export function BuscarMedicaoAutorizacaoFornecimentoOcorrenciaPorIdResponse(medicaoAutorizacaoFornecimentoOcorrenciaCompleto) {\r\n return {\r\n type: 'BUSCAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_POR_ID_RESPONSE',\r\n medicaoAutorizacaoFornecimentoOcorrenciaCompleto\r\n }\r\n }\r\n \r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarMedicaoOcorrenciaRequest() {\r\n return {\r\n type: 'LISTAR_MEDICAO_OCORRENCIA_REQUEST'\r\n }\r\n }\r\n \r\n export function ListarMedicaoOcorrenciaResponse(listaMedicaoOcorrencia) {\r\n return {\r\n type: 'LISTAR_MEDICAO_OCORRENCIA_RESPONSE',\r\n listaMedicaoOcorrencia\r\n }\r\n }\r\n \r\n export function InserirMedicaoOcorrenciaRequest(data) {\r\n return {\r\n type: 'INSERIR_MEDICAO_OCORRENCIA_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function AlterarMedicaoOcorrenciaRequest(data) {\r\n return {\r\n type: 'ALTERAR_MEDICAO_OCORRENCIA_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function ExcluirMedicaoOcorrenciaRequest(id) {\r\n return {\r\n type: 'EXCLUIR_MEDICAO_OCORRENCIA_REQUEST',\r\n id\r\n }\r\n }\r\n \r\n export function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n }","export function ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(id) {\r\n return {\r\n type: 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_REQUEST',\r\n id\r\n }\r\n }\r\n \r\n export function ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoResponse(listaMedicaoAutorizacaoFornecimentoOcorrenciaRegFoto) {\r\n return {\r\n type: 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_RESPONSE',\r\n listaMedicaoAutorizacaoFornecimentoOcorrenciaRegFoto\r\n }\r\n }\r\n\r\n export function InserirMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(data, id) {\r\n return {\r\n type: 'INSERIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_REQUEST',\r\n data,\r\n id\r\n }\r\n }\r\n \r\n export function AlterarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(data, id) {\r\n return {\r\n type: 'ALTERAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_REQUEST',\r\n data,\r\n id\r\n }\r\n }\r\n \r\n export function ExcluirMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(idFoto, data) {\r\n return {\r\n type: 'EXCLUIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_REQUEST',\r\n idFoto,\r\n data\r\n }\r\n }\r\n\r\n\r\n export function CarregarImagemMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(id) {\r\n return {\r\n type: 'CARREGAR_IMAGEM_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_REQUEST',\r\n id\r\n }\r\n }\r\n\r\n export function BaixarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(id) {\r\n return {\r\n type: 'BAIXAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_REQUEST',\r\n id\r\n }\r\n }\r\n \r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { useEffect, useState } from \"react\";\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport { Button, Row, Col, Modal, Form } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { PatchedPagination } from \"../PatchedPagination/patchedPagination\";\r\nimport {\r\n AlterarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest,\r\n BaixarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest,\r\n CarregarImagemMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest,\r\n ExcluirMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest,\r\n InserirMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest,\r\n ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest\r\n} from \"../../store/modules/medicaoAutorizacaoFornecimentoOcorrenciaRegFoto/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function ModalOcorrenciaMedicao({ showModal, onHide, idMedicao, data }) {\r\n\r\n const dispatch = useDispatch();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const listaMedicaoAutorizacaoFornecimentoOcorrenciaRegFoto =\r\n useSelector(state => state.medicaoAutorizacaoFornecimentoOcorrenciaRegFoto.listaMedicaoAutorizacaoFornecimentoOcorrenciaRegFoto);\r\n\r\n const [listaFile, setListaFile] = useState([]);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [showFoto, setShowFoto] = useState(false);\r\n const [observacao, setObservacao] = useState('');\r\n const [show, setShow] = useState(false);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const handleFotoClose = () => setShowFoto(false);\r\n const handleFotoShow = () => setShowFoto(true);\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n if (data != undefined && data != '') {\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(data));\r\n }\r\n\r\n }, [data])\r\n\r\n function InserirRegistroFotograficoOcorrencia() {\r\n\r\n let formData = new FormData();\r\n\r\n if (listaFile.length > 0) {\r\n for (var x = 0; x < listaFile.length; x++) {\r\n formData.append('File', listaFile[x]);\r\n formData.append('IdMedicaoAutorizacaoFornecimentoOcorrencia', data);\r\n formData.append('IdUsuario', usuario.id);\r\n if (observacao != '')\r\n formData.append('Observacao', observacao);\r\n }\r\n setObservacao('');\r\n setListaFile([]);\r\n dispatch(InserirMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(formData, data));\r\n handleClose();\r\n } else {\r\n toast.error('Para continuar insira um documento');\r\n }\r\n }\r\n\r\n function AlterarRegistroFotograficoOcorrencia(registroFotograficoOcorrencia, novoValorCampoEditado, colunaEditada) {\r\n\r\n // Valida alteração do campo nome arquivo\r\n if (colunaEditada.field == \"nomeRegistroFotografico\") {\r\n\r\n if (novoValorCampoEditado == null || novoValorCampoEditado == undefined\r\n || novoValorCampoEditado == ' ' || novoValorCampoEditado == '') {\r\n\r\n toast.error(`Nome do registro fotográfico inválido`);\r\n return;\r\n }\r\n\r\n if (novoValorCampoEditado.length > 150) {\r\n toast.error(`O nome do registro fotográfico não pode conter mais que 150 caracteres`);\r\n return;\r\n }\r\n }\r\n\r\n // Valida alteração do campo observação\r\n if (colunaEditada.field == \"observacao\") {\r\n if (novoValorCampoEditado.length > 500) {\r\n toast.error(`A observação não pode conter mais que 500 caracteres`);\r\n return;\r\n }\r\n }\r\n\r\n if (colunaEditada != null) {\r\n\r\n let data = {\r\n 'Id': registroFotograficoOcorrencia.id,\r\n 'IdMedicaoAutorizacaoFornecimentoOcorrencia': registroFotograficoOcorrencia.idMedicaoAutorizacaoFornecimentoOcorrencia,\r\n 'Latitude': registroFotograficoOcorrencia.latitude,\r\n 'Longitude': registroFotograficoOcorrencia.longitude,\r\n 'FotoGuid': registroFotograficoOcorrencia.fotoGuid,\r\n 'DataInclusao': registroFotograficoOcorrencia.dataInclusaoApi,\r\n 'IdUsuario': registroFotograficoOcorrencia.idUsuario,\r\n 'NomeRegistroFotografico': colunaEditada.field == \"observacao\" ? registroFotograficoOcorrencia.nomeRegistroFotografico : novoValorCampoEditado,\r\n 'DescricaoExtensaoArquivo': registroFotograficoOcorrencia.descricaoExtensaoArquivo,\r\n 'Observacao': colunaEditada.field == \"observacao\" ? novoValorCampoEditado : registroFotograficoOcorrencia.observacao\r\n };\r\n\r\n dispatch(AlterarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(data, data.IdMedicaoAutorizacaoFornecimentoOcorrencia));\r\n }\r\n }\r\n\r\n function ExcluirRegistroFotograficoOcorrencia(idRegistroFotograficoOcorrencia) {\r\n dispatch(ExcluirMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(idRegistroFotograficoOcorrencia, data));\r\n }\r\n\r\n function BaixarRegistroFotograficoOcorrencia(idRegistroFotograficoOcorrencia) {\r\n dispatch(BaixarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(idRegistroFotograficoOcorrencia));\r\n }\r\n\r\n function VisualizarRegistroFotograficoOcorrencia(registroFotograficoOcorrencia) {\r\n dispatch(CarregarImagemMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(registroFotograficoOcorrencia.id));\r\n handleFotoShow();\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Foto\r\n \r\n \r\n \r\n
\r\n \r\n {\r\n Adicionar Fotos\r\n }\r\n columns={[\r\n {\r\n title: \"Número do Registro\", field: 'id', defaultSort: 'desc', editable: 'never', cellStyle: {\r\n width: '10%',\r\n }\r\n },\r\n {\r\n title: \"Nome\", field: 'nomeRegistroFotografico', cellStyle: {\r\n width: '22.5%'\r\n }\r\n },\r\n {\r\n title: \"Usuário\", field: 'usuario', editable: 'never', cellStyle: {\r\n width: '22.5%'\r\n }\r\n },\r\n {\r\n title: \"Data\", field: 'dataInclusao', editable: 'never', cellStyle: {\r\n width: '22.5%'\r\n }\r\n },\r\n {\r\n title: \"Observação\", field: 'observacao', cellStyle: {\r\n width: '22.5%'\r\n },\r\n render: rowData => rowData.observacao == '' ?\r\n
\r\n : rowData.observacao\r\n }\r\n ]}\r\n data={\r\n listaMedicaoAutorizacaoFornecimentoOcorrenciaRegFoto != undefined ?\r\n listaMedicaoAutorizacaoFornecimentoOcorrenciaRegFoto.map(lista => {\r\n return {\r\n id: lista.id,\r\n idMedicaoAutorizacaoFornecimentoOcorrencia: lista.idMedicaoAutorizacaoFornecimentoOcorrencia,\r\n latitude: lista.latitude,\r\n longitude: lista.longitude,\r\n fotoGuid: lista.fotoGuid,\r\n nomeRegistroFotografico: lista.nomeRegistroFotografico,\r\n descricaoExtensaoArquivo: lista.descricaoExtensaoArquivo,\r\n usuario: lista.usuario.nome,\r\n dataInclusao: moment(lista.dataInclusao).format('L LT'),\r\n observacao: lista.observacao,\r\n dataInclusaoApi: lista.dataInclusao,\r\n idUsuario: lista.idUsuario\r\n }\r\n })\r\n :\r\n []\r\n }\r\n cellEditable={{\r\n onCellEditApproved: (newValue, oldValue, rowData, columnDef) => {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n AlterarRegistroFotograficoOcorrencia(rowData, newValue, columnDef);\r\n resolve()\r\n }, 1000)\r\n });\r\n }\r\n }}\r\n editable={{\r\n onRowDelete:\r\n oldData =>\r\n new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n ExcluirRegistroFotograficoOcorrencia(oldData.id);\r\n resolve()\r\n }, 1000)\r\n })\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'visibility',\r\n onClick: (event, rowData) => { VisualizarRegistroFotograficoOcorrencia(rowData) }\r\n }),\r\n {\r\n icon: 'download',\r\n onClick: (event, rowData) => BaixarRegistroFotograficoOcorrencia(rowData.id)\r\n }\r\n ]}\r\n localization={{\r\n header: {\r\n actions: ''\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n }\r\n \r\n
\r\n\r\n \r\n \r\n Fotos\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setListaFile(files)}\r\n filesLimit={10}\r\n acceptedFiles={['image/png, image/jpeg, image/jpg']}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 10 arquivos`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={30000000}\r\n />\r\n
\r\n
\r\n \r\n Observacao\r\n setObservacao(e.target.value)} />\r\n O campo Descrição Objeto é 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","import { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport { Form, Col, Button, Alert } from \"react-bootstrap\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { toast } from \"react-toastify\";\r\nimport {\r\n ListarMedicaoAutorizacaoFornecimentoOcorrenciaRequest,\r\n AlterarMedicaoAutorizacaoFornecimentoOcorrenciaRequest,\r\n InserirMedicaoAutorizacaoFornecimentoOcorrenciaRequest\r\n} from \"../../../store/modules/medicaoAutorizacaoFornecimentoOcorrencia/actions\";\r\nimport { ListarMedicaoOcorrenciaRequest } from '../../../store/modules/medicaoOcorrencia/actions';\r\nimport { ListarMedicaoAutorizacaoFornecimentoStatusRequest } from \"../../../store/modules/medicaoAutorizacaoFornecimentoStatus/actions\";\r\nimport { ListarStatusMedicaoAutorizacaoFornecimentoRequest } from \"../../../store/modules/statusMedicaoAutorizacaoFornecimento/actions\";\r\nimport { ImFilePicture } from \"react-icons/im\";\r\nimport MaterialTable from \"material-table\";\r\nimport Select from 'react-select';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\nimport ModalOcorrenciaMedicao from \"../../../components/ModalOcorrenciaMedicao/modalOcorrenciaMedicao\";\r\n\r\nexport default function Ocorrencia() {\r\n\r\n const { idMedicao } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n const listaMedicaoOcorrencia = useSelector(state => state.medicaoOcorrencia.listaMedicaoOcorrencia);\r\n const listaMedicaoAutorizacaoFornecimentoOcorrencia = useSelector(state => state.medicaoAutorizacaoFornecimentoOcorrencia.listaMedicaoAutorizacaoFornecimentoOcorrencia);\r\n const listaStatusMedicaoAutorizacaoFornecimento = useSelector(state => state.statusMedicaoAutorizacaoFornecimento.listaStatusMedicaoAutorizacaoFornecimento);\r\n const listaMedicaoAutorizacaoFornecimentoStatus = useSelector(state => state.medicaoAutorizacaoFornecimentoStatus.listaMedicaoAutorizacaoFornecimentoStatus);\r\n const [show, setShow] = useState(false);\r\n const [dataId, setDataId] = useState('');\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n const options = listaMedicaoOcorrencia != undefined && listaMedicaoOcorrencia ?\r\n listaMedicaoOcorrencia.map(lista => ({\r\n value: lista.id, label: lista.descricao\r\n }))\r\n :\r\n [];\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n const [excluir, setExcluir] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarMedicaoOcorrenciaRequest());\r\n dispatch(ListarStatusMedicaoAutorizacaoFornecimentoRequest());\r\n\r\n if (idMedicao !== undefined) {\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoStatusRequest(idMedicao));\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoOcorrenciaRequest(idMedicao));\r\n }\r\n\r\n }, [idMedicao])\r\n\r\n function AlterarMedicaoAutorizacaoFornecimentoOcorrencia(medicaoAutorizacaoFornecimentoOcorrencia, observacao) {\r\n\r\n let selectText = '';\r\n let selectSelecionado = [];\r\n\r\n if (document.getElementById('idSelectMedicaoOcorrencia') != null) {\r\n selectText = document.getElementById('idSelectMedicaoOcorrencia').innerText;\r\n selectSelecionado = listaMedicaoOcorrencia.filter(soli => soli.descricao == selectText);\r\n }\r\n\r\n if (selectSelecionado.length == 0) {\r\n toast.error(`Recurso não selecionado`);\r\n return;\r\n }\r\n\r\n if (observacao == ' ' || observacao == ''\r\n || observacao == null || observacao == undefined) {\r\n toast.error(`Observação Inválida`);\r\n return;\r\n }\r\n if (observacao.length > 500) {\r\n toast.error(`A observação não pode conter mais que 500 caracteres`);\r\n return;\r\n }\r\n\r\n if (selectSelecionado.length > 0) {\r\n\r\n let data = {\r\n 'Id': medicaoAutorizacaoFornecimentoOcorrencia.id,\r\n 'IdMedicaoOcorrencia': parseInt(selectSelecionado[0].id),\r\n 'IdMedicaoAutorizacaoFornecimento': medicaoAutorizacaoFornecimentoOcorrencia.idMedicaoAutorizacaoFornecimento,\r\n 'Observacao': observacao,\r\n 'DataOcorrencia': medicaoAutorizacaoFornecimentoOcorrencia.dataOcorrenciaApi,\r\n 'IdUsuario': parseInt(usuario.id)\r\n };\r\n\r\n dispatch(AlterarMedicaoAutorizacaoFornecimentoOcorrenciaRequest(data, idMedicao))\r\n }\r\n }\r\n\r\n function InserirMedicaoAutorizacaoFornecimentoOcorrencia(medicaoAutorizacaoFornecimentoOcorrencia) {\r\n\r\n if (medicaoAutorizacaoFornecimentoOcorrencia.observacao == ' ' || medicaoAutorizacaoFornecimentoOcorrencia.observacao == ''\r\n || medicaoAutorizacaoFornecimentoOcorrencia.observacao == null || medicaoAutorizacaoFornecimentoOcorrencia.observacao == undefined) {\r\n toast.error(`Observação Inválida`);\r\n return;\r\n }\r\n if (medicaoAutorizacaoFornecimentoOcorrencia.observacao.length > 500) {\r\n toast.error(`A observação não pode conter mais que 500 caracteres`);\r\n return;\r\n }\r\n\r\n let selectText = '';\r\n let selectSelecionado = [];\r\n\r\n if (document.getElementById('idSelectMedicaoOcorrencia') != null) {\r\n selectText = document.getElementById('idSelectMedicaoOcorrencia').innerText;\r\n selectSelecionado = listaMedicaoOcorrencia.filter(soli => soli.descricao == selectText);\r\n }\r\n\r\n if (selectSelecionado.length == 0) {\r\n toast.error(`Recurso não selecionado`);\r\n return;\r\n }\r\n\r\n var data = {\r\n 'Id': parseInt(0),\r\n 'IdMedicaoOcorrencia': parseInt(selectSelecionado[0].id),\r\n 'IdMedicaoAutorizacaoFornecimento': idMedicao,\r\n 'Observacao': medicaoAutorizacaoFornecimentoOcorrencia.observacao,\r\n 'DataOcorrencia': moment((new Date())).add('hours', 2),\r\n 'IdUsuario': parseInt(usuario.id)\r\n }\r\n dispatch(InserirMedicaoAutorizacaoFornecimentoOcorrenciaRequest(data));\r\n }\r\n\r\n function AlterarValores(data) {\r\n setDataId(data);\r\n setShow(true);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n {\r\n {\r\n if (rowData.observacao !== undefined && rowData.observacao.length > 500) {\r\n return \"A observação não pode conter mais que 500 caracteres\"\r\n }\r\n else if (rowData.observacao == undefined || rowData.observacao.trim() == '') {\r\n return \"Campo obrigatório\"\r\n }\r\n return true\r\n },\r\n },\r\n {\r\n title: 'Medição Ocorrência',\r\n field: 'idMedicaoOcorrencia',\r\n cellStyle: {\r\n width: '22.5%'\r\n },\r\n lookup:\r\n listaMedicaoOcorrencia != undefined && listaMedicaoOcorrencia ?\r\n listaMedicaoOcorrencia.map(medicao => {\r\n return {\r\n id: medicao.id, descricao: medicao.descricao\r\n }\r\n }).reduce(function (acc, cur, i) {\r\n acc[cur.id] = cur.descricao;\r\n return acc;\r\n }, {})\r\n :\r\n null,\r\n editComponent: (props) => (\r\n soli.id == props.value).length > 0\r\n ? listaMedicaoOcorrencia.filter(soli => soli.id == props.value)[0].descricao\r\n : 'Selecione...'\r\n }}\r\n />\r\n ),\r\n\r\n }\r\n ]}\r\n data={\r\n listaAutorizacaoFornecimentoSubitemCustoMedOcor != undefined ?\r\n listaAutorizacaoFornecimentoSubitemCustoMedOcor.map((lista) => {\r\n return {\r\n id: lista.id,\r\n idMedicaoOcorrencia: lista.idMedicaoOcorrencia,\r\n idAutorizacaoFornecimentoSubitemCustoMedicao: lista.idAutorizacaoFornecimentoSubitemCustoMedicao,\r\n observacao: lista.observacao\r\n }\r\n })\r\n :\r\n []\r\n }\r\n editable={{\r\n onRowUpdate:\r\n idMedicao != undefined && listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1] != null && listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1].statusMedicaoAutorizacaoFornecimento != null &&\r\n listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1].statusMedicaoAutorizacaoFornecimento.somenteLeitura == false\r\n ?\r\n (newRow, oldRow) => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n AlterarAutorizacaoFornecimentoSubitemCustoMedOcor(newRow);\r\n resolve()\r\n }, 1000)\r\n })\r\n :\r\n null,\r\n onRowAdd:\r\n idMedicao != undefined && listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1] != null && listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1].statusMedicaoAutorizacaoFornecimento != null &&\r\n listaMedicaoAutorizacaoFornecimentoStatus\r\n [listaMedicaoAutorizacaoFornecimentoStatus.length - 1].statusMedicaoAutorizacaoFornecimento.somenteLeitura == false\r\n ?\r\n (newRow) => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n InserirAutorizacaoFornecimentoSubitemCustoMedOcor(newRow);\r\n resolve()\r\n }, 1000)\r\n })\r\n :\r\n null,\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n addRowPosition: \"first\",\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'visibility',\r\n onClick: (event, rowData) => { AlterarValores(rowData.id) }\r\n })\r\n ]}\r\n localization={{\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n }\r\n \r\n \r\n {\r\n idMedicao != undefined && listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined\r\n ?\r\n // Verificação se o status atual é o cancelado\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Medição está Cancelada!\r\n \r\n \r\n :\r\n // Verificação se o status atual é o finalizado\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Medição está Finalizada!\r\n \r\n \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 { useEffect, useState } from \"react\";\r\nimport { Form, Row, Col, Alert } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport {\r\n InserirAutorizacaoFornecimentoSubitemCustoMedicaoRequest,\r\n BuscarAutorizacaoFornecimentoSubitemCustoMedicaoPorIdRequest\r\n} from \"../../../store/modules/autorizacaoFornecimentoSubitemCustoMedicao/actions\";\r\nimport {\r\n BuscarUsuarioPorIdRequest\r\n} from \"../../../store/modules/usuario/actions\";\r\nimport { ListarAutorizacaoFornecimentoSubitemCustoRequest } from \"../../../store/modules/autorizacaoFornecimentoSubitemCusto/actions\";\r\nimport { ListarMedicaoAutorizacaoFornecimentoStatusRequest } from \"../../../store/modules/medicaoAutorizacaoFornecimentoStatus/actions\";\r\nimport { ListarStatusMedicaoAutorizacaoFornecimentoRequest } from \"../../../store/modules/statusMedicaoAutorizacaoFornecimento/actions\";\r\n\r\nexport default function Subitem() {\r\n\r\n const { idMedicaoSubItem, idMedicao, idAutorizacaoFornecimento } = useParams();\r\n const dispatch = useDispatch();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const usuarioCompleto = useSelector(state => state.usuario.usuario);\r\n const listaAutorizacaoFornecimentoSubitemCusto = useSelector(state => state.autorizacaoFornecimentoSubitemCusto.listaAutorizacaoFornecimentoSubitemCusto);\r\n const autorizacaoFornecimentoSubitemCustoMedicaoCompleto = useSelector(state => state.autorizacaoFornecimentoSubitemCustoMedicao.autorizacaoFornecimentoSubitemCustoMedicaoCompleto);\r\n const listaStatusMedicaoAutorizacaoFornecimento = useSelector(state => state.statusMedicaoAutorizacaoFornecimento.listaStatusMedicaoAutorizacaoFornecimento);\r\n const listaMedicaoAutorizacaoFornecimentoStatus = useSelector(state => state.medicaoAutorizacaoFornecimentoStatus.listaMedicaoAutorizacaoFornecimentoStatus);\r\n\r\n const [idSubItemCusto, setIdSubItemCusto] = useState();\r\n const [quantidadeCliente, setQuantidadeCliente] = useState();\r\n const [quantidadeFornecedor, setQuantidadeFornecedor] = useState();\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarStatusMedicaoAutorizacaoFornecimentoRequest());\r\n if (idMedicao !== undefined) {\r\n dispatch(ListarMedicaoAutorizacaoFornecimentoStatusRequest(idMedicao));\r\n }\r\n\r\n // lista de subitens, exemplo: poste, lampada, etc.\r\n if (idAutorizacaoFornecimento != undefined) {\r\n var data = {\r\n 'IdAutorizacaoFornecimento': parseInt(idAutorizacaoFornecimento)\r\n }\r\n dispatch(ListarAutorizacaoFornecimentoSubitemCustoRequest(data));\r\n }\r\n // subitem da medição \r\n if (idMedicaoSubItem != undefined) {\r\n dispatch(BuscarAutorizacaoFornecimentoSubitemCustoMedicaoPorIdRequest(idMedicaoSubItem));\r\n }\r\n\r\n dispatch(BuscarUsuarioPorIdRequest(usuario.id));\r\n\r\n }, [idMedicaoSubItem, idAutorizacaoFornecimento])\r\n\r\n useEffect(() => {\r\n\r\n if (autorizacaoFornecimentoSubitemCustoMedicaoCompleto != undefined && idMedicaoSubItem != undefined) {\r\n setIdSubItemCusto(autorizacaoFornecimentoSubitemCustoMedicaoCompleto.idAutorizacaoFornecimentoSubitemCusto);\r\n setQuantidadeCliente(autorizacaoFornecimentoSubitemCustoMedicaoCompleto.quantidadeCliente);\r\n setQuantidadeFornecedor(autorizacaoFornecimentoSubitemCustoMedicaoCompleto.quantidadeFornecedor);\r\n }\r\n\r\n }, [autorizacaoFornecimentoSubitemCustoMedicaoCompleto])\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n Item\r\n setIdSubItemCusto(e.target.value)}\r\n value={idSubItemCusto}\r\n disabled={idMedicaoSubItem ? true : false}>\r\n \r\n {\r\n listaAutorizacaoFornecimentoSubitemCusto != undefined && listaAutorizacaoFornecimentoSubitemCusto.length > 0 ?\r\n listaAutorizacaoFornecimentoSubitemCusto.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n \r\n \r\n \r\n \r\n Quantidade Fornecedor\r\n setQuantidadeFornecedor(e.target.value)}\r\n disabled={idMedicaoSubItem ? true :\r\n usuarioCompleto != null\r\n && usuarioCompleto.usuarioFornecedor == true ? false : true}\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n \r\n Quantidade Cliente\r\n setQuantidadeCliente(e.target.value)}\r\n disabled={\r\n idMedicaoSubItem ?\r\n true :\r\n usuarioCompleto != null\r\n && usuarioCompleto.usuarioFornecedor == true ? false : true}\r\n onKeyDown={(e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()}\r\n />\r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n idMedicao != undefined && listaMedicaoAutorizacaoFornecimentoStatus != undefined && listaStatusMedicaoAutorizacaoFornecimento != undefined\r\n ?\r\n // Verificação se o status atual é o cancelado\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.cancelaMedicao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Medição está Cancelada!\r\n \r\n \r\n :\r\n // Verificação se o status atual é o finalizado\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true).length > 0 &&\r\n listaMedicaoAutorizacaoFornecimentoStatus.filter(x => x.idStatusMedicaoAutorizacaoFornecimento ==\r\n listaStatusMedicaoAutorizacaoFornecimento.filter(x => x.finalizaMedicao == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n A Medição está Finalizada!\r\n \r\n \r\n :\r\n ''\r\n :\r\n ''\r\n }\r\n \r\n \r\n )\r\n}","import { Col, Card, Tabs, Tab } from \"react-bootstrap\";\r\nimport { MdAssignment } from 'react-icons/md';\r\nimport { useParams, useHistory } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useEffect, useState } from \"react\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport DocumentoArquivo from \"../DocumentoArquivo/documentoArquivo\";\r\nimport RegistroFotografico from \"../RegistroFotografico/registroFotografico\";\r\nimport Ocorrencia from \"../Ocorrencia/ocorrencia\";\r\nimport Subitem from \"../SubItem/subitem\";\r\nimport { BuscarAutorizacaoFornecimentoPorIdRequest } from \"../../../store/modules/autorizacaoFornecimento/actions\";\r\nimport { toast } from \"react-toastify\";\r\n\r\nexport default function Abas() {\r\n\r\n const { idMedicaoSubItem, idAutorizacaoFornecimento } = useParams();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n const autorizacaoFornecimento = useSelector(state => state.autorizacaoFornecimento.autorizacaoFornecimento);\r\n\r\n //Permissão de Visualizar\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n useEffect(() => {\r\n if (token.role.filter(r => r == \"MedicaoAutorizacaoFornecimentoMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, [])\r\n \r\n useEffect(() => {\r\n dispatch(BuscarAutorizacaoFornecimentoPorIdRequest(idAutorizacaoFornecimento));\r\n }, [])\r\n\r\n useEffect(() => {\r\n \r\n if (autorizacaoFornecimento != null &&\r\n autorizacaoFornecimento != undefined &&\r\n usuario.usuarioFornecedor == true &&\r\n autorizacaoFornecimento.solicitacaoFornecimentoVersao.solicitacaoFornecimento.idFornecedor != usuario.fornecedor.idFornecedor) {\r\n history.push('/');\r\n }\r\n }, [autorizacaoFornecimento])\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Medição Autorização 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 \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}","import { Col, Button, Card } from \"react-bootstrap\";\r\nimport { IoDocumentText } from 'react-icons/io5';\r\nimport { Link } from 'react-router-dom';\r\nimport { ListarClienteRequest } from '../../../store/modules/cliente/actions';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { FaSearchPlus } from \"react-icons/fa\";\r\nimport { ListarFornecedorRequest } from '../../../store/modules/fornecedor/actions';\r\nimport { ListarOrigemContratoRequest } from '../../../store/modules/origemContrato/actions';\r\nimport { useEffect, useState } from \"react\";\r\nimport { ListarContratoUsuarioRequest } from '../../../store/modules/contratoUsuario/actions';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { ListarTipoPessoaRequest } from \"../../../store/modules/tipoPessoa/actions\";\r\nimport { ListarMunicipiosRequest } from \"../../../store/modules/municipio/actions\";\r\nimport Header from '../../../components/Header/header';\r\nimport Loading from '../../../components/Loading/loading';\r\nimport MaterialTable from 'material-table';\r\nimport { toast } from \"react-toastify\";\r\nimport Select from 'react-select';\r\n\r\nexport default function Listar() {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const listaTipoPessoa = useSelector(state => state.tipoPessoa.listaTipoPessoa);\r\n const listaContratos = useSelector(state => state.contrato.listaContrato);\r\n const listaFornecedor = useSelector(state => state.fornecedor.listaFornecedor);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const carregando = useSelector(state => state.contrato.carregando);\r\n const listaCliente = useSelector(state => state.cliente.listaCliente);\r\n const listaOrigemContrato = useSelector(state => state.origemContrato.listaOrigemContrato);\r\n const listaMunicipio = useSelector(state => state.municipio.listaMunicipio);\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [id, setId] = useState(0);\r\n\r\n //Permissão de Visualizar\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n useEffect(() => {\r\n if (token.role.filter(r => r == \"FornecedorMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(ListarClienteRequest());\r\n dispatch(ListarFornecedorRequest());\r\n dispatch(ListarOrigemContratoRequest());\r\n dispatch(ListarTipoPessoaRequest());\r\n dispatch(ListarMunicipiosRequest());\r\n dispatch(ListarContratoUsuarioRequest());\r\n }, [])\r\n\r\n function ExcluirContrato(id) {\r\n if (id != 0) {\r\n //dispatch(ExcluirContratoRequest(id));\r\n setId(0);\r\n }\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Fornecedores\r\n \r\n \r\n \r\n
\r\n {\r\n carregando ?\r\n }\r\n columns={[\r\n {\r\n title: 'Número do Fornecedor', field: 'id', defaultSort: 'desc', cellStyle: {\r\n width: '10%',\r\n }\r\n },\r\n {\r\n title: 'Fornecedor', field: 'idFornecedor', cellStyle: {\r\n width: '16%',\r\n }\r\n },\r\n {\r\n title: 'Endereço', field: 'endereco', cellStyle: {\r\n width: '16%',\r\n }, render: rowData =>\r\n {rowData.logradouro + ', ' + rowData.numero + ', ' + rowData.bairro}\r\n },\r\n {\r\n title: 'Tipo Pessoa', field: 'idTipoPessoa', cellStyle: {\r\n width: '16%',\r\n }\r\n },\r\n {\r\n title: 'Cliente', field: 'idCliente', cellStyle: {\r\n width: '16%',\r\n }\r\n },\r\n {\r\n title: 'Município', field: 'idMunicipio', cellStyle: {\r\n width: '16%',\r\n }\r\n },\r\n {\r\n title: 'Ativo', field: 'idAtivo', sorting: true,\r\n cellStyle: { width: '10%' },\r\n customFilterAndSearch: (term, rowData) => term == rowData.idAtivo.toString(),\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value == 'ativado' ? 'true' :\r\n e != null && e.value == 'desativado' ? 'false' : null)\r\n }}\r\n />\r\n )\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { }} />)\r\n }\r\n ]}\r\n data={\r\n listaFornecedor != undefined && listaCliente != undefined && listaTipoPessoa != undefined &&\r\n listaMunicipio != undefined ?\r\n listaFornecedor.map(fornecedor => {\r\n return {\r\n id: fornecedor.id,\r\n idFornecedor: fornecedor.nomeFornecedor,\r\n idTipoPessoa: fornecedor.tipoPessoa.descricao,\r\n idCliente: fornecedor.cliente.nome,\r\n idMunicipio: fornecedor.municipio.nome,\r\n idAtivo: fornecedor.ativo,\r\n logradouro: fornecedor.nomeLogradouro,\r\n numero: fornecedor.numeroLocal,\r\n bairro: fornecedor.bairro\r\n }\r\n })\r\n :\r\n []\r\n }\r\n actions={[\r\n rowData => ({\r\n icon: () => ,\r\n onClick: (event, rowData) => { history.push(`/alterarGeralFornecedor/${rowData.id}`); }\r\n }),\r\n ]}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\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 { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Button } from \"react-bootstrap\";\r\nimport { ListarClienteRequest } from '../../../store/modules/cliente/actions';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { InserirFornecedorRequest, AlterarFornecedorRequest, BuscarFornecedorPorIdRequest, ListarFornecedorRequest } from \"../../../store/modules/fornecedor/actions\";\r\nimport { ListarMunicipiosRequest } from \"../../../store/modules/municipio/actions\";\r\nimport { ListarTipoPessoaRequest } from \"../../../store/modules/tipoPessoa/actions\";\r\nimport { useParams } from 'react-router-dom';\r\nimport InputMask from \"react-input-mask\";\r\nimport 'moment/locale/pt-br';\r\nimport moment from 'moment';\r\n\r\n\r\n\r\nexport default function Fornecedor() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n const listaFornecedor = useSelector(state => state.fornecedor.listaFornecedor);\r\n\r\n const listaCliente = useSelector(state => state.cliente.listaCliente);\r\n const listaTipoPessoa = useSelector(state => state.tipoPessoa.listaTipoPessoa);\r\n const listaMunicipio = useSelector(state => state.municipio.listaMunicipio);\r\n const fornecedorCompleto = useSelector(state => state.fornecedor.fornecedorCompleto);\r\n\r\n const [idCliente, setIdCliente] = useState('');\r\n const [idTipoPessoa, setIdTipoPessoa] = useState('');\r\n const [nomeFornecedor, setNomeFornecedor] = useState('');\r\n const [descricaoSite, setDescricaoSite] = useState('');\r\n const [numeroIdentidade, setNumeroIdentidade] = useState('');\r\n const [descricaoOrgaoEmissor, setDescricaoOrgaoEmissor] = useState('');\r\n const [numeroCpf, setNumeroCpf] = useState('');\r\n const [nomeFantasia, setNomeFantasia] = useState('');\r\n const [numeroCgc, setNumeroCgc] = useState('');\r\n const [numeroInscricaoEstadual, setNumeroInscricaoEstadual] = useState('');\r\n const [email, setEmail] = useState('');\r\n const [dddFixo, setDddFixo] = useState('');\r\n const [dddCelular, setDddCelular] = useState('');\r\n const [telefoneFixo, setTelefoneFixo] = useState('');\r\n const [telefoneCelular, setTelefoneCelular] = useState('');\r\n const [logradouro, setLogradouro] = useState('');\r\n const [numeroLocal, setNumeroLocal] = useState('');\r\n const [descricaoComplemento, setDescricaoComplemento] = useState('');\r\n const [bairro, setBairro] = useState('');\r\n const [cep, setCep] = useState('');\r\n const [municipio, setMunicipio] = useState('');\r\n const [ativo, setAtivo] = useState(false);\r\n const [validated, setValidated] = useState(false);\r\n\r\n const lista = listaFornecedor != undefined ?\r\n listaFornecedor.map(fornecedor => {\r\n return {\r\n nomeFornecedor: fornecedor.nomeFornecedor\r\n }\r\n })\r\n :\r\n []\r\n\r\n useEffect(() => {\r\n \r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarClienteRequest());\r\n dispatch(ListarMunicipiosRequest());\r\n dispatch(ListarFornecedorRequest());\r\n dispatch(ListarTipoPessoaRequest());\r\n if (id != undefined)\r\n dispatch(BuscarFornecedorPorIdRequest(id));\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (fornecedorCompleto != null && fornecedorCompleto.id == parseInt(id)) {\r\n carregaFornecedor();\r\n }\r\n }, [fornecedorCompleto])\r\n\r\n function InserirFornecedor(e) {\r\n\r\n e.preventDefault();\r\n\r\n var data = {\r\n 'Id': fornecedorCompleto == null ? parseInt(0) : fornecedorCompleto.id,\r\n 'IdCliente': parseInt(idCliente),\r\n 'NomeFornecedor': nomeFornecedor.trim(),\r\n 'Site': descricaoSite,\r\n 'Email': email,\r\n 'DddTelefoneFixo': parseInt(dddFixo),\r\n 'DddTelefoneCelular': parseInt(dddCelular),\r\n 'IdTipoPessoa': idTipoPessoa,\r\n 'NumeroTelefoneFixo': telefoneFixo,\r\n 'NumeroCelular': telefoneCelular,\r\n 'NomeLogradouro': logradouro,\r\n 'NumeroLocal': numeroLocal,\r\n 'Complemento': descricaoComplemento,\r\n 'Cep': cep,\r\n 'Bairro': bairro,\r\n 'IdMunicipio': parseInt(municipio),\r\n 'Ativo': ativo,\r\n 'DataInclusao': moment((new Date())).add('hours', 2),\r\n 'DataAlteracao': moment((new Date())).add('hours', 2),\r\n 'FornecedorPessoaFisicaApiModel': {\r\n 'Id': fornecedorCompleto == null ? parseInt(0) : fornecedorCompleto.fornecedorPessoaFisicaApiModel == null\r\n ? parseInt(0) : fornecedorCompleto.fornecedorPessoaFisicaApiModel.id,\r\n 'IdFornecedor': id == undefined ? parseInt(0) : parseInt(id),\r\n 'NumeroIdentidade': numeroIdentidade,\r\n 'OrgaoEmissor': descricaoOrgaoEmissor,\r\n 'NumeroCpf': numeroCpf\r\n },\r\n 'FornecedorPessoaJuridicaApiModel': {\r\n 'Id': fornecedorCompleto == null ? parseInt(0) :\r\n fornecedorCompleto.fornecedorPessoaJuridicaApiModel == null\r\n ? parseInt(0) : fornecedorCompleto.fornecedorPessoaJuridicaApiModel.id,\r\n 'IdFornecedor': id == undefined ? parseInt(0) : parseInt(id),\r\n 'nomeFantasia': nomeFantasia,\r\n 'numeroCgc': numeroCgc,\r\n 'numeroInscricaoEstadual': numeroInscricaoEstadual\r\n }\r\n }\r\n\r\n if (id == undefined) {\r\n dispatch(InserirFornecedorRequest(data));\r\n } else {\r\n dispatch(AlterarFornecedorRequest(data));\r\n }\r\n }\r\n\r\n function carregaFornecedor() {\r\n\r\n // Fornecedor\r\n setIdCliente(fornecedorCompleto.idCliente);\r\n setNomeFornecedor(fornecedorCompleto.nomeFornecedor);\r\n setDescricaoSite(fornecedorCompleto.site);\r\n setEmail(fornecedorCompleto.email);\r\n setCep(fornecedorCompleto.cep);\r\n setDddFixo(fornecedorCompleto.dddTelefoneFixo);\r\n setTelefoneFixo(fornecedorCompleto.numeroTelefoneFixo);\r\n setDddCelular(fornecedorCompleto.dddTelefoneCelular);\r\n setTelefoneCelular(fornecedorCompleto.numeroCelular);\r\n setLogradouro(fornecedorCompleto.nomeLogradouro);\r\n setNumeroLocal(fornecedorCompleto.numeroLocal);\r\n setDescricaoComplemento(fornecedorCompleto.complemento);\r\n setBairro(fornecedorCompleto.bairro);\r\n setAtivo(fornecedorCompleto.ativo);\r\n setMunicipio(fornecedorCompleto.idMunicipio);\r\n setIdTipoPessoa(fornecedorCompleto.idTipoPessoa);\r\n\r\n // Fornecedor pessoa fisíca\r\n setNumeroIdentidade(fornecedorCompleto.fornecedorPessoaFisicaApiModel == null ? '' : fornecedorCompleto.fornecedorPessoaFisicaApiModel.numeroIdentidade);\r\n setDescricaoOrgaoEmissor(fornecedorCompleto.fornecedorPessoaFisicaApiModel == null ? '' : fornecedorCompleto.fornecedorPessoaFisicaApiModel.orgaoEmissor);\r\n setNumeroCpf(fornecedorCompleto.fornecedorPessoaFisicaApiModel == null ? '' : fornecedorCompleto.fornecedorPessoaFisicaApiModel.numeroCpf);\r\n \r\n // Fornecedor pessoa jurídica\r\n setNomeFantasia(fornecedorCompleto.fornecedorPessoaJuridicaApiModel == null ? '' : fornecedorCompleto.fornecedorPessoaJuridicaApiModel.nomeFantasia);\r\n setNumeroCgc(fornecedorCompleto.fornecedorPessoaJuridicaApiModel == null ? '' : fornecedorCompleto.fornecedorPessoaJuridicaApiModel.numeroCgc);\r\n setNumeroInscricaoEstadual(fornecedorCompleto.fornecedorPessoaJuridicaApiModel == null ? '' : fornecedorCompleto.fornecedorPessoaJuridicaApiModel.numeroInscricaoEstadual);\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n\r\n const form = event.currentTarget;\r\n if (form.checkValidity() === false || (!isValidCPF(numeroCpf) === true && idTipoPessoa == 1) ||\r\n /^\\d{2}$/.test(String(dddFixo)) == false || /^\\d{4} \\d{4}$/.test(String(telefoneFixo)) == false ||\r\n /^\\d{2}$/.test(String(dddCelular)) == false || /^\\d{1}\\d{4} \\d{4}$/.test(String(telefoneCelular)) == false) {\r\n event.preventDefault();\r\n } else {\r\n InserirFornecedor(event);\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n function isValidCPF(cpf) {\r\n if (typeof cpf !== \"string\") return false\r\n cpf = cpf.replace(/[\\s.-]*/igm, '')\r\n if (\r\n !cpf ||\r\n cpf.length !== 11 ||\r\n cpf === \"00000000000\" ||\r\n cpf === \"11111111111\" ||\r\n cpf === \"22222222222\" ||\r\n cpf === \"33333333333\" ||\r\n cpf === \"44444444444\" ||\r\n cpf === \"55555555555\" ||\r\n cpf === \"66666666666\" ||\r\n cpf === \"77777777777\" ||\r\n cpf === \"88888888888\" ||\r\n cpf === \"99999999999\"\r\n ) {\r\n return false\r\n }\r\n var soma = 0\r\n var resto\r\n for (var i = 1; i <= 9; i++)\r\n soma = soma + parseInt(cpf.substring(i - 1, i)) * (11 - i)\r\n resto = (soma * 10) % 11\r\n if ((resto === 10) || (resto === 11)) resto = 0\r\n if (resto !== parseInt(cpf.substring(9, 10))) return false\r\n soma = 0\r\n for (var i = 1; i <= 10; i++)\r\n soma = soma + parseInt(cpf.substring(i - 1, i)) * (12 - i)\r\n resto = (soma * 10) % 11\r\n if ((resto === 10) || (resto === 11)) resto = 0\r\n if (resto !== parseInt(cpf.substring(10, 11))) return false\r\n return true\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n Nome Fornecedor\r\n setNomeFornecedor(e.target.value)}\r\n required\r\n maxLength=\"70\"\r\n isInvalid={validated && nomeFornecedor.trim() === \"\" ?\r\n true\r\n :\r\n (lista !== null ?\r\n lista.forEach(element => {\r\n if (element.nomeFornecedor === nomeFornecedor) {\r\n return true\r\n }\r\n })\r\n :\r\n false\r\n )\r\n }\r\n isValid={validated && nomeFornecedor.trim() !== \"\" ?\r\n (lista !== undefined ?\r\n lista.forEach(element => {\r\n if (element.nomeFornecedor === nomeFornecedor) {\r\n return false\r\n }\r\n })\r\n :\r\n true\r\n )\r\n : false} />\r\n O campo Nome Fornecedor é obrigatório.\r\n \r\n\r\n \r\n E-mail\r\n setEmail(e.target.value)}\r\n required\r\n maxLength=\"150\"\r\n isInvalid={validated && !/^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/.test(String(email)) ? true : false}\r\n isValid={validated && /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/.test(String(email)) ? true : false} />\r\n \r\n {\r\n email === \"\" ? \"O campo Email é obrigatório.\" : \"Forneça um Email válido\"\r\n }\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n Site\r\n setDescricaoSite(e.target.value)}\r\n required\r\n maxLength=\"200\"\r\n isInvalid={validated && descricaoSite.trim() === \"\" ? true : false}\r\n isValid={validated && descricaoSite.trim() !== \"\" ? true : false} />\r\n O campo Site é obrigatório.\r\n \r\n\r\n \r\n Cliente\r\n setIdCliente(e.target.value)}\r\n value={idCliente}\r\n required\r\n isInvalid={validated && idCliente === \"\" ? true : false}\r\n isValid={validated && idCliente !== \"\" ? true : false}>\r\n \r\n {\r\n listaCliente != undefined ?\r\n listaCliente.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Cliente é obrigatório.\r\n \r\n\r\n \r\n \r\n\r\n \r\n DDD\r\n setDddFixo(e.target.value)}\r\n required\r\n isInvalid={validated && !/^\\d{2}$/.test(String(dddFixo)) ? true : false}\r\n isValid={validated && /^\\d{2}$/.test(String(dddFixo)) ? true : false}\r\n />\r\n O campo DDD é obrigatório.\r\n \r\n\r\n \r\n Telefone Fixo
\r\n setTelefoneFixo(e.target.value)}\r\n required\r\n isInvalid={validated && !/^\\d{4} \\d{4}$/.test(String(telefoneFixo))\r\n && !/^\\d{4}\\d{4}$/.test(String(telefoneFixo))\r\n ? true : false}\r\n isValid={(validated) && (/^\\d{4} \\d{4}$/.test(String(telefoneFixo)) || /^\\d{4}\\d{4}$/.test(String(telefoneFixo)))\r\n ? true : false} >\r\n \r\n O campo Telefone Fixo é obrigatório.\r\n
\r\n\r\n \r\n DDD\r\n setDddCelular(e.target.value)}\r\n required\r\n isInvalid={validated && !/^\\d{2}$/.test(String(dddCelular)) ? true : false}\r\n isValid={validated && /^\\d{2}$/.test(String(dddCelular)) ? true : false}\r\n />\r\n O campo DDD é obrigatório.\r\n \r\n\r\n \r\n Telefone Celular
\r\n setTelefoneCelular(e.target.value)}\r\n required\r\n isInvalid={validated && !/^\\d{1}\\d{4} \\d{4}$/.test(String(telefoneCelular))\r\n && !/^\\d{1}\\d{4}\\d{4}$/.test(String(telefoneCelular))\r\n ? true : false}\r\n isValid={(validated && /^\\d{1}\\d{4} \\d{4}$/.test(String(telefoneCelular)))\r\n || (validated && /^\\d{1}\\d{4}\\d{4}$/.test(String(telefoneCelular)))\r\n ? true : false} >\r\n \r\n O campo Telefone Celular é obrigatório.\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n Logradouro\r\n setLogradouro(e.target.value)}\r\n required\r\n maxLength=\"150\"\r\n isInvalid={validated && logradouro.trim() === \"\" ? true : false}\r\n isValid={validated && logradouro.trim() !== \"\" ? true : false} />\r\n O campo Logradouro é obrigatório.\r\n \r\n\r\n \r\n Número\r\n setNumeroLocal(e.target.value)}\r\n required\r\n maxLength=\"10\"\r\n isInvalid={validated && numeroLocal.trim() === \"\" ? true : false}\r\n isValid={validated && numeroLocal.trim() !== \"\" ? true : false} />\r\n O campo Número é obrigatório.\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Complemento\r\n setDescricaoComplemento(e.target.value)}\r\n maxLength=\"250\" />\r\n O campo Complemento é obrigatório.\r\n \r\n\r\n \r\n Bairro\r\n setBairro(e.target.value)}\r\n required\r\n maxLength=\"100\"\r\n isInvalid={validated && bairro.trim() === \"\" ? true : false}\r\n isValid={validated && bairro.trim() !== \"\" ? true : false} />\r\n O campo Bairro é obrigatório.\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Cep
\r\n setCep(e.target.value)}\r\n required\r\n isInvalid={validated && !/^\\d{2}.\\d{3}-\\d{3}$/.test(String(cep)) ? true : false}\r\n isValid={validated && /^\\d{2}.\\d{3}-\\d{3}$/.test(String(cep)) ? true : false}>\r\n \r\n O campo Cep é obrigatório.\r\n
\r\n\r\n \r\n Município\r\n setMunicipio(e.target.value)}\r\n value={municipio}\r\n required\r\n isInvalid={validated && municipio === \"\" ? true : false}\r\n isValid={validated && municipio !== \"\" ? true : false}>\r\n \r\n {\r\n listaMunicipio != undefined ?\r\n listaMunicipio.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Município é obrigatório.\r\n \r\n\r\n
\r\n\r\n \r\n\r\n \r\n Tipo Pessoa\r\n setIdTipoPessoa(e.target.value)}\r\n value={idTipoPessoa}\r\n required\r\n isInvalid={validated && idTipoPessoa === \"\" ? true : false}\r\n isValid={validated && idTipoPessoa !== \"\" ? true : false}>\r\n \r\n {\r\n listaTipoPessoa != undefined ?\r\n listaTipoPessoa.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Tipo Pessoa é obrigatório.\r\n \r\n\r\n \r\n {\r\n idTipoPessoa == 1 ?\r\n
\r\n \r\n\r\n \r\n Número Identidade\r\n setNumeroIdentidade(e.target.value)}\r\n required\r\n maxLength=\"50\"\r\n isInvalid={validated && numeroIdentidade.trim() === \"\" ? true : false}\r\n isValid={validated && numeroIdentidade.trim() !== \"\" ? true : false} />\r\n O campo Identidade é obrigatório.\r\n \r\n\r\n \r\n Órgão Emissor\r\n setDescricaoOrgaoEmissor(e.target.value)}\r\n required\r\n maxLength=\"70\"\r\n isInvalid={validated && descricaoOrgaoEmissor.trim() === \"\" ? true : false}\r\n isValid={validated && descricaoOrgaoEmissor.trim() !== \"\" ? true : false} />\r\n O campo Descricao Orgrao Emissor é obrigatório.\r\n \r\n \r\n\r\n \r\n\r\n \r\n CPF\r\n setNumeroCpf(e.target.value)}\r\n required\r\n isInvalid={validated && numeroCpf === \"\" || validated && !isValidCPF(numeroCpf) ? true : false}\r\n isValid={validated && numeroCpf !== \"\" ? true : false} />\r\n \r\n {\r\n numeroCpf === \"\" ? \"O campo CPF é obrigatório.\" : \"Forneça um CPF válido\"\r\n }\r\n \r\n
\r\n \r\n \r\n \r\n setAtivo(!ativo)}\r\n defaultChecked={ativo}\r\n />\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n :\r\n idTipoPessoa == 2 ?\r\n
\r\n \r\n\r\n \r\n Nome Fantasia\r\n setNomeFantasia(e.target.value)}\r\n required\r\n maxLength=\"100\"\r\n isInvalid={validated && nomeFantasia.trim() === \"\" ? true : false}\r\n isValid={validated && nomeFantasia.trim() !== \"\" ? true : false} />\r\n O campo Nome Fantasia é obrigatório.\r\n \r\n\r\n \r\n Número CGC\r\n setNumeroCgc(e.target.value)}\r\n required\r\n maxLength=\"18\"\r\n isInvalid={validated && numeroCgc.trim() === \"\" ? true : false}\r\n isValid={validated && numeroCgc.trim() !== \"\" ? true : false} />\r\n O campo Número CGC é obrigatório.\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Número Inscrição Estadual\r\n setNumeroInscricaoEstadual(e.target.value)}\r\n required\r\n maxLength=\"9\"\r\n isInvalid={validated && numeroInscricaoEstadual.trim() === \"\" ? true : false}\r\n isValid={validated && numeroInscricaoEstadual.trim() !== \"\" ? true : false} />\r\n O campo Número Inscricao Estadual é obrigatório.\r\n
\r\n
\r\n \r\n \r\n setAtivo(!ativo)}\r\n checked={ativo}\r\n />\r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n :\r\n 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}","export function ListarFornecedorContaRequest() {\r\n return {\r\n type: 'LISTAR_FORNECEDOR_CONTA_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarCompletoFornecedorContaRequest(idFornecedor) {\r\n return {\r\n type: 'LISTAR_COMPLETO_FORNECEDOR_CONTA_REQUEST',\r\n idFornecedor\r\n }\r\n }\r\n\r\nexport function ListarFornecedorContaResponse(listaFornecedorConta) {\r\n return {\r\n type: 'LISTAR_FORNECEDOR_CONTA_RESPONSE',\r\n listaFornecedorConta\r\n }\r\n}\r\n\r\nexport function BuscarFornecedorContaPorIdRequest(id) {\r\n return {\r\n type: 'BUSCAR_FORNECEDOR_CONTA_POR_ID_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function BuscarFornecedorContaPorIdResponse(fornecedorContaCompleta) {\r\n return {\r\n type: 'BUSCAR_FORNECEDOR_CONTA_POR_ID_RESPONSE',\r\n fornecedorContaCompleta\r\n }\r\n}\r\n\r\nexport function InserirFornecedorContaRequest(data) {\r\n return {\r\n type: 'INSERIR_FORNECEDOR_CONTA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarFornecedorContaRequest(data) {\r\n return {\r\n type: 'ALTERAR_FORNECEDOR_CONTA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirFornecedorContaRequest(id) {\r\n return {\r\n type: 'EXCLUIR_FORNECEDOR_CONTA_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}\r\n","export function ListarBancoRequest() {\r\n return {\r\n type: 'LISTAR_BANCO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarBancoResponse(listaBanco) {\r\n return {\r\n type: 'LISTAR_BANCO_RESPONSE',\r\n listaBanco\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarTipoPixRequest() {\r\n return {\r\n type: 'LISTAR_TIPO_PIX_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarTipoPixResponse(listaTipoPix) {\r\n return {\r\n type: 'LISTAR_TIPO_PIX_RESPONSE',\r\n listaTipoPix\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport Select from 'react-select';\r\nimport MaterialTable from \"material-table\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport {\r\n AlterarFornecedorContaRequest,\r\n InserirFornecedorContaRequest,\r\n ListarCompletoFornecedorContaRequest\r\n} from \"../../../store/modules/fornecedorConta/actions\";\r\nimport { ListarBancoRequest } from \"../../../store/modules/banco/actions\";\r\nimport { ListarTipoPixRequest } from \"../../../store/modules/tipoPix/actions\";\r\nimport { ListarTipoPessoaRequest } from \"../../../store/modules/tipoPessoa/actions\";\r\nimport './conta.css';\r\nimport { toast } from \"react-toastify\";\r\nimport InputMask from \"react-input-mask\";\r\nimport { FaPlus } from \"react-icons/fa\";\r\n\r\nexport default function Conta() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const carregando = useSelector(state => state.fornecedorConta.carregando);\r\n const listaFornecedorConta = useSelector(state => state.fornecedorConta.listaFornecedorConta);\r\n const listaBanco = useSelector(state => state.banco.listaBanco);\r\n const listaTipoPix = useSelector(state => state.tipoPix.listaTipoPix);\r\n const listaTipoPessoa = useSelector(state => state.tipoPessoa.listaTipoPessoa);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [selectPix, setSelectPix] = useState(null);\r\n const [selectPessoa, setSelectPessoa] = useState(null);\r\n const [selectBanco, setSelectBanco] = useState(null);\r\n\r\n const optionsTipoPessoa = listaTipoPessoa != undefined && listaTipoPessoa ?\r\n listaTipoPessoa.map(lista => ({\r\n value: lista.id, label: lista.descricao\r\n }))\r\n :\r\n [];\r\n\r\n const optionsTipoPix = listaTipoPix != undefined && listaTipoPix ?\r\n listaTipoPix.map(lista => ({\r\n value: lista.id, label: lista.descricao\r\n }))\r\n :\r\n [];\r\n\r\n const optionsBanco = listaBanco != undefined && listaBanco ?\r\n listaBanco.map(lista => ({\r\n value: lista.id, label: lista.descricao\r\n }))\r\n :\r\n [];\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarBancoRequest());\r\n dispatch(ListarTipoPixRequest());\r\n dispatch(ListarTipoPessoaRequest());\r\n\r\n if (id !== undefined) {\r\n dispatch(ListarCompletoFornecedorContaRequest(id));\r\n }\r\n\r\n }, [id])\r\n\r\n\r\n function AlterarConta(conta) {\r\n\r\n\r\n let data = {\r\n 'Id': parseInt(conta.codigoInterno),\r\n 'IdFornecedor': parseInt(id),\r\n 'IdBanco': parseInt(conta.banco),\r\n 'NumeroAgencia': conta.numeroAgencia.toString(),\r\n 'NumeroConta': conta.numeroConta.toString(),\r\n 'IdTipoPix': parseInt(conta.tipoPix),\r\n 'NumeroPix': conta.numeroPix,\r\n 'IdTipoPessoa': parseInt(conta.tipoPessoa),\r\n 'NumeroDocumento': conta.numeroDocumento,\r\n 'Ativa': conta.ativa == undefined ? true : conta.ativa,\r\n }\r\n\r\n dispatch(AlterarFornecedorContaRequest(data))\r\n }\r\n\r\n function ValidacoesInserir(conta) {\r\n\r\n let email = document.getElementById('idEmail');\r\n let telefone = document.getElementById('idTelefone');\r\n let cpf = document.getElementById('Fisica');\r\n let cnpj = document.getElementById('Juridica');\r\n\r\n let selectTipoPessoaText = document.getElementById('idSelectTipoPessoa').innerText;\r\n let selectTipoPessoaSelecionado = listaTipoPessoa.filter(soli => soli.descricao == selectTipoPessoaText);\r\n\r\n if (selectTipoPessoaSelecionado.length == 0) {\r\n toast.error(`Tipo Pessoa não selecionado`);\r\n return false;\r\n }\r\n if (selectTipoPessoaSelecionado[0].descricao == 'Pessoa Física') {\r\n if (cpf.value !== null && !isValidCPF(cpf.value)) {\r\n toast.error(`CPF com formato inválido`);\r\n return false;\r\n }\r\n }\r\n if (selectTipoPessoaSelecionado[0].descricao == 'Pessoa Jurídica') {\r\n if (cnpj.value !== null && !isValidCNPJ(cnpj.value)) {\r\n toast.error(`CNPJ com formato inválido`);\r\n return false;\r\n }\r\n }\r\n\r\n let selectTipoPixText = document.getElementById('idSelectTipoPix').innerText;\r\n let selectTipoPixSelecionado = listaTipoPix.filter(soli => soli.descricao == selectTipoPixText);\r\n\r\n if (selectTipoPixSelecionado.length == 0) {\r\n toast.error(`Tipo Pix não selecionado`);\r\n return false;\r\n }\r\n if (selectTipoPixSelecionado[0].descricao == \"Email\") {\r\n if (email.value !== null && !ValidaEmail(email.value)) {\r\n toast.error(`Email com formato inválido`);\r\n return false;\r\n }\r\n }\r\n else if (selectTipoPixSelecionado[0].descricao == \"Telefone\") {\r\n if (telefone.value !== null && !ValidaTelefone(telefone.value)) {\r\n toast.error(`Telefone com formato inválido`);\r\n return false;\r\n }\r\n }\r\n\r\n let selectBancoText = document.getElementById('idSelectBanco').innerText;\r\n let selectBancoSelecionado = listaBanco.filter(soli => soli.descricao == selectBancoText);\r\n\r\n if (selectBancoSelecionado.length == 0) {\r\n toast.error(`Banco não selecionado`);\r\n return false;\r\n }\r\n\r\n if (conta.numeroConta == null || conta.numeroConta == '' || conta.numeroConta == undefined || isNaN(conta.numeroConta)) {\r\n toast.error(`Número da conta não mencionado`);\r\n return false;\r\n }\r\n\r\n if (conta.numeroAgencia == null || conta.numeroAgencia == '' || conta.numeroAgencia == undefined || isNaN(conta.numeroAgencia)) {\r\n toast.error(`Número da agência não mencionado`);\r\n return false;\r\n }\r\n\r\n if (selectBancoSelecionado.length > 0 && selectTipoPessoaSelecionado.length > 0 && selectTipoPixSelecionado.length > 0) {\r\n setSelectBanco(parseInt(selectBancoSelecionado[0].id));\r\n setSelectPessoa(parseInt(selectTipoPessoaSelecionado[0].id));\r\n setSelectPix(parseInt(selectTipoPixSelecionado[0].id));\r\n\r\n return true;\r\n }\r\n\r\n }\r\n\r\n function InserirContas(conta) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'IdFornecedor': parseInt(id),\r\n 'IdBanco': parseInt(conta.banco),\r\n 'NumeroAgencia': conta.numeroAgencia.toString(),\r\n 'NumeroConta': conta.numeroConta.toString(),\r\n 'IdTipoPix': parseInt(conta.tipoPix),\r\n 'NumeroPix': conta.numeroPix,\r\n 'IdTipoPessoa': parseInt(conta.tipoPessoa),\r\n 'NumeroDocumento': conta.numeroDocumento,\r\n 'Ativa': conta.ativa == undefined ? true : conta.ativa,\r\n }\r\n\r\n dispatch(InserirFornecedorContaRequest(data));\r\n }\r\n\r\n function isValidCNPJ(cnpj) {\r\n\r\n cnpj = cnpj.replace(/[^\\d]+/g, '');\r\n\r\n if (cnpj == '') return false;\r\n if (cnpj.length != 14)\r\n return false;\r\n if (cnpj == \"00000000000000\" ||\r\n cnpj == \"11111111111111\" ||\r\n cnpj == \"22222222222222\" ||\r\n cnpj == \"33333333333333\" ||\r\n cnpj == \"44444444444444\" ||\r\n cnpj == \"55555555555555\" ||\r\n cnpj == \"66666666666666\" ||\r\n cnpj == \"77777777777777\" ||\r\n cnpj == \"88888888888888\" ||\r\n cnpj == \"99999999999999\")\r\n return false;\r\n\r\n var tamanho = cnpj.length - 2\r\n var numeros = cnpj.substring(0, tamanho);\r\n var digitos = cnpj.substring(tamanho);\r\n var soma = 0;\r\n var pos = tamanho - 7;\r\n for (var i = tamanho; i >= 1; i--) {\r\n soma += numeros.charAt(tamanho - i) * pos--;\r\n if (pos < 2)\r\n pos = 9;\r\n }\r\n var resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\r\n if (resultado != digitos.charAt(0))\r\n return false;\r\n\r\n tamanho = tamanho + 1;\r\n numeros = cnpj.substring(0, tamanho);\r\n soma = 0;\r\n pos = tamanho - 7;\r\n for (var i = tamanho; i >= 1; i--) {\r\n soma += numeros.charAt(tamanho - i) * pos--;\r\n if (pos < 2)\r\n pos = 9;\r\n }\r\n resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\r\n if (resultado != digitos.charAt(1))\r\n return false;\r\n\r\n return true;\r\n\r\n }\r\n\r\n function isValidCPF(cpf) {\r\n if (typeof cpf !== \"string\") return false\r\n cpf = cpf.replace(/[\\s.-]*/igm, '')\r\n if (\r\n !cpf ||\r\n cpf.length !== 11 ||\r\n cpf === \"00000000000\" ||\r\n cpf === \"11111111111\" ||\r\n cpf === \"22222222222\" ||\r\n cpf === \"33333333333\" ||\r\n cpf === \"44444444444\" ||\r\n cpf === \"55555555555\" ||\r\n cpf === \"66666666666\" ||\r\n cpf === \"77777777777\" ||\r\n cpf === \"88888888888\" ||\r\n cpf === \"99999999999\"\r\n ) {\r\n return false\r\n }\r\n var soma = 0\r\n var resto\r\n for (var i = 1; i <= 9; i++)\r\n soma = soma + parseInt(cpf.substring(i - 1, i)) * (11 - i)\r\n resto = (soma * 10) % 11\r\n if ((resto === 10) || (resto === 11)) resto = 0\r\n if (resto !== parseInt(cpf.substring(9, 10))) return false\r\n soma = 0\r\n for (var i = 1; i <= 10; i++)\r\n soma = soma + parseInt(cpf.substring(i - 1, i)) * (12 - i)\r\n resto = (soma * 10) % 11\r\n if ((resto === 10) || (resto === 11)) resto = 0\r\n if (resto !== parseInt(cpf.substring(10, 11))) return false\r\n return true\r\n }\r\n\r\n function ValidaEmail(email) {\r\n const emailRegex = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/;\r\n if (emailRegex.test(String(email))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidacaoDdd(ddd) {\r\n const numeroDDD = ddd.split('(', ddd.length);\r\n const dddRegex = /^\\d{2}$/;\r\n if (dddRegex.test(String(numeroDDD[1]))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidaTelefone(telefone) {\r\n const stringDDD = telefone.split(')', telefone.length);\r\n const stringTelefone = telefone.split(')', telefone.length);\r\n let telefoneValidado = false;\r\n telefoneValidado = ValidacaoTelefone(stringTelefone[1]);\r\n telefoneValidado = ValidacaoDdd(stringDDD[0]);\r\n return telefoneValidado;\r\n }\r\n\r\n function ValidacaoTelefone(telefone) {\r\n const telefoneRegex = /^\\d{1} \\d{4} \\d{4}$/;\r\n const telefoneRegex2 = /^\\d{1}\\d{4}\\d{4}$/;\r\n if (telefoneRegex.test(String(telefone)) || telefoneRegex2.test(String(telefone))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function AlterarEstadoPix(e, props) {\r\n props.rowData.numeroPix = '';\r\n return props.onChange(e.value);\r\n }\r\n\r\n function AlterarEstadoPessoa(e, props) {\r\n props.rowData.numeroDocumento = '';\r\n return props.onChange(e.value);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n {\r\n carregando ?\r\n 0 ?\r\n listaBanco.map(b => {\r\n return {\r\n id: b.id, descricao: b.descricao\r\n }\r\n }).reduce(function (acc, cur, i) {\r\n acc[cur.id] = cur.descricao;\r\n return acc;\r\n }, {})\r\n :\r\n null,\r\n editComponent: (props) => (\r\n p.id == props.value).length > 0\r\n ? listaTipoPix.filter(p => p.id == props.value)[0].descricao\r\n : 'Selecione...'\r\n }}\r\n onChange={(e) => { AlterarEstadoPix(e, props) }}\r\n //props.onChange(e.value)\r\n />\r\n ),\r\n },\r\n {\r\n title: 'Número Pix', field: 'numeroPix', align: 'left', cellStyle: {\r\n width: '13%',\r\n },\r\n editComponent: (props) => (\r\n props.rowData.tipoPix == 2 ?\r\n props.onChange(e.target.value)}\r\n id=\"idEmail\" />\r\n :\r\n props.rowData.tipoPix == 1 ?\r\n props.onChange(e.target.value)}\r\n mask={\"(99)999999999\"} id=\"idTelefone\" />\r\n :\r\n \r\n ),\r\n validate: rowData => {\r\n if (rowData.numeroPix === undefined || rowData.numeroPix === \"\") {\r\n return \"Campo Obrigatório\"\r\n }\r\n else if (rowData.numeroPix.length > 500) {\r\n return \"O campo não pode conter mais que 500 caracteres\"\r\n }\r\n return true\r\n }\r\n },\r\n {\r\n title: 'Tipo Pessoa',\r\n field: 'tipoPessoa',\r\n filtering: false,\r\n align: 'left',\r\n cellStyle: {\r\n width: '13%'\r\n },\r\n lookup:\r\n listaTipoPessoa != undefined && listaTipoPessoa.length > 0 ?\r\n listaTipoPessoa.map(b => {\r\n return {\r\n id: b.id, descricao: b.descricao\r\n }\r\n }).reduce(function (acc, cur, i) {\r\n acc[cur.id] = cur.descricao;\r\n return acc;\r\n }, {})\r\n :\r\n null,\r\n editComponent: (props) => (\r\n { }} />)\r\n }\r\n ]}\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n data={\r\n listaFornecedorConta != undefined && listaFornecedorConta.length > 0 ?\r\n listaFornecedorConta.map((lista) => {\r\n return {\r\n codigoInterno: lista.id,\r\n banco: lista.idBanco,\r\n numeroAgencia: lista.numeroAgencia,\r\n numeroConta: lista.numeroConta,\r\n tipoPix: lista.idTipoPix,\r\n numeroPix: lista.numeroPix,\r\n tipoPessoa: lista.idTipoPessoa,\r\n numeroDocumento: lista.numeroDocumento,\r\n ativa: lista.ativa\r\n }\r\n })\r\n :\r\n []\r\n }\r\n editable={{\r\n onRowAdd:\r\n (newRow) => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n InserirContas(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n }),\r\n onRowUpdate:\r\n (newRow, oldRow) => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AlterarConta(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n })\r\n }}\r\n onRowClick={((evt, selectedRow) => setSelectedRow(selectedRow.tableData.id))}\r\n options={{\r\n minBodyHeight: 500,\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n exportButton: false,\r\n addRowPosition: \"first\",\r\n exportAllData: true,\r\n filtering: true,\r\n //grouping: true,\r\n exportFileName: 'tabelaExportada',\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n ]}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\n","export function ListarFornecedorContatoRequest() {\r\n return {\r\n type: 'LISTAR_FORNECEDOR_CONTATO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarCompletoFornecedorContatoRequest(idFornecedor) {\r\n return {\r\n type: 'LISTAR_COMPLETO_FORNECEDOR_CONTATO_REQUEST',\r\n idFornecedor\r\n }\r\n}\r\n\r\nexport function ListarFornecedorContatoResponse(listaFornecedorContato) {\r\n return {\r\n type: 'LISTAR_FORNECEDOR_CONTATO_RESPONSE',\r\n listaFornecedorContato\r\n }\r\n}\r\n\r\nexport function BuscarFornecedorContatoPorIdRequest(id) {\r\n return {\r\n type: 'BUSCAR_FORNECEDOR_CONTATO_POR_ID_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function BuscarFornecedorContatoPorIdResponse(fornecedorContatoCompleta) {\r\n return {\r\n type: 'BUSCAR_FORNECEDOR_CONTATO_POR_ID_RESPONSE',\r\n fornecedorContatoCompleta\r\n }\r\n}\r\n\r\nexport function InserirFornecedorContatoRequest(data) {\r\n return {\r\n type: 'INSERIR_FORNECEDOR_CONTATO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarFornecedorContatoRequest(data) {\r\n return {\r\n type: 'ALTERAR_FORNECEDOR_CONTATO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirFornecedorContatoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_FORNECEDOR_CONTATO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useParams } from 'react-router-dom';\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport MaterialTable from \"material-table\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport { AlterarFornecedorContatoRequest, InserirFornecedorContatoRequest, ListarCompletoFornecedorContatoRequest } from \"../../../store/modules/fornecedorContato/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport InputMask from \"react-input-mask\";\r\nimport { FaPlus } from \"react-icons/fa\";\r\n\r\nexport default function Contato() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const carregando = useSelector(state => state.fornecedorConta.carregando);\r\n const listaFornecedorContato = useSelector(state => state.fornecedorContato.listaFornecedorContato);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n useEffect(() => {\r\n\r\n if (id !== undefined) {\r\n dispatch(ListarCompletoFornecedorContatoRequest(id));\r\n }\r\n\r\n }, [id])\r\n\r\n function ValidacoesInserir(contato) {\r\n\r\n let telefone = document.getElementById('idTelefone');\r\n let DDD = document.getElementById('idDDD');\r\n\r\n if (contato.nomeContato == '' || contato.nomeContato == ' ' || contato.nomeContato == null) {\r\n toast.error(`Nome Contrato inválido`);\r\n return false;\r\n }\r\n\r\n else if (contato.email !== null && contato.email !== undefined && !ValidaEmail(contato.email)) {\r\n toast.error(`Email com formato inválido`);\r\n return false;\r\n }\r\n\r\n else if (telefone.value !== null && telefone.value !== '(__)' && !ValidaTelefone(telefone.value)) {\r\n toast.error(`Telefone com formato inválido`);\r\n return false;\r\n }\r\n\r\n else if (DDD.value !== null && !ValidacaoDdd(DDD.value)) {\r\n toast.error(`DDD com formato inválido`);\r\n return false;\r\n }\r\n else if (ValidacaoDdd(DDD.value) && DDD.value !== '(__)' && DDD.value !== '') {\r\n var ddd = DDD.value;\r\n var numeroDDD = ddd.split('(', ddd.length);\r\n var numeroDDD1 = numeroDDD[1].split(')', ddd.length);\r\n contato.numeroDDD = numeroDDD1[0];\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function AlterarContato(contato) {\r\n\r\n let data = {\r\n 'Id': parseInt(contato.codigoInterno),\r\n 'IdFornecedor': parseInt(id),\r\n 'NomeContato': contato.nomeContato.toString(),\r\n 'NumeroDddTelefone': parseInt(contato.numeroDDD),\r\n 'NumeroTelefone': contato.numeroTelefone,\r\n 'Email': contato.email.toString(),\r\n 'Ativo': contato.ativo,\r\n 'Gerencial': contato.gerencial,\r\n }\r\n\r\n dispatch(AlterarFornecedorContatoRequest(data))\r\n }\r\n\r\n function InserirContato(contato) {\r\n\r\n let data = {\r\n 'Id': parseInt(0),\r\n 'IdFornecedor': parseInt(id),\r\n 'NomeContato': contato.nomeContato.toString(),\r\n 'NumeroDddTelefone': parseInt(contato.numeroDDD),\r\n 'NumeroTelefone': contato.numeroTelefone,\r\n 'Email': contato.email.toString(),\r\n 'Ativo': contato.ativo == undefined ? true : contato.ativo,\r\n 'Gerencial': contato.gerencial == undefined ? true : contato.gerencial,\r\n }\r\n\r\n dispatch(InserirFornecedorContatoRequest(data));\r\n }\r\n\r\n\r\n function ValidaEmail(emailParametro) {\r\n const emailRegex = /^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$/;\r\n if (emailRegex.test(String(emailParametro))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidacaoDdd(ddd) {\r\n if (ddd === '(__)' || ddd === '') {\r\n return false\r\n }\r\n const numeroDDD = ddd.split('(', ddd.length);\r\n const numeroDDD1 = numeroDDD[1].split(')', ddd.length);\r\n const dddRegex = /^\\d{2}$/;\r\n if (dddRegex.test(String(numeroDDD1[0]))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function ValidaTelefone(telefone) {\r\n const telefoneRegex = /^\\d{1}\\d{4} \\d{4}$/;\r\n const telefoneRegex2 = /^\\d{1}\\d{4}\\d{4}$/;\r\n if (telefoneRegex.test(String(telefone)) || telefoneRegex2.test(String(telefone))) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n {\r\n carregando ?\r\n {\r\n if (rowData.nomeContato === undefined || rowData.nomeContato.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n }\r\n else if (rowData.nomeContato.length > 70) {\r\n return \"O campo Nome Contato não pode conter mais que 50 caracteres\"\r\n }\r\n return true\r\n }\r\n },\r\n {\r\n title: 'Número DDD',\r\n type: 'numeric',\r\n align: 'left',\r\n field: 'numeroDDD',\r\n cellStyle: {\r\n width: '10%'\r\n },\r\n validate: rowData => {\r\n if (rowData.numeroDDD === undefined || rowData.numeroDDD === \"\") {\r\n return \"Campo Obrigatório\"\r\n }\r\n return true\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.value)}\r\n mask={\"(99)\"} id=\"idDDD\" />\r\n )\r\n },\r\n {\r\n title: 'Número Telefone',\r\n field: 'numeroTelefone',\r\n align: 'left',\r\n cellStyle: {\r\n width: '10%'\r\n },\r\n validate: rowData => {\r\n if (rowData.numeroTelefone === undefined || rowData.numeroTelefone === \"\") {\r\n return \"Campo Obrigatório\"\r\n }\r\n else if (rowData.numeroTelefone.length > 10) {\r\n return \"O campo Número Telefone não pode conter mais que 10 caracteres\"\r\n }\r\n return true\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.value)}\r\n mask={\"99999 9999\"} id=\"idTelefone\" />\r\n )\r\n },\r\n {\r\n title: 'E-mail',\r\n field: 'email',\r\n defaultSort: 'desc',\r\n cellStyle: {\r\n width: '50%',\r\n },\r\n validate: rowData => {\r\n if (rowData.email === undefined || rowData.email === \"\") {\r\n return \"Campo Obrigatório\"\r\n }\r\n else if (rowData.email.length > 150) {\r\n return \"O campo E-mail não pode conter mais que 150 caracteres\"\r\n } else if (!ValidaEmail(rowData.email)) {\r\n return \"E-mail inválido\"\r\n }\r\n return true\r\n }\r\n },\r\n {\r\n title: 'Ativo',\r\n field: 'ativo',\r\n cellStyle: {\r\n width: '5%'\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { }} />)\r\n },\r\n {\r\n title: 'Gerencial',\r\n field: 'gerencial',\r\n cellStyle: {\r\n width: '5%'\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { }} />)\r\n }\r\n ]}\r\n data={\r\n listaFornecedorContato != undefined && listaFornecedorContato.length > 0 ?\r\n listaFornecedorContato.map((contato) => {\r\n return {\r\n codigoInterno: contato.id,\r\n nomeContato: contato.nomeContato,\r\n numeroDDD: contato.numeroDddTelefone,\r\n numeroTelefone: contato.numeroTelefone,\r\n email: contato.email,\r\n ativo: contato.ativo,\r\n gerencial: contato.gerencial\r\n }\r\n })\r\n :\r\n []\r\n }\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n editable={{\r\n onRowAdd:\r\n (newRow) => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n InserirContato(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n }),\r\n onRowUpdate:\r\n (newRow, oldRow) => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AlterarContato(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n })\r\n }}\r\n onRowClick={((evt, selectedRow) => setSelectedRow(selectedRow.tableData.id))}\r\n options={{\r\n minBodyHeight: 500,\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n exportButton: false,\r\n exportAllData: true,\r\n addRowPosition: \"first\",\r\n filtering: true,\r\n //grouping: true,\r\n exportFileName: 'tabelaExportada',\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n actions={[\r\n ]}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\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 { Row, Col, Card, Tabs, Tab } from \"react-bootstrap\";\r\nimport { MdOutlineLocalShipping } from 'react-icons/md';\r\nimport { useHistory, useParams } from 'react-router-dom';\r\nimport Fornecedor from '../Fornecedor/fornecedor';\r\nimport Header from \"../../../components/Header/header\";\r\nimport Conta from \"../Conta/conta\";\r\nimport Contato from \"../Contato/contato\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nexport default function Abas() {\r\n\r\n const { id } = useParams();\r\n \r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Fornecedor\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card, Form, Button } from \"react-bootstrap\";\r\nimport {\r\n ListarPrioridadeRequest, ExcluirPrioridadeRequest,\r\n InserirPrioridadeRequest, AlterarPrioridadeRequest\r\n} from '../../../store/modules/prioridade/actions';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { IoTimeOutline } from \"react-icons/io5\";\r\nimport { toast } from \"react-toastify\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport MaterialTable from 'material-table';\r\nimport './prioridade.css';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { FaPlus } from \"react-icons/fa\";\r\n\r\nexport default function Prioridade() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const listaPrioridade = useSelector(state => state.prioridade.listaPrioridade);\r\n const carregando = useSelector(state => state.prioridade.carregando);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"AuxiliaresMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"AuxiliaresInserir\").length == 1 && token.role.filter(r => r == \"AuxiliaresAlterar\").length == 1) {\r\n setTodasOperacoes(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(ListarPrioridadeRequest());\r\n }, [])\r\n\r\n function ExcluirPrioridade(id) {\r\n dispatch(ExcluirPrioridadeRequest(id));\r\n }\r\n\r\n function ValidacoesInserir(prioridade) {\r\n\r\n //valida o campo descrição\r\n if (prioridade.descricao == null || prioridade.descricao == undefined\r\n || prioridade.descricao.length > 150 || prioridade.descricao.trim() == '') {\r\n toast.error(`Descrição inválida`);\r\n return false;\r\n }\r\n\r\n //valida o campo tempoParaExecucao\r\n if (isNaN(prioridade.tempoParaExecucao) || prioridade.tempoParaExecucao == undefined\r\n || prioridade.tempoParaExecucao == null) {\r\n toast.error(`Prazo horas inválido`);\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function InserirPrioridade(prioridade) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'Descricao': prioridade.descricao.trim(),\r\n 'CorHex': document.getElementById('colorInput').value,\r\n 'TempoParaExecucao': parseInt(prioridade.tempoParaExecucao)\r\n }\r\n\r\n dispatch(InserirPrioridadeRequest(data))\r\n }\r\n\r\n function AlterarPrioridade(prioridade) {\r\n\r\n let data = {\r\n 'Id': prioridade.id,\r\n 'Descricao': prioridade.descricao.trim(),\r\n 'CorHex': document.getElementById('colorInput').value,\r\n 'TempoParaExecucao': parseInt(prioridade.tempoParaExecucao)\r\n };\r\n\r\n dispatch(AlterarPrioridadeRequest(data))\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Prioridade\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregando ?\r\n
\r\n\r\n (\r\n <>\r\n \r\n \r\n ),\r\n filtering: false,\r\n render: rowData =>\r\n \r\n
\r\n },\r\n {\r\n title: 'Descricao', field: 'descricao', sorting: true, editPlaceholder: 'descrição',\r\n validate: rowData => {\r\n if (rowData.descricao === undefined || rowData.descricao.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n } else if (rowData.descricao.trim().length > 150) {\r\n return \"A descrição não pode conter mais que 150 caracteres\"\r\n }\r\n return true\r\n }, cellStyle: { width: '45%' },\r\n\r\n },\r\n {\r\n title: 'Tempo para Execução', type: \"numeric\", align: \"left\", field: 'tempoParaExecucao', sorting: true, editPlaceholder: 'tempo',\r\n validate: rowData => {\r\n if (rowData.tempoParaExecucao === undefined) {\r\n return \"Campo Obrigatório\"\r\n }\r\n return true\r\n }, cellStyle: { width: '45%' }\r\n }\r\n ]}\r\n data={\r\n listaPrioridade != undefined ?\r\n listaPrioridade.map(prioridade => {\r\n return {\r\n id: prioridade.id,\r\n descricao: prioridade.descricao,\r\n corHex: prioridade.corHex,\r\n tempoParaExecucao: prioridade.tempoParaExecucao\r\n }\r\n })\r\n :\r\n []\r\n }\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n editable={{\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n InserirPrioridade(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n onRowUpdate: (newRow, oldRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AlterarPrioridade(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n onRowDelete: oldData => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n ExcluirPrioridade(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n
\r\n :\r\n \r\n }\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","export function ListarEmpenhoRequest() {\r\n return {\r\n type: 'LISTAR_EMPENHO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarEmpenhoResponse(listaEmpenho) {\r\n return {\r\n type: 'LISTAR_EMPENHO_RESPONSE',\r\n listaEmpenho\r\n }\r\n}\r\n\r\nexport function BuscarEmpenhoPorIdRequest(id) {\r\n return {\r\n type: 'BUSCAR_EMPENHO_POR_ID_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function BuscarEmpenhoPorIdResponse(empenhoCompleto) {\r\n return {\r\n type: 'BUSCAR_EMPENHO_POR_ID_RESPONSE',\r\n empenhoCompleto\r\n }\r\n}\r\n\r\nexport function InserirEmpenhoRequest(data) {\r\n return {\r\n type: 'INSERIR_EMPENHO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarEmpenhoRequest(data) {\r\n return {\r\n type: 'ALTERAR_EMPENHO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirEmpenhoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_EMPENHO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function LimparEmpenho() {\r\n return {\r\n type: 'LIMPAR_EMPENHO'\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}\r\n\r\nexport function TransferirAfRequest(data) {\r\n return {\r\n type: 'TRANSFERIR_AF_REQUEST',\r\n data\r\n }\r\n}\r\n\r\n\r\nexport function TransferirAfDefinitivaParcialRequest(data) {\r\n return {\r\n type: 'TRANSFERIR_AF_DEFINITIVA_PARCIAL_REQUEST',\r\n data\r\n }\r\n}","export function ListarStatusEmpenhoRequest() {\r\n return {\r\n type: 'LISTAR_STATUS_EMPENHO_REQUEST'\r\n }\r\n }\r\n \r\n export function ListarStatusEmpenhoResponse(listaStatusEmpenho) {\r\n return {\r\n type: 'LISTAR_STATUS_EMPENHO_RESPONSE',\r\n listaStatusEmpenho\r\n }\r\n }\r\n \r\n export function InserirStatusEmpenhoRequest(data) {\r\n return {\r\n type: 'INSERIR_STATUS_EMPENHO_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function AlterarStatusEmpenhoRequest(data) {\r\n return {\r\n type: 'ALTERAR_STATUS_EMPENHO_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function ExcluirStatusEmpenhoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_STATUS_EMPENHO_REQUEST',\r\n id\r\n }\r\n }\r\n \r\n export function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n }","import { Col, Button, Card } from \"react-bootstrap\";\r\nimport { FaMoneyCheckAlt } from \"react-icons/fa\";\r\nimport { FaSearchPlus } from \"react-icons/fa\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { ListarEmpenhoRequest, AlterarEmpenhoRequest, InserirEmpenhoRequest } from '../../../store/modules/empenho/actions';\r\nimport { ListarContratoRequest } from '../../../store/modules/contrato/actions';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory, Link } from \"react-router-dom\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { toast } from \"react-toastify\";\r\nimport { ListarStatusEmpenhoRequest } from \"../../../store/modules/statusEmpenho/actions\";\r\nimport { ListarFornecedorRequest } from '../../../store/modules/fornecedor/actions';\r\nimport { ListarContratoFornecedorRequest } from \"../../../store/modules/contratoFornecedor/actions\";\r\nimport { AtualizarToken } from \"../../../store/modules/global/actions\";\r\nimport { FaPlus } from \"react-icons/fa\";\r\nimport Select from 'react-select';\r\nimport Header from '../../../components/Header/header';\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\nimport Cookies from 'universal-cookie';\r\nimport urlBase from '../../../services/rotas';\r\n\r\nexport default function Listar() {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const tableRef = React.createRef();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n const cookies = new Cookies();\r\n\r\n const listaEmpenho = useSelector(state => state.empenho.listaEmpenho);\r\n const listaFornecedor = useSelector(state => state.fornecedor.listaFornecedor);\r\n const listaContrato = useSelector(state => state.contrato.listaContrato);\r\n const carregando = useSelector(state => state.empenho.carregando);\r\n const listaStatusEmpenho = useSelector(state => state.statusEmpenho.listaStatusEmpenho);\r\n const listaContratoFornecedor = useSelector(state => state.contratoFornecedor.listaContratoFornecedor);\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [idContrato, setIdContrato] = useState('');\r\n const [selectFornecedor, setSelectFornecedor] = useState('');\r\n const [selectContrato, setSelectContrato] = useState('');\r\n const [id, setId] = useState(0);\r\n\r\n const listaRelacao = listaContratoFornecedor != undefined && idContrato != '' ?\r\n listaContratoFornecedor.filter(y => y.idContrato == idContrato)\r\n :\r\n [];\r\n\r\n const options = listaContrato != undefined ?\r\n listaContrato.map(contrato => ({\r\n value: contrato.id, label: contrato.id + \" - \" + contrato.descricao\r\n }))\r\n :\r\n [];\r\n\r\n const optionsFornecedor =\r\n listaFornecedor != undefined && listaRelacao != undefined ?\r\n listaRelacao.map(y => {\r\n return {\r\n value: y.idFornecedor, label: listaFornecedor.filter(x => x.id == y.idFornecedor)[0].nomeFornecedor\r\n }\r\n })\r\n :\r\n [];\r\n\r\n const totalFornecedores =\r\n listaFornecedor != undefined ?\r\n listaFornecedor.map(y => {\r\n return {\r\n value: y.id, label: y.nomeFornecedor\r\n }\r\n })\r\n :\r\n [];\r\n\r\n //Permissão de Visualizar\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n const [excluir, setExcluir] = useState(false);\r\n useEffect(() => {\r\n if (token.role.filter(r => r == \"EmpenhoMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"EmpenhoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"EmpenhoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n if (token.role.filter(r => r == \"EmpenhoExcluir\").length == 1) {\r\n setExcluir(true);\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarStatusEmpenhoRequest());\r\n dispatch(ListarEmpenhoRequest());\r\n dispatch(ListarFornecedorRequest());\r\n dispatch(ListarContratoFornecedorRequest());\r\n dispatch(ListarContratoRequest());\r\n dispatch(AtualizarToken());\r\n\r\n }, [])\r\n\r\n let selectTextContrato = '';\r\n let selectSelecionadoContrato = [];\r\n let selectTextFornecedor = '';\r\n let selectSelecionadoFornecedor = [];\r\n\r\n function ValidacoesInserir(empenho) {\r\n\r\n if (empenho.observacao !== undefined) {\r\n if (empenho.observacao.trim().length > 500) {\r\n toast.error('A observação não pode conter mais que 500 caracteres');\r\n return false;\r\n }\r\n }\r\n\r\n if (empenho.descricao == ' ' || empenho.descricao == ''\r\n || empenho.descricao == null || empenho.descricao == undefined) {\r\n toast.error(`Descrição Inválida`);\r\n return false;\r\n }\r\n\r\n if (empenho.descricao.length > 200) {\r\n toast.error(`A descrição não pode conter mais que 200 caracteres`);\r\n return false;\r\n }\r\n\r\n if (!(empenho.numeroNotaFiscal == ' ' || empenho.numeroNotaFiscal == ''\r\n || empenho.numeroNotaFiscal == null || empenho.numeroNotaFiscal == undefined)) {\r\n\r\n if (empenho.numeroNotaFiscal.length > 50) {\r\n toast.error(`O número da nota fiscal não pode conter mais que 50 caracteres`);\r\n return false;\r\n }\r\n }\r\n\r\n if (document.getElementById('idSelectContrato') != null && listaContrato != undefined) {\r\n selectTextContrato = document.getElementById('idSelectContrato').innerText;\r\n selectSelecionadoContrato = listaContrato.filter(contrato => contrato.id + \" - \" + contrato.descricao == selectTextContrato);\r\n }\r\n\r\n let nome = '';\r\n\r\n if (document.getElementById('idSelectFornecedor') != null && listaContratoFornecedor != undefined && listaRelacao.length > 0) {\r\n selectTextFornecedor = document.getElementById('idSelectFornecedor').innerText;\r\n selectSelecionadoFornecedor = listaFornecedor.filter(x => x.nomeFornecedor == selectTextFornecedor)\r\n\r\n if (selectTextFornecedor !== undefined && selectSelecionadoFornecedor.length === 0) {\r\n nome = selectTextFornecedor.split('\\n', selectTextFornecedor.length);\r\n selectSelecionadoFornecedor = listaFornecedor.filter(x => x.nomeFornecedor == nome[1])\r\n }\r\n }\r\n\r\n if (listaRelacao != undefined && selectSelecionadoContrato.length > 0 && selectSelecionadoFornecedor.length > 0) {\r\n var listaVerifica =\r\n listaRelacao.filter(contratoFornecedor => contratoFornecedor.idContrato == parseInt(selectSelecionadoContrato[0].id)\r\n && contratoFornecedor.idFornecedor == parseInt(selectSelecionadoFornecedor[0].id));\r\n if (listaVerifica.length > 0) {\r\n } else {\r\n toast.error(`Fornecedor não está presente no contrato id: ${parseInt(selectSelecionadoContrato[0].id)}`);\r\n return false;\r\n }\r\n }\r\n\r\n if (selectSelecionadoContrato.length > 0 && selectSelecionadoFornecedor.length > 0) {\r\n return true;\r\n }\r\n else {\r\n toast.error(`Contrato ou fornecedor não selecionado.`);\r\n return false;\r\n }\r\n\r\n }\r\n\r\n function InserirEmpenho(empenho) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'DataAlteracao': moment((new Date())).add('hours', 2),\r\n 'DataInclusao': moment((new Date())).add('hours', 2),\r\n 'IdUsuario': parseInt(usuario.id),\r\n 'Descricao': empenho.descricao.trim(),\r\n 'Observacao': empenho.observacao != undefined ? empenho.observacao : '',\r\n 'NumeroNotaFiscal': empenho.numeroNotaFiscal == ' ' || empenho.numeroNotaFiscal == ''\r\n || empenho.numeroNotaFiscal == null || empenho.numeroNotaFiscal == undefined ? '' : empenho.numeroNotaFiscal,\r\n 'ValorNotaFiscal': 0,\r\n 'IdContrato': parseInt(selectSelecionadoContrato[0].id),\r\n 'IdFornecedor': parseInt(selectSelecionadoFornecedor[0].id),\r\n 'DataEmpenho': empenho.dataEmpenho,\r\n 'DataEmpenhoFinal': empenho.dataEmpenhoFinal,\r\n }\r\n dispatch(InserirEmpenhoRequest(data));\r\n\r\n }\r\n\r\n function ValidacoesAlterar(empenho) {\r\n\r\n if (empenho.observacao !== undefined) {\r\n if (empenho.observacao.trim().length > 500) {\r\n toast.error('A observação não pode conter mais que 500 caracteres');\r\n return false;\r\n }\r\n }\r\n\r\n if (empenho.descricao == ' ' || empenho.descricao == ''\r\n || empenho.descricao == null || empenho.descricao == undefined) {\r\n toast.error(`Descrição Inválida`);\r\n return false;\r\n }\r\n\r\n if (empenho.descricao.length > 200) {\r\n toast.error(`A descrição não pode conter mais que 200 caracteres`);\r\n return false;\r\n }\r\n\r\n if (!(empenho.numeroNotaFiscal.trim() == ''\r\n || empenho.numeroNotaFiscal == null || empenho.numeroNotaFiscal == undefined)) {\r\n\r\n if (empenho.numeroNotaFiscal.length > 50) {\r\n toast.error(`O número da nota fiscal não pode conter mais que 50 caracteres`);\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function AlterarEmpenho(empenho) {\r\n\r\n let data = {\r\n 'Id': empenho.id,\r\n 'DataAlteracao': moment((new Date())).add('hours', 2),\r\n 'DataInclusao': new Date(empenho.dataInclusaoSemFormato),\r\n 'IdUsuario': parseInt(empenho.idUsuario),\r\n 'Descricao': empenho.descricao.trim(),\r\n 'Observacao': empenho.observacao,\r\n 'NumeroNotaFiscal': empenho.numeroNotaFiscal.trim() == ''\r\n || empenho.numeroNotaFiscal == null || empenho.numeroNotaFiscal == undefined ? '' : empenho.numeroNotaFiscal,\r\n 'ValorNotaFiscal': empenho.valorNotaFiscal,\r\n 'IdContrato': empenho.idContrato,\r\n 'IdFornecedor': empenho.idFornecedor,\r\n 'DataEmpenho': empenho.dataEmpenho,\r\n 'DataEmpenhoFinal': empenho.dataEmpenhoFinal,\r\n }\r\n\r\n dispatch(AlterarEmpenhoRequest(data));\r\n }\r\n\r\n function MudarFornecedor(e, props) {\r\n setIdContrato(e.value);\r\n return props.onChange(e.value);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Empenhos\r\n \r\n \r\n \r\n
\r\n\r\n }\r\n columns={[\r\n {\r\n title: 'Número do Empenho', field: 'id', cellStyle: {\r\n width: '10%',\r\n },\r\n sorting: true,\r\n editable: 'never'\r\n },\r\n {\r\n title: 'Descrição', field: 'descricao', cellStyle: {\r\n width: '11.25%',\r\n },\r\n sorting: false,\r\n validate: rowData => {\r\n if (rowData.descricao === undefined || rowData.descricao.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n } else if (rowData.descricao.trim().length > 200) {\r\n return \"A descrição não pode conter mais que 200 caracteres\"\r\n }\r\n return true\r\n }\r\n },\r\n {\r\n title: 'Contrato', field: 'idContrato', cellStyle: {\r\n width: '11.25%',\r\n }, editable: 'onAdd',\r\n filtering: false,\r\n sorting: false,\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value ? e.label : false)\r\n }}\r\n />\r\n )\r\n },\r\n lookup:\r\n listaContrato != undefined ?\r\n listaContrato.map(contrato => {\r\n return {\r\n id: contrato.id, descricao: contrato.id + \" - \" + contrato.descricao\r\n }\r\n }).reduce(function (acc, cur, i) {\r\n acc[cur.id] = cur.descricao;\r\n return acc;\r\n }, {})\r\n :\r\n null,\r\n editComponent: (props) => (\r\n {\r\n return {\r\n value: props.value, label: listaFornecedor.filter(x => x.id == props.value).nomeFornecedor\r\n }\r\n })\r\n : 'Selecione...'\r\n }\r\n />\r\n ),\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value ? e.value.toString() : false)\r\n }}\r\n />\r\n )\r\n },\r\n render: rowData => listaFornecedor != undefined ?\r\n listaFornecedor.filter(k => k.id == rowData.idFornecedor)[0].nomeFornecedor : rowData.idFornecedor\r\n },\r\n {\r\n title: 'Número Nota Fiscal', field: 'numeroNotaFiscal',\r\n sorting: false,\r\n cellStyle: {\r\n width: '11.25%',\r\n }\r\n },/*\r\n {\r\n title: 'Valor Nota Fiscal', field: 'valorNotaFiscal', cellStyle: {\r\n width: '10%',\r\n }, editable: 'never',\r\n grouping: false,\r\n render: rowData =>\r\n rowData.valorNotaFiscal === null ?\r\n null\r\n :\r\n rowData.valorNotaFiscal.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n })\r\n },\r\n /*{\r\n title: 'Soma das Faturas', field: 'somaDasFaturas', cellStyle: {\r\n width: '8%',\r\n }, editable: 'never',\r\n render: rowData =>\r\n rowData.somaDasFaturas === null || rowData.somaDasFaturas === undefined ?\r\n null\r\n :\r\n rowData.somaDasFaturas.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n })\r\n },\r\n {\r\n title: 'Valor Restante', field: 'valorRestante', cellStyle: {\r\n width: '8%',\r\n }, editable: 'never',\r\n render: rowData =>\r\n rowData.valorRestante === null || isNaN(rowData.valorRestante) ?\r\n null\r\n :\r\n rowData.valorRestante.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n })\r\n },*/\r\n {\r\n title: 'Usuario Criador', field: 'usuario', cellStyle: {\r\n width: '11.25%',\r\n },\r\n sorting: false,\r\n editable: 'never'\r\n },\r\n {\r\n title: 'Data Empenho', field: 'dataEmpenho', cellStyle: {\r\n width: '5.25%',\r\n },\r\n sorting: false,\r\n filtering: false,\r\n type: 'datetime'\r\n },\r\n {\r\n title: 'Data Empenho Final', field: 'dataEmpenhoFinal', cellStyle: {\r\n width: '5.25%',\r\n },\r\n sorting: false,\r\n filtering: false,\r\n type: 'datetime'\r\n },\r\n // {\r\n // title: 'Data Criação', field: 'dataInclusao', cellStyle: {\r\n // width: '5.25%',\r\n // },\r\n // sorting: false,\r\n // editable: 'never',\r\n // filtering: false,\r\n // },\r\n {\r\n title: 'Observação', field: 'observacao', cellStyle: {\r\n width: '11.25%',\r\n },\r\n sorting: false,\r\n validate: rowData => {\r\n if (rowData.observacao !== undefined) {\r\n if (rowData.observacao.trim().length > 500) {\r\n return \"A observação não pode conter mais que 500 caracteres\"\r\n }\r\n else if (rowData.observacao == ' ') {\r\n return \"Observação inválida\"\r\n }\r\n }\r\n return true;\r\n }\r\n },\r\n {\r\n title: 'Status', field: 'status', cellStyle: {\r\n width: '11.25%',\r\n },\r\n editable: 'never',\r\n sorting: false,\r\n render: rowData =>\r\n listaStatusEmpenho != undefined\r\n ?\r\n listaStatusEmpenho.filter(x => x.finalizaEmpenho == true).length > 0 &&\r\n listaStatusEmpenho.filter(x => x.finalizaEmpenho == true)[0].\r\n descricao === rowData.status ?\r\n
{rowData.status}
\r\n :\r\n listaStatusEmpenho.filter(x => x.cancelaEmpenho == true).length > 0 &&\r\n listaStatusEmpenho.filter(x => x.cancelaEmpenho == true)[0].\r\n descricao === rowData.status ?\r\n
{rowData.status}
\r\n :\r\n listaStatusEmpenho.filter(x => x.statusAprovaDuasPartes == true).length > 0 &&\r\n listaStatusEmpenho.filter(x => x.statusAprovaDuasPartes == true)[0].\r\n descricao + ' (Aprovada)' === rowData.status ?\r\n
{rowData.status}
\r\n :\r\n listaStatusEmpenho.filter(x => x.statusAprovaDuasPartes == true).length > 0 &&\r\n listaStatusEmpenho.filter(x => x.statusAprovaDuasPartes == true)[0].\r\n descricao + ' (Reprovada)' === rowData.status ?\r\n
{rowData.status}
\r\n :\r\n listaStatusEmpenho.filter(x => x.statusFaturamento == true).length > 0 &&\r\n listaStatusEmpenho.filter(x => x.statusFaturamento == true)[0].\r\n descricao + ' Finalizado' === rowData.status ?\r\n
{rowData.status}
\r\n :\r\n
{rowData.status}
\r\n :\r\n ''\r\n }\r\n ]}\r\n data={\r\n query =>\r\n new Promise((resolve, reject) => {\r\n fetch(`${urlBase}/api/Empenho/listarCompletoPaginacao`, {\r\n method: \"POST\",\r\n headers: new Headers({\r\n 'Authorization': JSON.parse(localStorage.getItem('token')) !== null ?\r\n `Bearer ${cookies.get('token')}${JSON.parse(localStorage.getItem('token')).tokenCodificado}`\r\n : '',\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }),\r\n body: JSON.stringify({\r\n Pagina: query.page + 1,\r\n NumeroPorPagina: query.pageSize,\r\n NumeroEmpenho: query.filters.filter(c => c.column.field == \"id\").length > 0 ? query.filters.filter(c => c.column.field == \"id\")[0].value : null,\r\n Descricao: query.filters.filter(c => c.column.field == \"descricao\").length > 0 ? query.filters.filter(c => c.column.field == \"descricao\")[0].value : null,\r\n NumeroNotaFiscal: query.filters.filter(c => c.column.field == \"numeroNotaFiscal\").length > 0 ? query.filters.filter(c => c.column.field == \"numeroNotaFiscal\")[0].value : null,\r\n ValorNotaFiscal: query.filters.filter(c => c.column.field == \"valorNotaFiscal\").length > 0 ? query.filters.filter(c => c.column.field == \"valorNotaFiscal\")[0].value : null,\r\n Usuario: query.filters.filter(c => c.column.field == \"usuario\").length > 0 ? query.filters.filter(c => c.column.field == \"usuario\")[0].value : null,\r\n Observacao: query.filters.filter(c => c.column.field == \"observacao\").length > 0 ? query.filters.filter(c => c.column.field == \"observacao\")[0].value : null,\r\n Status: query.filters.filter(c => c.column.field == \"status\").length > 0 ? query.filters.filter(c => c.column.field == \"status\")[0].value : null,\r\n OrdenacaoIdEmpenho:\r\n query.orderBy != undefined && query.orderBy.field == \"id\"\r\n ?\r\n query.orderBy.tableData.groupSort == \"asc\"\r\n ?\r\n true\r\n :\r\n false\r\n :\r\n false,\r\n GeralFiltro: query.search,\r\n }),\r\n\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve({\r\n data:\r\n result.result.data != undefined ?\r\n result.result.data.map(empenho => {\r\n return {\r\n id: empenho.id,\r\n //valorRestante: isNaN(empenho.valorNotaFiscal - empenho.valorFaturamentoTotal) ? null : empenho.valorNotaFiscal - empenho.valorFaturamentoTotal,\r\n //somaDasFaturas: empenho.valorFaturamentoTotal,\r\n idFornecedor: empenho.idFornecedor,\r\n descricao: empenho.descricao,\r\n observacao: empenho.observacao,\r\n usuario: empenho.usuario.nome,\r\n idUsuario: empenho.idUsuario,\r\n // dataInclusao: moment(empenho.dataInclusao).format('L LT'),\r\n dataEmpenho: empenho.dataEmpenho,\r\n dataEmpenhoFinal: empenho.dataEmpenhoFinal,\r\n numeroNotaFiscal: empenho.numeroNotaFiscal,\r\n valorNotaFiscal: empenho.valorNotaFiscal,\r\n status: empenho.statusAtual,\r\n dataInclusaoSemFormato: empenho.dataInclusao,\r\n idContrato: empenho.idContrato\r\n }\r\n })\r\n :\r\n []\r\n\r\n ,\r\n page: result.result.pagina - 1,\r\n totalCount: result.result.total,\r\n })\r\n })\r\n })\r\n }\r\n \r\n actions={[\r\n rowData => ({\r\n icon: () => ,\r\n onClick: (event, rowData) => { history.push(`/alterarGeralEmpenho/${rowData.id}`); }\r\n })\r\n ]}\r\n options={{\r\n minBodyHeight: 500,\r\n sorting: true,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n addRowPosition: \"first\",\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n}","import { Page, Text, View, Document, StyleSheet, Image, Font } from '@react-pdf/renderer';\r\nimport { useEffect, useState } from \"react\";\r\nimport img from '../../assets/login/img_login.png';\r\nimport moment from 'moment';\r\nimport cabecalho from '../../assets/novoCabecalhoCor.jpg';\r\nimport rodape from '../../assets/novoRodapeCor.jpg';\r\n\r\n\r\nconst styles = StyleSheet.create({\r\n page: {\r\n flexDirection: 'row',\r\n backgroundColor: '#fff',\r\n fontSize: '10',\r\n paddingBottom: 65,\r\n },\r\n titulo: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontWeight: 'bold',\r\n fontSize: '15',\r\n },\r\n linha: {\r\n borderBottom: '1px solid #0000',\r\n width: '100%',\r\n },\r\n espaco: {\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n },\r\n table: {\r\n width: '100%',\r\n },\r\n section: {\r\n marginBottom: 10,\r\n marginLeft: 10,\r\n marginRight: 10,\r\n paddingBottom: 10,\r\n paddingRight: 10,\r\n paddingLeft: 10,\r\n flexGrow: 1,\r\n },\r\n row: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n },\r\n\r\n rowCabecalho: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 2,\r\n paddingBottom: 2,\r\n },\r\n bold: {\r\n fontFamily: 'Helvetica-Bold',\r\n fontWeight: 'bold',\r\n },\r\n bordaCompleta: {\r\n border: '1px solid #0000',\r\n margin: 1\r\n },\r\n comeco: {\r\n width: \"25%\",\r\n },\r\n\r\n meio: {\r\n width: \"50%\",\r\n display: 'flex',\r\n textAlign: 'center',\r\n alignItems: 'center'\r\n },\r\n linhaCompletaCentralizada: {\r\n width: \"100%\",\r\n display: 'flex',\r\n textAlign: 'center',\r\n alignItems: 'center'\r\n },\r\n fim: {\r\n width: \"25%\",\r\n },\r\n linhaMetadeComeco: {\r\n width: \"50%\",\r\n },\r\n linhaMetadeFim: {\r\n width: \"50%\",\r\n },\r\n linhaSemiCompleta: {\r\n width: \"85%\",\r\n },\r\n fimLinhaSemiCompleta: {\r\n width: \"15%\",\r\n },\r\n linhaCompleta: {\r\n width: \"100%\",\r\n },\r\n width8: {\r\n width: \"8%\"\r\n },\r\n width10: {\r\n width: \"10%\"\r\n },\r\n width35: {\r\n width: \"35%\"\r\n },\r\n width15: {\r\n width: \"15%\"\r\n },\r\n width16: {\r\n width: \"16%\"\r\n },\r\n width20: {\r\n width: \"20%\"\r\n },\r\n width80: {\r\n width: \"80%\"\r\n },\r\n cabecalho: {\r\n color: '#fff',\r\n backgroundColor: '#212529',\r\n bordercolor: '#32383e'\r\n },\r\n cinza: {\r\n backgroundColor: '#e9ecef',\r\n },\r\n logo: {\r\n width: '200',\r\n height: '100'\r\n },\r\n top20: {\r\n top: '20'\r\n },\r\n top40: {\r\n top: '40'\r\n },\r\n top60: {\r\n top: '60'\r\n },\r\n recuo: {\r\n textIndent: '40px'\r\n },\r\n centralizarTexto: {\r\n display: 'flex',\r\n textAlign: 'center',\r\n alignItems: 'center'\r\n },\r\n alinharBottom: {\r\n position: 'absolute',\r\n bottom: '0',\r\n\r\n },\r\n bottom5: {\r\n marginBottom: '5px'\r\n },\r\n bottom30: {\r\n marginBottom: '30px'\r\n },\r\n bottom65: {\r\n marginBottom: '65px'\r\n },\r\n bottom40: {\r\n marginBottom: '45px'\r\n },\r\n fontSize5: {\r\n fontSize: '5'\r\n },\r\n fontSize4: {\r\n fontSize: '4'\r\n },\r\n fontSize8: {\r\n fontSize: '8'\r\n },\r\n fontSize45: {\r\n fontSize: '4.5'\r\n },\r\n fontSize2: {\r\n fontSize: '2'\r\n },\r\n width50: {\r\n width: '50'\r\n },\r\n width5: {\r\n width: '5%'\r\n },\r\n flex: {\r\n flex: 1\r\n },\r\n maxHeight: {\r\n maxHeight: '50px'\r\n },\r\n pageNumber: {\r\n position: 'absolute',\r\n fontSize: 12,\r\n bottom: 30,\r\n left: 0,\r\n right: 0,\r\n textAlign: 'center',\r\n color: 'grey',\r\n },\r\n comecoMaior: {\r\n width: \"40%\",\r\n },\r\n alinharBottom: {\r\n position: 'absolute',\r\n bottom: '0',\r\n padding: '5',\r\n },\r\n rodape: {\r\n width: '585',\r\n height: '50',\r\n },\r\n fimMetade: {\r\n width: \"35%\",\r\n },\r\n espacoGrande: {\r\n paddingTop: '10',\r\n paddingBottom: '10',\r\n },\r\n});\r\n\r\n\r\nexport default function PdfEmpenho({ data, assinante }) {\r\n\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [])\r\n\r\n\r\n return (\r\n \r\n\r\n {\r\n data.listaDescricao.length > 0 ?\r\n\r\n // Página Resumo\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TERMO DE RECEBIMENTO DE OBRA - TRO Nº {data.descricaoEmpenho}\r\n \r\n \r\n \r\n \r\n CONTRATO: {data.descricaoContrato}\r\n \r\n \r\n \r\n \r\n \r\n RESUMO GERAL\r\n \r\n \r\n \r\n \r\n \r\n Periodo: {moment(data.dataEmpenho).format('L')} até {moment(data.dataEmpenhoFinal).format('L')}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n DESCRIÇÃO\r\n VALOR (R$)\r\n \r\n \r\n {\r\n data.listaDescricao && data.listaDescricao.length > 0 ?\r\n data.listaDescricao.map((c, i) => (\r\n \r\n {\r\n (i + 1) % 2 == 0\r\n ?\r\n \r\n {c}\r\n {data.listaValores[i]}\r\n \r\n :\r\n \r\n {c}\r\n {data.listaValores[i]}\r\n \r\n }\r\n\r\n \r\n \r\n ))\r\n :\r\n ''\r\n }\r\n \r\n \r\n \r\n {\r\n data != null && data.listaValores.length > 2 && data.listaValores[2].indexOf('-') == 0 ?\r\n \"* Diferença a favor da Prestadora de Serviços\"\r\n :\r\n \"* Diferença a favor da Prefeitura Municipal de Fortaleza\"\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TOTAL DO TRO {data.descricaoEmpenho}\r\n {data.totalFinal}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Fortaleza, {moment(data.dataEmpenhoFinal).format('LL')}\r\n \r\n \r\n\r\n \r\n De Acordo, \r\n \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n \r\n \r\n {assinante}\r\n \r\n \r\n Cândido Araújo Martins Neto\r\n \r\n \r\n \r\n \r\n \r\n Secretário da Secretaria de Conservação e Serviços Públicos\r\n \r\n \r\n Coordenador da COEIP\r\n \r\n \r\n \r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n \r\n :\r\n // Página Resumo sem valores\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TERMO DE RECEBIMENTO DE OBRA - TRO Nº {data.descricaoEmpenho}\r\n \r\n \r\n \r\n \r\n CONTRATO: {data.descricaoContrato}\r\n \r\n \r\n \r\n \r\n \r\n RESUMO GERAL\r\n \r\n \r\n \r\n \r\n \r\n Periodo: {moment(data.dataEmpenho).format('L')} até {moment(data.dataEmpenhoFinal).format('L')}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n DESCRIÇÃO\r\n VALOR (R$)\r\n \r\n \r\n \r\n Nenhum resultado encontrado\r\n R$ 0,00\r\n \r\n \r\n \r\n \r\n {\r\n data != null && data.listaValores.length > 2 && data.listaValores[2].indexOf('-') == 0 ?\r\n \"* Diferença a favor da Prestadora de Serviços\"\r\n :\r\n \"* Diferença a favor da Prefeitura Municipal de Fortaleza\"\r\n }\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TOTAL DO TRO {data.descricaoEmpenho}\r\n {data.totalFinal}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Fortaleza, {moment(data.dataEmpenhoFinal).format('LL')}\r\n \r\n \r\n\r\n \r\n De Acordo, \r\n \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n \r\n \r\n {assinante}\r\n \r\n \r\n Cândido Araújo Martins Neto\r\n \r\n \r\n \r\n \r\n \r\n Secretário da Secretaria de Conservação e Serviços Públicos\r\n \r\n \r\n Coordenador da COEIP\r\n \r\n \r\n \r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n \r\n }\r\n {\r\n data.listaValorEntregaDefinitiva.length > 0 ?\r\n\r\n // Página Entrega Definitiva\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TERMO DE RECEBIMENTO DE OBRA - TRO Nº {data.descricaoEmpenho} (A - Entrega Definitiva)\r\n \r\n \r\n \r\n \r\n Em {moment(data.dataEmpenhoFinal).format('LL')} constatamos a execução dos\r\n Serviços de obras, conforme as Autorizações de Serviço - AS, a saber:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n AF Nº\r\n QTD DE UDS\r\n % FATURADA NESTE TRO\r\n VALOR A FATURAR\r\n DIFERENÇA\r\n DATA DE RECEBIMENTO DA OBRA\r\n OBSERVAÇÃO\r\n \r\n \r\n {\r\n data.listaValorEntregaDefinitiva && data.listaValorEntregaDefinitiva.length > 0 ?\r\n data.listaValorEntregaDefinitiva.map((c, i) => (\r\n \r\n {\r\n (i + 1) % 2 == 0\r\n ?\r\n \r\n {c.idAutorizacaoFornecimento}\r\n {c.valor}\r\n {c.porcentagem}\r\n {c.valor}\r\n {c.diferenca}\r\n {moment(c.data).format('L')}\r\n {c.observacao}\r\n \r\n :\r\n \r\n {c.idAutorizacaoFornecimento}\r\n {c.valor}\r\n {c.porcentagem}\r\n {c.valor}\r\n {c.diferenca}\r\n {moment(c.data).format('L')}\r\n {c.observacao}\r\n \r\n\r\n }\r\n \r\n \r\n ))\r\n :\r\n ''\r\n }\r\n \r\n {\r\n data.listaValores != null && data.listaValores.length > 0 ?\r\n \r\n \r\n \r\n \r\n TOTAL DO TRO {data.descricaoEmpenho} (A - Entrega Definitiva)\r\n {data.listaValores[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 As obras autorizadas conforme AS acima, foram executadas em conformidade com seus respectivos\r\n orçamentos, ressaltando as obras relacionadas na planilha TRO(Diferenças), dentro dos prazos estabelecidos,\r\n ficando a Empresa FM RODRIGUES {`&`} CIA LTDA. autorizada a incluir a cobrança da fatura referente a estes\r\n serviços no relatório até a data de {moment(data.dataEmpenhoFinal).format('L')}.\r\n \r\n \r\n \r\n \r\n Total de AS. Definitivas: {data.listaValorEntregaDefinitiva.length}\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n De Acordo, \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n \r\n \r\n {assinante}\r\n \r\n \r\n Cândido Araújo Martins Neto\r\n \r\n \r\n \r\n \r\n \r\n Secretário da Secretaria de Conservação e Serviços Públicos\r\n \r\n \r\n Coordenador da COEIP\r\n \r\n \r\n \r\n \r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n \r\n :\r\n // Página Entrega Definitiva sem valores\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TERMO DE RECEBIMENTO DE OBRA - TRO Nº {data.descricaoEmpenho} (A - Entrega Definitiva)\r\n \r\n \r\n \r\n \r\n Em {moment(data.dataEmpenhoFinal).format('LL')} constatamos a execução dos\r\n Serviços de obras, conforme as Autorizações de Serviço - AS, a saber:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n AF Nº\r\n QTD DE UDS\r\n % FATURADA NESTE TRO\r\n VALOR A FATURAR\r\n DIFERENÇA\r\n DATA DE RECEBIMENTO DA OBRA\r\n OBSERVAÇÃO\r\n \r\n \r\n \r\n Nenhum resultado encontrado\r\n \r\n \r\n \r\n \r\n \r\n \r\n TOTAL DO TRO {data.descricaoEmpenho} (A - Entrega Definitiva)\r\n R$ 0,00\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n As obras autorizadas conforme AS acima, foram executadas em conformidade com seus respectivos\r\n orçamentos, ressaltando as obras relacionadas na planilha TRO(Diferenças), dentro dos prazos estabelecidos,\r\n ficando a Empresa FM RODRIGUES {`&`} CIA LTDA. autorizada a incluir a cobrança da fatura referente a estes\r\n serviços no relatório até a data de {moment(data.dataEmpenhoFinal).format('L')}.\r\n \r\n \r\n \r\n \r\n Total de AS. Definitivas: {data.listaValorEntregaDefinitiva.length}\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n De Acordo, \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n \r\n \r\n {assinante}\r\n \r\n \r\n Cândido Araújo Martins Neto\r\n \r\n \r\n \r\n \r\n \r\n Secretário da Secretaria de Conservação e Serviços Públicos\r\n \r\n \r\n Coordenador da COEIP\r\n \r\n \r\n \r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n \r\n }\r\n {\r\n data.listaValorEntregaParcial.length > 0 ?\r\n\r\n // Página Entrega Parcial\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TERMO DE RECEBIMENTO DE OBRA - TRO Nº {data.descricaoEmpenho} (B - Entrega Parcial)\r\n \r\n \r\n \r\n \r\n Em {moment(data.dataEmpenhoFinal).format('LL')} constatamos a execução dos\r\n Serviços de obras, conforme as Autorizações de Serviço - AS, a saber:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n AF Nº\r\n TOTAL\r\n NESTE EMP.\r\n ACUM. EMP. ANT.(%)\r\n NEST EMP.(%)\r\n ACUMULADA(%)\r\n VALOR A FATURAR R$\r\n DATA\r\n STATUS\r\n OBSERVAÇÃO\r\n \r\n \r\n {\r\n data.listaValorEntregaParcial && data.listaValorEntregaParcial.length > 0 ?\r\n data.listaValorEntregaParcial.map((c, i) => (\r\n \r\n {\r\n (i + 1) % 2 == 0\r\n ?\r\n \r\n {c.idAutorizacaoFornecimento}\r\n {c.total}\r\n {c.empenhoAtual}\r\n {c.porcentagemEmpenhoAnterior}\r\n {c.porcentagemEmpenhoAtual}\r\n {c.porcentagemAcumulada}\r\n {c.valorFaturar}\r\n {moment(c.data).format('L')}\r\n {c.status}\r\n {c.observacao}\r\n \r\n :\r\n \r\n {c.idAutorizacaoFornecimento}\r\n {c.total}\r\n {c.empenhoAtual}\r\n {c.porcentagemEmpenhoAnterior}\r\n {c.porcentagemEmpenhoAtual}\r\n {c.porcentagemAcumulada}\r\n {c.valorFaturar}\r\n {moment(c.data).format('L')}\r\n {c.status}\r\n {c.observacao}\r\n \r\n }\r\n \r\n \r\n ))\r\n :\r\n ''\r\n }\r\n \r\n {\r\n data.listaValores != null && data.listaValores.length > 0 ?\r\n \r\n \r\n \r\n \r\n TOTAL DO TRO {data.descricaoEmpenho} (B - Entrega Parcial)\r\n {data.listaValores[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 Total de AS. Parciais: {data.listaValorEntregaParcial.length}\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n De Acordo, \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n \r\n \r\n {assinante}\r\n \r\n \r\n Cândido Araújo Martins Neto\r\n \r\n \r\n \r\n \r\n \r\n Secretário da Secretaria de Conservação e Serviços Públicos\r\n \r\n \r\n Coordenador da COEIP\r\n \r\n \r\n \r\n \r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n \r\n :\r\n // Página Entrega Parcial sem valores\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TERMO DE RECEBIMENTO DE OBRA - TRO Nº {data.descricaoEmpenho} (B - Entrega Parcial)\r\n \r\n \r\n \r\n \r\n Em {moment(data.dataEmpenhoFinal).format('LL')} constatamos a execução dos\r\n Serviços de obras, conforme as Autorizações de Serviço - AS, a saber:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n AF Nº\r\n TOTAL\r\n NESTE EMP.\r\n ACUM. EMP. ANT.(%)\r\n NEST EMP.(%)\r\n ACUMULADA(%)\r\n VALOR A FATURAR R$\r\n DATA\r\n STATUS\r\n OBSERVAÇÃO\r\n \r\n \r\n \r\n Nenhum resultado encontrado\r\n \r\n \r\n \r\n \r\n \r\n \r\n TOTAL DO TRO {data.descricaoEmpenho} (B - Entrega Parcial)\r\n R$ 0,00\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Total de AS. Parciais: {data.listaValorEntregaParcial.length}\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n De Acordo, \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n \r\n \r\n {assinante}\r\n \r\n \r\n Cândido Araújo Martins Neto\r\n \r\n \r\n \r\n \r\n \r\n Secretário da Secretaria de Conservação e Serviços Públicos\r\n \r\n \r\n Coordenador da COEIP\r\n \r\n \r\n \r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n \r\n }\r\n {\r\n data.listaValorEntregaDiferenca.length > 0 ?\r\n\r\n // Página Diferenç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 TERMO DE RECEBIMENTO DE OBRA - TRO Nº {data.descricaoEmpenho} (C - Diferença)\r\n \r\n \r\n \r\n \r\n Em {moment(data.dataEmpenhoFinal).format('LL')} constatamos,\r\n após fiscalização desta SCSP, diferenças nos quantitativos dos seguintes orçamentos / AF,\r\n conforme o que preceitua a cláusula décima do contrato {data.idContrato}, assinado entre as partes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n AF Nº\r\n ITEM\r\n QUANT. FISCALIZADA\r\n DIFERENÇA\r\n VALOR\r\n VALOR A DEDUZIR (R$)\r\n \r\n \r\n {\r\n data.listaValorEntregaDiferenca && data.listaValorEntregaDiferenca.length > 0 ?\r\n data.listaValorEntregaDiferenca.map((c, i) => (\r\n \r\n {\r\n (i + 1) % 2 == 0\r\n ?\r\n \r\n {c.idAutorizacaoFornecimento}\r\n {c.item}\r\n {c.quantidade}\r\n {c.diferenca}\r\n {c.valor}\r\n {c.valorTotal}\r\n \r\n :\r\n \r\n {c.idAutorizacaoFornecimento}\r\n {c.item}\r\n {c.quantidade}\r\n {c.diferenca}\r\n {c.valor}\r\n {c.valorTotal}\r\n \r\n }\r\n \r\n \r\n ))\r\n :\r\n ''\r\n }\r\n \r\n {\r\n data.listaValores != null && data.listaValores.length > 0 ?\r\n \r\n \r\n \r\n \r\n TOTAL DO TRO {data.descricaoEmpenho} (C - Entrega Diferença)\r\n {data.listaValores[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 \r\n De Acordo, \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n \r\n \r\n {assinante}\r\n \r\n \r\n Cândido Araújo Martins Neto\r\n \r\n \r\n \r\n \r\n \r\n Secretário da Secretaria de Conservação e Serviços Públicos\r\n \r\n \r\n Coordenador da COEIP\r\n \r\n \r\n \r\n \r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n \r\n :\r\n // Página Diferença sem valores\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TERMO DE RECEBIMENTO DE OBRA - TRO Nº {data.descricaoEmpenho} (C - Diferença)\r\n \r\n \r\n \r\n \r\n Em {moment(data.dataEmpenhoFinal).format('LL')} constatamos,\r\n após fiscalização desta SCSP, diferenças nos quantitativos dos seguintes orçamentos / AF,\r\n conforme o que preceitua a cláusula décima do contrato {data.idContrato}, assinado entre as partes.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n AF Nº\r\n ITEM\r\n QUANT. FISCALIZADA\r\n DIFERENÇA\r\n VALOR\r\n VALOR A DEDUZIR (R$)\r\n \r\n \r\n \r\n Nenhum resultado encontrado\r\n \r\n \r\n \r\n \r\n \r\n \r\n TOTAL DO TRO {data.descricaoEmpenho} (C - Entrega Diferença)\r\n R$ 0,00\r\n \r\n \r\n \r\n \r\n\r\n \r\n De Acordo, \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n \r\n \r\n {assinante}\r\n \r\n \r\n Cândido Araújo Martins Neto\r\n \r\n \r\n \r\n \r\n \r\n Secretário da Secretaria de Conservação e Serviços Públicos\r\n \r\n \r\n Coordenador da COEIP\r\n \r\n \r\n \r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n \r\n }\r\n {\r\n data.listaValorMulta.length > 0 ?\r\n\r\n // Página Multas\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TERMO DE RECEBIMENTO DE OBRA - TRO Nº {data.descricaoEmpenho} (D - Multas)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n AF Nº\r\n VALOR DA OBRA (R$)\r\n VALOR DA OBRA (UDS)\r\n VALOR A DEDUZIR (R$)\r\n DESCRIÇÃO\r\n \r\n \r\n {\r\n data.listaValorMulta && data.listaValorMulta.length > 0 ?\r\n data.listaValorMulta.map((c, i) => (\r\n \r\n {\r\n (i + 1) % 2 == 0\r\n ?\r\n \r\n {c.idAutorizacaoFornecimento}\r\n {c.valorNotaFiscal}\r\n {c.valorNotaFiscal}\r\n {c.valorMultaReais}\r\n {c.descricao}\r\n \r\n :\r\n \r\n {c.idAutorizacaoFornecimento}\r\n {c.valorNotaFiscal}\r\n {c.valorNotaFiscal}\r\n {c.valorMultaReais}\r\n {c.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 data.listaValores != null && data.listaValores.length > 0 ?\r\n \r\n \r\n \r\n \r\n TOTAL DO TRO {data.descricaoEmpenho} (D - Multas)\r\n {data.listaValores[3]}\r\n \r\n \r\n :\r\n ''\r\n }\r\n \r\n \r\n\r\n \r\n \r\n De Acordo, \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n \r\n \r\n {assinante}\r\n \r\n \r\n Cândido Araújo Martins Neto\r\n \r\n \r\n \r\n \r\n \r\n Secretário da Secretaria de Conservação e Serviços Públicos\r\n \r\n \r\n Coordenador da COEIP\r\n \r\n \r\n \r\n \r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n \r\n :\r\n\r\n // Página Multas sem valores\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n TERMO DE RECEBIMENTO DE OBRA - TRO Nº {data.descricaoEmpenho} (D - Multas)\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n AF Nº\r\n VALOR DA OBRA (R$)\r\n VALOR DA OBRA (UDS)\r\n VALOR A DEDUZIR (R$)\r\n DESCRIÇÃO\r\n \r\n \r\n \r\n Nenhum resultado encontrado\r\n \r\n \r\n \r\n \r\n \r\n \r\n TOTAL DO TRO {data.descricaoEmpenho} (D - Multas)\r\n R$ 0,00\r\n \r\n \r\n \r\n \r\n\r\n \r\n De Acordo, \r\n \r\n \r\n \r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n \r\n \r\n {assinante}\r\n \r\n \r\n Cândido Araújo Martins Neto\r\n \r\n \r\n \r\n \r\n \r\n Secretário da Secretaria de Conservação e Serviços Públicos\r\n \r\n \r\n Coordenador da COEIP\r\n \r\n \r\n \r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n \r\n\r\n }\r\n\r\n \r\n )\r\n}","import { Page, Text, View, Document, StyleSheet, Image } from '@react-pdf/renderer';\r\nimport { useEffect } from \"react\";\r\nimport img from '../../assets/login/img_login.png';\r\nimport moment from 'moment';\r\nimport cabecalho from '../../assets/novoCabecalhoCor.jpg';\r\nimport rodape from '../../assets/novoRodapeCor.jpg';\r\n\r\nconst styles = StyleSheet.create({\r\n page: {\r\n backgroundColor: '#fff',\r\n fontSize: '10',\r\n paddingBottom: 65,\r\n },\r\n titulo: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontWeight: 'bold',\r\n fontSize: '15',\r\n },\r\n linha: {\r\n borderBottom: '1px solid #0000',\r\n width: '100%',\r\n },\r\n espaco: {\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n },\r\n table: {\r\n width: '100%',\r\n },\r\n section: {\r\n marginBottom: 10,\r\n marginLeft: 10,\r\n marginRight: 10,\r\n paddingBottom: 10,\r\n paddingRight: 10,\r\n paddingLeft: 10,\r\n flexGrow: 1,\r\n },\r\n row: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 5,\r\n paddingBottom: 5,\r\n },\r\n\r\n rowCabecalho: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n paddingTop: 2,\r\n paddingBottom: 2,\r\n },\r\n bold: {\r\n fontWeight: 'bold',\r\n },\r\n bordaCompleta: {\r\n border: '1px solid #0000',\r\n margin: 1\r\n },\r\n comeco: {\r\n width: \"25%\",\r\n },\r\n\r\n meio: {\r\n width: \"50%\",\r\n display: 'flex',\r\n textAlign: 'center',\r\n alignItems: 'center'\r\n },\r\n linhaCompletaCentralizada: {\r\n width: \"100%\",\r\n display: 'flex',\r\n textAlign: 'center',\r\n alignItems: 'center'\r\n },\r\n fim: {\r\n width: \"25%\",\r\n },\r\n linhaMetadeComeco: {\r\n width: \"50%\",\r\n },\r\n linhaMetadeFim: {\r\n width: \"50%\",\r\n },\r\n linhaSemiCompleta: {\r\n width: \"85%\",\r\n },\r\n fimLinhaSemiCompleta: {\r\n width: \"15%\",\r\n },\r\n linhaCompleta: {\r\n width: \"100%\",\r\n },\r\n width8: {\r\n width: \"8%\"\r\n },\r\n width10: {\r\n width: \"10%\"\r\n },\r\n width35: {\r\n width: \"35%\"\r\n },\r\n width15: {\r\n width: \"15%\"\r\n },\r\n width20: {\r\n width: \"20%\"\r\n },\r\n width80: {\r\n width: \"80%\"\r\n },\r\n cabecalho: {\r\n color: '#fff',\r\n backgroundColor: '#212529',\r\n bordercolor: '#32383e'\r\n },\r\n cinza: {\r\n backgroundColor: '#e9ecef',\r\n },\r\n logo: {\r\n width: '200',\r\n height: '100'\r\n },\r\n top20: {\r\n top: '20'\r\n },\r\n top40: {\r\n top: '40'\r\n },\r\n top60: {\r\n top: '60'\r\n },\r\n recuo: {\r\n textIndent: '40px'\r\n },\r\n centralizarTexto: {\r\n display: 'flex',\r\n textAlign: 'center',\r\n alignItems: 'center'\r\n },\r\n alinharBottom: {\r\n position: 'absolute',\r\n bottom: '0',\r\n\r\n },\r\n bottom5: {\r\n marginBottom: '5px'\r\n },\r\n bottom20: {\r\n marginBottom: '20px'\r\n },\r\n bottom65: {\r\n marginBottom: '65px'\r\n },\r\n bottom40: {\r\n marginBottom: '40px'\r\n },\r\n fontSize5: {\r\n fontSize: '5'\r\n },\r\n fontSize65: {\r\n fontSize: '6.5'\r\n },\r\n fontSize4: {\r\n fontSize: '4'\r\n },\r\n fontSize8: {\r\n fontSize: '8'\r\n },\r\n fontSize45: {\r\n fontSize: '4.5'\r\n },\r\n fontSize2: {\r\n fontSize: '2'\r\n },\r\n width50: {\r\n width: '50'\r\n },\r\n width5: {\r\n width: '5%'\r\n },\r\n pageNumber: {\r\n position: 'absolute',\r\n fontSize: 12,\r\n bottom: 30,\r\n left: 0,\r\n right: 0,\r\n textAlign: 'center',\r\n color: 'grey',\r\n },\r\n comecoMaior: {\r\n width: \"40%\",\r\n },\r\n alinharBottom: {\r\n position: 'absolute',\r\n bottom: '0',\r\n padding: '5',\r\n },\r\n rodape: {\r\n width: '585',\r\n height: '50',\r\n },\r\n});\r\n\r\n\r\nexport default function PdfEmpenhoBoletimMedicao({ data }) {\r\n\r\n useEffect(() => {\r\n moment.locale('pt-br');\r\n }, [])\r\n\r\n return (\r\n \r\n {\r\n data && data.listaAutorizacaoFornecimentoBoletimMedicao.length > 0 ?\r\n data.listaAutorizacaoFornecimentoBoletimMedicao != null && data.listaAutorizacaoFornecimentoBoletimMedicao.length > 0 ?\r\n data.listaAutorizacaoFornecimentoBoletimMedicao.map((c, i) => (\r\n // Página Resumo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Boletim de Medição\r\n \r\n \r\n \r\n \r\n\r\n {/* CABEÇALHO */}\r\n \r\n \r\n AF Nº: {c.numeroAutorizacaoFornecimento}\r\n \r\n \r\n \r\n Status: {c.status}\r\n \r\n \r\n \r\n \r\n Processo Nº: {c.numeroProcesso}\r\n \r\n \r\n \r\n Período de: {moment(c.periodo).format('L')}\r\n \r\n \r\n \r\n \r\n Obras: {c.obra}\r\n \r\n \r\n {/* CABEÇALHO FIM */}\r\n\r\n {/* TABELA */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Item\r\n Desc. Atividade\r\n Un\r\n V. Unit. (R$)\r\n Qt. Contratada\r\n Total\r\n Anterior\r\n No Periodo\r\n R$\r\n \r\n \r\n {\r\n c.listaSubItemsMedicao != null && c.listaSubItemsMedicao.length > 0 ?\r\n c.listaSubItemsMedicao.map((s, i) => (\r\n \r\n {\r\n (i + 1) % 2 == 0\r\n ?\r\n \r\n {s.item}\r\n {s.descricaoAtividade}\r\n {s.unidade}\r\n {s.valorUnidade}\r\n {s.quantidadeContratada}\r\n {s.total}\r\n {s.anterior}\r\n {s.numeroPeriodo}\r\n {s.valorUnitario}\r\n \r\n :\r\n \r\n {s.item}\r\n {s.descricaoAtividade}\r\n {s.unidade}\r\n {s.valorUnidade}\r\n {s.quantidadeContratada}\r\n {s.total}\r\n {s.anterior}\r\n {s.numeroPeriodo}\r\n {s.valorUnitario}\r\n \r\n\r\n }\r\n \r\n \r\n ))\r\n :\r\n ''\r\n }\r\n \r\n { /* TOTAIS */}\r\n \r\n \r\n \r\n \r\n Total da Medição (R$)\r\n {c.totalMedicaoString}\r\n \r\n \r\n Total Contrato\r\n {c.totalContratoString}\r\n \r\n \r\n Total Faturado\r\n {c.totalFaturadoString}\r\n \r\n \r\n Saldo Contratual\r\n {c.totalContratualString}\r\n \r\n \r\n Realizado (%)\r\n {c.totalRealizadoString}\r\n \r\n \r\n { /* FIM TOTAIS */}\r\n \r\n \r\n {/* TABELA FIM */}\r\n\r\n {/* VISTOS */}\r\n {/* }\r\n \r\n VISTOS:\r\n \r\n \r\n \r\n { */}\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n _____________________________________\r\n \r\n \r\n \r\n \r\n FISCALIZAÇÃO\r\n \r\n \r\n FM RODRIGUES & CIA LTDA.\r\n \r\n \r\n {/* FIM VISTOS */}\r\n \r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n {/* \r\n \r\n */}\r\n \r\n ))\r\n :\r\n ''\r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Boletim de Medição\r\n \r\n \r\n \r\n \r\n\r\n {/* CABEÇALHO */}\r\n \r\n \r\n AF Nº:\r\n \r\n \r\n \r\n Status:\r\n \r\n \r\n \r\n \r\n Processo Nº:\r\n \r\n \r\n \r\n Data Empenho: {moment(data.dataEmpenho).format('L')}\r\n \r\n \r\n \r\n \r\n Obras:\r\n \r\n \r\n {/* CABEÇALHO FIM */}\r\n\r\n {/* TABELA */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Item\r\n Desc. Atividade\r\n Un\r\n V. Unit. (R$)\r\n Qt. Contratada\r\n Total\r\n Anterior\r\n No Periodo\r\n R$\r\n \r\n \r\n\r\n \r\n Nenhum resultado encontrado\r\n \r\n\r\n \r\n\r\n { /* TOTAIS */}\r\n \r\n \r\n \r\n \r\n Total da Medição (R$)\r\n R$ 0,00\r\n \r\n \r\n Total Contrato\r\n R$ 0,00\r\n \r\n \r\n Total Faturado\r\n R$ 0,00\r\n \r\n \r\n Saldo Contratual\r\n R$ 0,00\r\n \r\n \r\n Realizado (%)\r\n 0,00 %\r\n \r\n \r\n { /* FIM TOTAIS */}\r\n \r\n \r\n {/* TABELA 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 FISCALIZAÇÃO\r\n \r\n \r\n FM RODRIGUES & CIA LTDA.\r\n \r\n \r\n {/* FIM VISTOS */}\r\n \r\n `${pageNumber} / ${totalPages}`}\r\n fixed\r\n />\r\n {/* \r\n \r\n */}\r\n \r\n }\r\n\r\n \r\n )\r\n}","export function ListarAssinanteRequest() {\r\n return {\r\n type: 'LISTAR_ASSINANTE_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarAssinanteResponse(listaAssinante) {\r\n return {\r\n type: 'LISTAR_ASSINANTE_RESPONSE',\r\n listaAssinante\r\n }\r\n}\r\n\r\nexport function InserirAssinanteRequest(data) {\r\n return{\r\n type: 'INSERIR_ASSINANTE_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarAssinanteRequest(data){\r\n return{\r\n type: 'ALTERAR_ASSINANTE_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirAssinanteRequest(id){\r\n return{\r\n type: 'EXCLUIR_ASSINANTE_REQUEST',\r\n id\r\n }\r\n}\r\n\r\n\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { useState, useEffect } from \"react\";\r\nimport { Row, Col, Form, Alert, Button, Container, Modal } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { InserirEmpenhoRequest, AlterarEmpenhoRequest } from \"../../../store/modules/empenho/actions\";\r\nimport { BuscarEmpenhoPorIdRequest, LimparEmpenho } from \"../../../store/modules/empenho/actions\";\r\nimport { ListarStatusEmpenhoRequest } from \"../../../store/modules/statusEmpenho/actions\";\r\nimport { ListarEmpenhoStatusRequest } from \"../../../store/modules/empenhoStatus/actions\";\r\nimport { useHistory, useParams, Link } from 'react-router-dom';\r\nimport { toast } from \"react-toastify\";\r\nimport { ListarDadosExportarPDFEmpenhoRequest, ListarTodasFotosCompletasAutorizacaoFornecimentoRequest, LimparRelatorioEmpenho, ListarDadosExportarPDFEmpenhoBoletimMedicaoRequest } from \"../../../store/modules/relatorio/actions\";\r\nimport { PDFDownloadLink } from '@react-pdf/renderer';\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport IntlCurrencyInput from \"react-intl-currency-input\";\r\nimport PdfEmpenho from \"../../../components/pdfEmpenho/pdfEmpenho\";\r\nimport PdfEmpenhoBoletimMedicao from \"../../../components/pdfEmpenhoBoletimMedicao/pdfEmpenhoBoletimMedicao\";\r\nimport Select from 'react-select';\r\nimport { ListarAssinanteRequest } from \"../../../store/modules/assinante/actions\";\r\nimport moment from 'moment';\r\nimport { ListarContratoRequest } from \"../../../store/modules/contrato/actions\";\r\nimport { ListarFornecedorContaRequest } from \"../../../store/modules/fornecedorConta/actions\";\r\nimport { ListarContratoFornecedorRequest } from \"../../../store/modules/contratoFornecedor/actions\";\r\nimport { ListarFornecedorRequest } from \"../../../store/modules/fornecedor/actions\";\r\n\r\nexport default function Empenho() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const empenhoCompleto = useSelector(state => state.empenho.empenhoCompleto);\r\n const carregando = useSelector(state => state.empenho.carregando);\r\n const listaStatusEmpenho = useSelector(state => state.statusEmpenho.listaStatusEmpenho);\r\n const listaEmpenhoStatus = useSelector(state => state.empenhoStatus.listaEmpenhoStatus);\r\n const listaDadosExportarPDFEmpenho = useSelector(state => state.relatorio.listaDadosExportarPDFEmpenho);\r\n const listaDadosExportarPDFEmpenhoBoletimMedicao = useSelector(state => state.relatorio.listaDadosExportarPDFEmpenhoBoletimMedicao);\r\n const carregandoPDF = useSelector(state => state.relatorio.carregando);\r\n const listaEmpenhoAutorizacaoFornecimentoSubitemCustoMed\r\n = useSelector(state => state.empenhoAutorizacaoFornecimentoSubitemCustoMed.listaEmpenhoAutorizacaoFornecimentoSubitemCustoMed);\r\n const listarMulta = useSelector(state => state.multa.listaMulta);\r\n const listarDiferencaEmpenho = useSelector(state => state.empenhoStatus.listarDiferencaEmpenho);\r\n const listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed\r\n = useSelector(state => state.empenhoAutorizacaoFornecimentoSubitemCustoMed.listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed);\r\n const listaAssinante = useSelector(state => state.assinante.listaAssinante);\r\n const listaContrato = useSelector(state => state.contrato.listaContrato);\r\n const listaContratoFornecedor = useSelector(state => state.contratoFornecedor.listaContratoFornecedor);\r\n const listaFornecedor = useSelector(state => state.fornecedor.listaFornecedor);\r\n const listaFornecedorContrato = useSelector(state => state.fornecedor.listaFornecedor);\r\n\r\n const [carregaPage, setCarregaPage] = useState(false);\r\n const [empenhoId, setEmpenhoId] = useState('');\r\n const [observacao, setObservacao] = useState('');\r\n const [descricao, setDescricao] = useState('');\r\n const [numeroNotaFiscal, setNumeroNotaFiscal] = useState('');\r\n const [valorNotaFiscal, setValorNotaFiscal] = useState('');\r\n const [validated, setValidated] = useState(false);\r\n const [contrato, setContrato] = useState('');\r\n const [idContrato, setIdContrato] = useState('');\r\n const [fornecedor, setFornecedor] = useState('');\r\n const [idFornecedor, setIdFornecedor] = useState('');\r\n const [show, setShow] = useState(false);\r\n const [showModalAssinante, setShowModalAssinante] = useState(false);\r\n const [showMedicao, setMedicaoShow] = useState(false);\r\n const [valorTotalEmp, setValorTotalEmp] = useState(0);\r\n const [NomeAssinante, setNomeAssinante] = useState(0);\r\n const [dataInicioEmpenho, setDataInicioEmpenho] = useState('');\r\n const [dataFimEmpenho, setDataFimEmpenho] = useState('');\r\n\r\n const [validatedDataFim, setValidatedDataFim] = useState(true);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const handleCloseModalAssinante = () => setShowModalAssinante(false);\r\n const handleShowModalAssinante = () => setShowModalAssinante(true);\r\n\r\n const handleMedicaoClose = () => setMedicaoShow(false);\r\n const handleMedicaoShow = () => setMedicaoShow(true);\r\n\r\n const currencyConfig = {\r\n locale: \"pt-BR\",\r\n formats: {\r\n number: {\r\n BRL: {\r\n style: \"currency\",\r\n currency: \"BRL\",\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4,\r\n },\r\n },\r\n },\r\n };\r\n\r\n const listaRelacao = listaContratoFornecedor != undefined && idContrato != '' ?\r\n listaContratoFornecedor.filter(y => y.idContrato == idContrato)\r\n :\r\n [];\r\n\r\n\r\n const options = listaAssinante != undefined ?\r\n listaAssinante.map(a => (\r\n { value: a.id, label: a.nome }\r\n ))\r\n :\r\n [];\r\n\r\n const optionsContrato = listaContrato != undefined ?\r\n listaContrato.map(contrato => ({\r\n value: contrato.id, label: contrato.id + \" - \" + contrato.descricao\r\n }))\r\n :\r\n [];\r\n\r\n const optionsFornecedor =\r\n listaFornecedor != undefined && listaRelacao != undefined ?\r\n listaRelacao.map(y => {\r\n return {\r\n value: y.idFornecedor, label: listaFornecedor.filter(x => x.id == y.idFornecedor)[0].nomeFornecedor\r\n }\r\n })\r\n :\r\n [];\r\n\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"EmpenhoMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(ListarAssinanteRequest());\r\n dispatch(ListarStatusEmpenhoRequest());\r\n dispatch(ListarContratoRequest());\r\n dispatch(ListarFornecedorRequest());\r\n dispatch(ListarContratoFornecedorRequest());\r\n\r\n if (id != undefined) {\r\n dispatch(BuscarEmpenhoPorIdRequest(id));\r\n dispatch(ListarEmpenhoStatusRequest(id));\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (id != undefined) {\r\n dispatch(BuscarEmpenhoPorIdRequest(id));\r\n }\r\n }, [id])\r\n\r\n useEffect(() => () =>\r\n dispatch(LimparEmpenho())\r\n , []);\r\n\r\n useEffect(() => () =>\r\n dispatch(LimparRelatorioEmpenho())\r\n , []);\r\n\r\n useEffect(() => {\r\n\r\n if (empenhoCompleto != null)\r\n CarregaEmpenho()\r\n\r\n TotalEmpenho();\r\n\r\n }, [empenhoCompleto])\r\n\r\n useEffect(() => {\r\n\r\n if (listarDiferencaEmpenho != undefined && listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed != undefined &&\r\n listarDiferencaEmpenho != undefined)\r\n\r\n TotalEmpenho();\r\n\r\n }, [listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed, listarMulta, listarDiferencaEmpenho])\r\n\r\n function exportaFotos() {\r\n dispatch(ListarTodasFotosCompletasAutorizacaoFornecimentoRequest(id));\r\n }\r\n\r\n function selecionarAssinante() {\r\n MontarPDF();\r\n }\r\n\r\n function CarregaEmpenho() {\r\n if (empenhoCompleto != null && empenhoCompleto.id == parseInt(id)) {\r\n setEmpenhoId(empenhoCompleto.id)\r\n setDescricao(empenhoCompleto.descricao);\r\n setObservacao(empenhoCompleto.observacao);\r\n setNumeroNotaFiscal(empenhoCompleto.numeroNotaFiscal);\r\n setValorNotaFiscal(empenhoCompleto.valorNotaFiscal);\r\n setIdContrato(empenhoCompleto.idContrato);\r\n setIdFornecedor(empenhoCompleto.idFornecedor);\r\n setDataInicioEmpenho(empenhoCompleto.dataEmpenho.split('T')[0]);\r\n setDataFimEmpenho(empenhoCompleto.dataEmpenhoFinal.split('T')[0]);\r\n }\r\n setCarregaPage(true);\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n\r\n const form = event.currentTarget;\r\n\r\n if (form.checkValidity() === false && Validacoes(event) === false) {\r\n\r\n event.preventDefault();\r\n } else {\r\n if(!id){\r\n if(Validacoes(event)){\r\n InserirEmpenho()\r\n }\r\n }else{\r\n if(Validacoes(event)){\r\n AlterarEmpenho()\r\n }\r\n }\r\n }\r\n\r\n setValidated(true);\r\n };\r\n\r\n let selectTextContrato = '';\r\n let selectSelecionadoContrato = [];\r\n let selectTextFornecedor = '';\r\n let selectSelecionadoFornecedor = [];\r\n \r\n function verificarDatainicioEmpenho(event){\r\n setDataInicioEmpenho(event.target.value);\r\n\r\n var verificarDataInicio = event.target.value.split(\"-\");\r\n var verificarDatafim = dataFimEmpenho.split(\"-\");\r\n\r\n if(verificarDatafim >= verificarDataInicio){\r\n setValidatedDataFim(true);\r\n } else {\r\n setValidatedDataFim(false)\r\n }\r\n\r\n }\r\n\r\n function verificarDataFimEmpenho(event){\r\n setDataFimEmpenho(event.target.value);\r\n\r\n var verificarDataFim = event.target.value.split(\"-\");\r\n var verificarDataInicio = dataInicioEmpenho.split(\"-\");\r\n\r\n if(verificarDataFim >= verificarDataInicio){\r\n\r\n setValidatedDataFim(true);\r\n } else {\r\n setValidatedDataFim(false);\r\n }\r\n }\r\n\r\n function Validacoes(empenho) {\r\n if(!id){\r\n\r\n if (observacao !== undefined) {\r\n if (observacao.trim().length > 500) {\r\n toast.error('A observação não pode conter mais que 500 caracteres');\r\n return false;\r\n }\r\n }\r\n \r\n if (descricao == ' ' || descricao == ''\r\n || descricao == null || descricao == undefined) {\r\n toast.error(`Descrição Inválida`);\r\n return false;\r\n }\r\n \r\n if (descricao.length > 200) {\r\n toast.error(`A descrição não pode conter mais que 200 caracteres`);\r\n return false;\r\n }\r\n \r\n if (!(numeroNotaFiscal == ' ' || numeroNotaFiscal == ''\r\n || numeroNotaFiscal == null || numeroNotaFiscal == undefined)) {\r\n \r\n if (numeroNotaFiscal.length > 50) {\r\n toast.error(`O número da nota fiscal não pode conter mais que 50 caracteres`);\r\n return false;\r\n }\r\n }\r\n \r\n if (idContrato == null || idContrato == undefined\r\n || idContrato.trim() == '') {\r\n toast.error(`Contrato Inválido`);\r\n return false;\r\n }\r\n\r\n if (idFornecedor == null || idFornecedor == undefined\r\n || idFornecedor.trim() == '') {\r\n toast.error(`Fornecedor Inválido`);\r\n return false;\r\n }\r\n\r\n if (dataInicioEmpenho == null || dataInicioEmpenho == undefined\r\n || dataInicioEmpenho.trim() == '') {\r\n toast.error(`Data Inicio Empenho Inválida`);\r\n return false;\r\n }\r\n\r\n if (dataFimEmpenho == null || dataFimEmpenho == undefined\r\n || dataFimEmpenho.trim() == '') {\r\n toast.error(`Data Fim Empenho Inválido`);\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n /*if (document.getElementById('idSelectContrato') != null && listaContrato != undefined) {\r\n selectTextContrato = document.getElementById('idSelectContrato').innerText;\r\n selectSelecionadoContrato = listaContrato.filter(contrato => contrato.id + \" - \" + contrato.descricao == selectTextContrato);\r\n }\r\n \r\n let nome = '';\r\n \r\n if (document.getElementById('idSelectFornecedor') != null && listaContratoFornecedor != undefined && listaRelacao.length > 0) {\r\n selectTextFornecedor = document.getElementById('idSelectFornecedor').innerText;\r\n selectSelecionadoFornecedor = listaFornecedor.filter(x => x.nomeFornecedor == selectTextFornecedor)\r\n \r\n if (selectTextFornecedor !== undefined && selectSelecionadoFornecedor.length === 0) {\r\n nome = selectTextFornecedor.split('\\n', selectTextFornecedor.length);\r\n selectSelecionadoFornecedor = listaFornecedor.filter(x => x.nomeFornecedor == nome[1])\r\n }\r\n }\r\n \r\n if (listaRelacao != undefined && selectSelecionadoContrato.length > 0 && selectSelecionadoFornecedor.length > 0) {\r\n var listaVerifica =\r\n listaRelacao.filter(contratoFornecedor => contratoFornecedor.idContrato == parseInt(selectSelecionadoContrato[0].id)\r\n && contratoFornecedor.idFornecedor == parseInt(selectSelecionadoFornecedor[0].id));\r\n if (listaVerifica.length > 0) {\r\n } else {\r\n toast.error(`Fornecedor não está presente no contrato id: ${parseInt(selectSelecionadoContrato[0].id)}`);\r\n return false;\r\n }\r\n }\r\n \r\n if (selectSelecionadoContrato.length > 0 && selectSelecionadoFornecedor.length > 0) {\r\n return true;\r\n }\r\n else {\r\n toast.error(`Contrato ou fornecedor não selecionado.`);\r\n return false;\r\n }*/\r\n\r\n }else{\r\n\r\n if (observacao !== undefined) {\r\n if (observacao.trim().length > 500) {\r\n toast.error('A observação não pode conter mais que 500 caracteres');\r\n return false;\r\n }\r\n }\r\n \r\n if (descricao == ' ' || descricao == ''\r\n || descricao == null || descricao == undefined) {\r\n toast.error(`Descrição Inválida`);\r\n return false;\r\n }\r\n \r\n if (descricao.length > 200) {\r\n toast.error(`A descrição não pode conter mais que 200 caracteres`);\r\n return false;\r\n }\r\n \r\n if (!(numeroNotaFiscal.trim() == ''\r\n || numeroNotaFiscal == null || numeroNotaFiscal == undefined)) {\r\n \r\n if (numeroNotaFiscal.length > 50) {\r\n toast.error(`O número da nota fiscal não pode conter mais que 50 caracteres`);\r\n return false;\r\n }\r\n }\r\n\r\n if (dataInicioEmpenho == null || dataInicioEmpenho == undefined\r\n || dataInicioEmpenho.trim() == '') {\r\n toast.error(`Data Inicio Empenho Inválida`);\r\n return false;\r\n }\r\n\r\n if (dataFimEmpenho == null || dataFimEmpenho == undefined\r\n || dataFimEmpenho.trim() == '') {\r\n toast.error(`Data Fim Empenho Inválido`);\r\n return false;\r\n }\r\n \r\n return true;\r\n }\r\n \r\n \r\n\r\n }\r\n\r\n function InserirEmpenho() {\r\n\r\n let data = {\r\n 'Id': 0 ,\r\n 'DataAlteracao': moment((new Date())).add('hours', 2),\r\n 'DataInclusao': moment((new Date())).add('hours', 2),\r\n 'IdUsuario': parseInt(usuario.id),\r\n 'Descricao': descricao.trim(),\r\n 'Observacao': observacao.trim(),\r\n 'NumeroNotaFiscal': numeroNotaFiscal.trim(),\r\n 'ValorNotaFiscal': 0,\r\n 'IdContrato': parseInt(idContrato),\r\n 'IdFornecedor': idFornecedor,\r\n 'DataEmpenho': dataInicioEmpenho,\r\n 'DataEmpenhoFinal': dataFimEmpenho,\r\n }\r\n dispatch(InserirEmpenhoRequest(data));\r\n\r\n } \r\n \r\n function AlterarEmpenho() {\r\n\r\n let data = {\r\n 'Id': parseInt(id),\r\n 'DataAlteracao': moment((new Date())).add('hours', 2),\r\n 'DataInclusao': moment((new Date())).add('hours', 2),\r\n 'IdUsuario': parseInt(usuario.id),\r\n 'Descricao': descricao.trim(),\r\n 'Observacao': observacao.trim(),\r\n 'NumeroNotaFiscal':numeroNotaFiscal.trim(),\r\n 'ValorNotaFiscal': valorNotaFiscal,\r\n 'IdContrato': parseInt(idContrato),\r\n 'IdFornecedor': parseInt(idFornecedor),\r\n 'DataEmpenho': dataInicioEmpenho,\r\n 'DataEmpenhoFinal': dataFimEmpenho,\r\n }\r\n\r\n dispatch(AlterarEmpenhoRequest(data));\r\n }\r\n\r\n\r\n\r\n function MontarPDF() {\r\n if (listaEmpenhoAutorizacaoFornecimentoSubitemCustoMed != undefined && listaEmpenhoAutorizacaoFornecimentoSubitemCustoMed.length > 0) {\r\n handleShow();\r\n dispatch(ListarDadosExportarPDFEmpenhoRequest({ 'IdEmpenho': id }, id));\r\n } else {\r\n handleShow();\r\n dispatch(ListarDadosExportarPDFEmpenhoRequest({ 'IdEmpenho': id }, id));\r\n //toast.error('Para exportar é necessario que o empenho tenha pelo menos um item.');\r\n }\r\n\r\n }\r\n\r\n function MontarMedicaoPDF() {\r\n //if (listaEmpenhoAutorizacaoFornecimentoSubitemCustoMed != undefined && listaEmpenhoAutorizacaoFornecimentoSubitemCustoMed.length > 0) {\r\n handleMedicaoShow();\r\n dispatch(ListarDadosExportarPDFEmpenhoBoletimMedicaoRequest({ 'IdEmpenho': id }, id));\r\n //} else {\r\n //toast.error('Para exportar é necessario que o empenho tenha pelo menos um item.');\r\n //}\r\n }\r\n\r\n function MudarFornecedor(e) {\r\n setIdContrato(e)\r\n listaFornecedorContrato = listaContratoFornecedor.filter(f => f.idContrato == e)\r\n\r\n }\r\n\r\n function TotalEmpenho() {\r\n\r\n var total = 0.0;\r\n\r\n // Pegar valor da multa\r\n if (listarMulta != undefined) {\r\n listarMulta.map(multa => {\r\n total -= multa.valorMulta;\r\n })\r\n }\r\n\r\n // Pegar valor da definitiva\r\n if (listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed != undefined) {\r\n listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed.map((autorizacaoFornecimento) => {\r\n if (autorizacaoFornecimento.listaMedicaoFinalizada !== undefined && autorizacaoFornecimento.listaMedicaoFinalizada.length > 0 &&\r\n autorizacaoFornecimento.listaMedicaoFinalizada[0].listaEmpenhoAutorizacaoSubitemCusto !== undefined &&\r\n autorizacaoFornecimento.listaMedicaoFinalizada[0].listaEmpenhoAutorizacaoSubitemCusto.length > 0 &&\r\n autorizacaoFornecimento.listaMedicaoFinalizada[0].listaEmpenhoAutorizacaoSubitemCusto[0].statusParcial == false) {\r\n\r\n autorizacaoFornecimento.listaMedicaoFinalizada.map((medicao) => {\r\n\r\n medicao.listaEmpenhoAutorizacaoSubitemCusto.map((subitemEmpenho) => {\r\n\r\n total += subitemEmpenho.autorizacaoFornecimentoSubitemCustoMedicao != null &&\r\n subitemEmpenho.autorizacaoFornecimentoSubitemCustoMedicao.autorizacaoFornecimentoSubitemCusto != null &&\r\n subitemEmpenho.autorizacaoFornecimentoSubitemCustoMedicao.autorizacaoFornecimentoSubitemCusto.subitemCusto != null ?\r\n subitemEmpenho.autorizacaoFornecimentoSubitemCustoMedicao.autorizacaoFornecimentoSubitemCusto.subitemCusto.valorUnitario * subitemEmpenho.autorizacaoFornecimentoSubitemCustoMedicao.quantidadeFornecedor : 0\r\n })\r\n })\r\n }\r\n })\r\n }\r\n\r\n // Pegar valor total da parcial\r\n if (listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed != undefined) {\r\n\r\n listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed.map((autorizacaoFornecimento) => {\r\n\r\n if (autorizacaoFornecimento.listaMedicaoFinalizada !== undefined && autorizacaoFornecimento.listaMedicaoFinalizada.length > 0 &&\r\n autorizacaoFornecimento.listaMedicaoFinalizada[0].listaEmpenhoAutorizacaoSubitemCusto !== undefined &&\r\n autorizacaoFornecimento.listaMedicaoFinalizada[0].listaEmpenhoAutorizacaoSubitemCusto.length > 0 &&\r\n autorizacaoFornecimento.listaMedicaoFinalizada[0].listaEmpenhoAutorizacaoSubitemCusto[0].statusParcial == true) {\r\n\r\n autorizacaoFornecimento.listaMedicaoFinalizada.map((medicao) => {\r\n\r\n medicao.listaEmpenhoAutorizacaoSubitemCusto.map((subitemEmpenho) => {\r\n\r\n total += subitemEmpenho.autorizacaoFornecimentoSubitemCustoMedicao != null &&\r\n subitemEmpenho.autorizacaoFornecimentoSubitemCustoMedicao.autorizacaoFornecimentoSubitemCusto != null &&\r\n subitemEmpenho.autorizacaoFornecimentoSubitemCustoMedicao.autorizacaoFornecimentoSubitemCusto.subitemCusto != null ?\r\n subitemEmpenho.autorizacaoFornecimentoSubitemCustoMedicao.autorizacaoFornecimentoSubitemCusto.subitemCusto.valorUnitario * subitemEmpenho.autorizacaoFornecimentoSubitemCustoMedicao.quantidadeFornecedor : 0\r\n })\r\n })\r\n }\r\n })\r\n }\r\n\r\n /*\r\n // Pegar valor total da diferenca\r\n if (listarDiferencaEmpenho != undefined) {\r\n\r\n listarDiferencaEmpenho.map((autorizacaoFornecimento) => {\r\n\r\n if (autorizacaoFornecimento.listaValorEntregaDiferenca.length > 0) {\r\n \r\n total += autorizacaoFornecimento.valorTotalDiferenca\r\n }\r\n })\r\n }*/\r\n\r\n setValorTotalEmp(total);\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n carregando ?\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n Número Empenho\r\n setEmpenhoId(e.target.value)}\r\n disabled\r\n //isInvalid={validated && empenhoId === \"\" ? true : false}\r\n //isValid={validated && empenhoId !== \"\" ? true : false}\r\n />\r\n O campo Número Empenho é obrigatório.\r\n \r\n\r\n \r\n Descrição\r\n setDescricao(e.target.value)}\r\n required\r\n isInvalid={validated && descricao === \"\" ? true : false}\r\n isValid={validated && descricao !== \"\" ? true : false}\r\n />\r\n O campo Descrição é obrigatório.\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n Observação\r\n setObservacao(e.target.value)}\r\n //required\r\n //isInvalid={validated && observacao === \"\" ? true : false}\r\n //isValid={validated && observacao !== \"\" ? true : false}\r\n />\r\n O campo Observação é obrigatório.\r\n \r\n\r\n \r\n Número Nota Fiscal\r\n setNumeroNotaFiscal(e.target.value)}\r\n //required\r\n //isInvalid={validated && numeroNotaFiscal === \"\" ? true : false}\r\n //isValid={validated && numeroNotaFiscal !== \"\" ? true : false}\r\n />\r\n O campo Número Nota Fiscal é obrigatório.\r\n \r\n\r\n {\r\n /*\r\n \r\n Valor Nota Fiscal\r\n setValorNotaFiscal(e.target.value)}\r\n required\r\n isInvalid={validated && valorNotaFiscal === \"\" ? true : false}\r\n isValid={validated && valorNotaFiscal !== \"\" ? true : false}\r\n disabled />\r\n O campo Valor Nota Fiscal é obrigatório.\r\n \r\n */\r\n }\r\n\r\n \r\n\r\n \r\n \r\n Data Inicio Empenho\r\n verificarDatainicioEmpenho(e)}\r\n required\r\n isInvalid={validated && dataInicioEmpenho === '' ? true : false}\r\n isValid={validated && dataInicioEmpenho !== '' ? true : false}/>\r\n O campo Data Inicio Empenho é obrigatório.\r\n \r\n\r\n \r\n Data Fim Empenho\r\n verificarDataFimEmpenho(e)}\r\n required\r\n isInvalid={validated && dataFimEmpenho === '' ? true : false}\r\n isValid={validated && dataFimEmpenho !== '' ? true : false}/>\r\n A data do fim não pode ser antes da data do início do Empenho.\r\n \r\n \r\n\r\n \r\n\r\n \r\n Contrato\r\n setIdContrato(e.target.value)}\r\n value={idContrato}\r\n options={optionsContrato}\r\n required\r\n disabled={id ? true : false}\r\n isInvalid={validated && idContrato === \"\" ? true : false}\r\n isValid={validated && idContrato !== \"\" ? true : false}>\r\n \r\n \r\n {\r\n listaContrato != undefined ?\r\n listaContrato.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n\r\n\r\n \r\n O campo Contrato é obrigatório.\r\n \r\n\r\n \r\n Fornecedor\r\n setIdFornecedor(e.target.value)}\r\n placeholder=\"Selecione...\"\r\n value={idFornecedor}\r\n required\r\n disabled={id ? true : false}\r\n options={optionsFornecedor}\r\n isInvalid={validated && idFornecedor === \"\" ? true : false}\r\n isValid={validated && idFornecedor !== \"\" ? true : false}>\r\n\r\n \r\n {\r\n listaRelacao != undefined ?\r\n listaRelacao.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O campo Fornecedor é obrigatório.\r\n \r\n\r\n \r\n\r\n \r\n \r\n Valor Total Empenho\r\n setValorTotalEmp(e.target.value)}\r\n disabled\r\n //isInvalid={validated && true === \"\" ? true : false}\r\n //isValid={validated && true !== \"\" ? true : false}\r\n />\r\n O campo Valor Nota Fiscal é 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 id == undefined ?\r\n ''\r\n : \r\n \r\n }\r\n \r\n\r\n \r\n {\r\n id == undefined ?\r\n ''\r\n : \r\n \r\n }\r\n \r\n \r\n \r\n\r\n \r\n {\r\n id == undefined ?\r\n ''\r\n :\r\n listaEmpenhoStatus != undefined && listaStatusEmpenho != undefined &&\r\n listaStatusEmpenho.filter(x => x.cancelaEmpenho == true).length > 0 &&\r\n listaEmpenhoStatus.filter(x => x.idStatusEmpenho ==\r\n listaStatusEmpenho.filter(x => x.cancelaEmpenho == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n O Empenho está Cancelado!\r\n \r\n \r\n :\r\n listaEmpenhoStatus != undefined && listaStatusEmpenho != undefined &&\r\n listaStatusEmpenho.filter(x => x.finalizaEmpenho == true).length > 0 &&\r\n listaEmpenhoStatus.filter(x => x.idStatusEmpenho ==\r\n listaStatusEmpenho.filter(x => x.finalizaEmpenho == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n O Empenho está Finalizado!\r\n \r\n \r\n :\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 o Assinante para esse Empenho\r\n \r\n \r\n \r\n \r\n ),\r\n },\r\n {\r\n title: 'Valor', field: 'valor', cellStyle: {\r\n width: '45%'\r\n }, align: \"left\", type: \"numeric\",\r\n render: rowData =>\r\n rowData.valor === null ?\r\n null\r\n :\r\n rowData.valor.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n })\r\n },\r\n ]}\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n data={\r\n listarMulta != undefined ?\r\n listarMulta.map(multa => {\r\n return {\r\n idMulta: multa.id,\r\n idAutorizacaoFornecimento: multa.idAutorizacaoFornecimento,\r\n valor: multa.valorMulta,\r\n }\r\n })\r\n :\r\n []\r\n }\r\n editable={{\r\n onRowAdd:\r\n listaEmpenhoStatus != undefined && listaStatusEmpenho != undefined &&\r\n listaStatusEmpenho.filter(x => x.finalizaEmpenho == true).length > 0 &&\r\n listaEmpenhoStatus.filter(x => x.idStatusEmpenho ==\r\n listaStatusEmpenho.filter(x => x.finalizaEmpenho == true)[0].id).length == 0\r\n ? (newRow) => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n InserirMulta(newRow);\r\n resolve()\r\n }, 1000)\r\n }) : null,\r\n\r\n\r\n onRowUpdate:\r\n listaEmpenhoStatus != undefined && listaStatusEmpenho != undefined &&\r\n listaStatusEmpenho.filter(x => x.finalizaEmpenho == true).length > 0 &&\r\n listaEmpenhoStatus.filter(x => x.idStatusEmpenho ==\r\n listaStatusEmpenho.filter(x => x.finalizaEmpenho == true)[0].id).length == 0\r\n ? (newRow, oldRow) => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n AlterarMulta(newRow);\r\n resolve()\r\n }, 1000)\r\n }) : null,\r\n\r\n onRowDelete:\r\n listaEmpenhoStatus != undefined && listaStatusEmpenho != undefined &&\r\n listaStatusEmpenho.filter(x => x.finalizaEmpenho == true).length > 0 &&\r\n listaEmpenhoStatus.filter(x => x.idStatusEmpenho ==\r\n listaStatusEmpenho.filter(x => x.finalizaEmpenho == true)[0].id).length == 0\r\n ?\r\n oldData => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n ExcluirMulta(oldData.idMulta);\r\n resolve()\r\n }, 1000)\r\n }) : null\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n }}\r\n localization={{\r\n header: {\r\n actions: 'Ações'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n
\r\n \r\n Total Multa Empenho\r\n \r\n \r\n
\r\n \r\n \r\n {\r\n id == undefined ?\r\n ''\r\n :\r\n listaEmpenhoStatus != undefined && listaStatusEmpenho != undefined &&\r\n listaStatusEmpenho.filter(x => x.cancelaEmpenho == true).length > 0 &&\r\n listaEmpenhoStatus.filter(x => x.idStatusEmpenho ==\r\n listaStatusEmpenho.filter(x => x.cancelaEmpenho == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n O Empenho está Cancelado!\r\n \r\n \r\n :\r\n listaEmpenhoStatus != undefined && listaStatusEmpenho != undefined &&\r\n listaStatusEmpenho.filter(x => x.finalizaEmpenho == true).length > 0 &&\r\n listaEmpenhoStatus.filter(x => x.idStatusEmpenho ==\r\n listaStatusEmpenho.filter(x => x.finalizaEmpenho == true)[0].id).length > 0\r\n ?\r\n \r\n \r\n O Empenho está Finalizado!\r\n \r\n \r\n :\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 { useEffect, useState } from \"react\";\r\nimport { Col, Form } from \"react-bootstrap\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { ListarDiferencaEmpenhoRequest } from \"../../../store/modules/empenhoStatus/actions\";\r\nimport MaterialTable from 'material-table';\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport moment from 'moment';\r\nimport IntlCurrencyInput from \"react-intl-currency-input\";\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function Diferenca() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const listarDiferencaEmpenho = useSelector(state => state.empenhoStatus.listarDiferencaEmpenho);\r\n const carregando = useSelector(state => state.empenhoStatus.carregando);\r\n\r\n const [listaHierarquiaCompleta, setListaHierarquiaCompleta] = useState([]);\r\n const [valorTotalDiferenca, setValorTotalDiferenca] = useState(0);\r\n\r\n const currencyConfig = {\r\n locale: \"pt-BR\",\r\n formats: {\r\n number: {\r\n BRL: {\r\n style: \"currency\",\r\n currency: \"BRL\",\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n },\r\n },\r\n },\r\n };\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n if (id != undefined) {\r\n dispatch(ListarDiferencaEmpenhoRequest(id));\r\n }\r\n\r\n }, [id])\r\n\r\n useEffect(() => {\r\n\r\n if (listarDiferencaEmpenho != undefined)\r\n ConstroiHierarquia()\r\n\r\n }, [listarDiferencaEmpenho])\r\n\r\n function ConstroiHierarquia() {\r\n\r\n let hierarquiaCompleta = [];\r\n let valorTotal = 0.0;\r\n\r\n if (listarDiferencaEmpenho != undefined) {\r\n\r\n listarDiferencaEmpenho.map((autorizacaoFornecimento) => {\r\n\r\n if (autorizacaoFornecimento.listaValorEntregaDiferenca.length > 0) {\r\n\r\n hierarquiaCompleta.push({\r\n id: autorizacaoFornecimento.idAutorizacaoFornecimento,\r\n numeroAutorizacao: autorizacaoFornecimento.idAutorizacaoFornecimento,\r\n valorTotalDiferenca: autorizacaoFornecimento.valorTotalDiferenca,\r\n item: null,\r\n quantidade: null,\r\n diferenca: null,\r\n valor: null,\r\n valorDeduzir: null\r\n });\r\n valorTotal += autorizacaoFornecimento.valorTotalDiferenca\r\n autorizacaoFornecimento.listaValorEntregaDiferenca.map(function (diferenca, y) {\r\n var x = ('D').concat(diferenca.idAutorizacaoFornecimento).concat(diferenca.idSubitemCusto)\r\n hierarquiaCompleta.push({\r\n id: x,\r\n parentId: diferenca.idAutorizacaoFornecimento,\r\n numeroAutorizacao: null,\r\n valorTotalDiferenca: null,\r\n item: diferenca.item,\r\n quantidade: diferenca.quantidade,\r\n diferenca: diferenca.diferenca,\r\n valor: diferenca.valor,\r\n valorDeduzir: diferenca.valorTotal\r\n });\r\n })\r\n }\r\n })\r\n\r\n setListaHierarquiaCompleta(hierarquiaCompleta);\r\n setValorTotalDiferenca(valorTotal);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n\r\n {\r\n carregando && \r\n listarDiferencaEmpenho != null\r\n ?\r\n\r\n
\r\n \r\n rowData.valorTotalDiferenca === null ?\r\n null\r\n :\r\n rowData.valorTotalDiferenca.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n })\r\n },\r\n {\r\n title: 'Item', field: 'item', cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: 'Quantidade Fiscalizada', field: 'quantidade', cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: 'Diferença', field: 'diferenca', cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: 'Valor Unitário', field: 'valor', cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n {\r\n title: 'Valor a Deduzir', field: 'valorDeduzir', cellStyle: {\r\n width: '15%'\r\n }\r\n },\r\n ]}\r\n data={listaHierarquiaCompleta}\r\n parentChildData={(row, rows) => rows.find(a => a.id === row.parentId)}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (rowData.item === null) ? '#9D9999' : '#BCB8B8'\r\n })\r\n }}\r\n localization={{\r\n header: {\r\n actions: 'Ações'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n
\r\n \r\n Total Diferença Empenho\r\n \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 { Row, Col, Card, Tabs, Tab } from \"react-bootstrap\";\r\nimport { FaMoneyCheckAlt } from \"react-icons/fa\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { ListarCompletoEmpenhoStatusRequest } from \"../../../store/modules/empenhoStatus/actions\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport Empenho from '../Empenho/empenho';\r\nimport Status from '../Status/status';\r\nimport Definitivo from '../Definitivo/definitivo';\r\nimport Parcial from '../Parcial/parcial';\r\nimport DocumentoArquivo from '../DocumentoArquivo/documentoArquivo';\r\nimport HistoricoStatus from '../HistoricoStatus/historicoStatus';\r\nimport Header from \"../../../components/Header/header\";\r\nimport Multa from \"../Multa/multa\";\r\nimport Diferenca from \"../Diferenca/diferenca\";\r\n\r\nexport default function Abas() {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n //Permissão de Visualizar\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const history = useHistory();\r\n useEffect(() => {\r\n if (token.role.filter(r => r == \"EmpenhoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (id != undefined) {\r\n dispatch(ListarCompletoEmpenhoStatusRequest(id));\r\n }\r\n\r\n }, [])\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Empenho\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\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 React, { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { IoDocumentText } from 'react-icons/io5';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Col, Card, Button, Form, Dropdown, Row } from \"react-bootstrap\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { FaSearchPlus } from \"react-icons/fa\";\r\nimport {\r\n AlterarMedicaoAutorizacaoFornecimentoRequest,\r\n InserirMedicaoAutorizacaoFornecimentoRequest\r\n} from \"../../../store/modules/medicaoAutorizacaoFornecimento/actions\";\r\nimport { ListarStatusMedicaoAutorizacaoFornecimentoRequest } from \"../../../store/modules/statusMedicaoAutorizacaoFornecimento/actions\";\r\nimport { ListarUsuarioRequest } from \"../../../store/modules/usuario/actions\";\r\nimport { ListarAutorizacaoFornecimentoRequest } from \"../../../store/modules/autorizacaoFornecimento/actions\";\r\nimport { toast } from \"react-toastify\";\r\nimport { ListarContratoUsuarioRequest } from '../../../store/modules/contratoUsuario/actions';\r\nimport MaterialTable, { MTableFilterRow } from \"material-table\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport moment from 'moment';\r\nimport Select from 'react-select';\r\nimport 'moment/locale/pt-br';\r\nimport Cookies from 'universal-cookie';\r\nimport urlBase from '../../../services/rotas';\r\nimport { AtualizarToken } from \"../../../store/modules/global/actions\";\r\nimport { FaPlus } from \"react-icons/fa\";\r\nimport ptBR from \"date-fns/locale/pt-BR\";\r\nimport { RiFilter3Line } from \"react-icons/ri\";\r\n\r\nexport default function Listar() {\r\n\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const tableRef = React.createRef();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n const cookies = new Cookies();\r\n const [query, setQuery] = useState(\"\");\r\n\r\n const carregando = useSelector(state => state.medicaoAutorizacaoFornecimento.carregando);\r\n const listaStatusMedicaoAutorizacaoFornecimento = useSelector(state => state.statusMedicaoAutorizacaoFornecimento.listaStatusMedicaoAutorizacaoFornecimento);\r\n const listaContratoUsuario = useSelector(state => state.contratoUsuario.listaContratoUsuario);\r\n const listaAutorizacaoFornecimento = useSelector(state => state.autorizacaoFornecimento.listaAutorizacaoFornecimento);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [dataMedicao, setDataMedicao] = useState('');\r\n\r\n // Filtros\r\n\r\n let [filtros] = useState(JSON.parse(localStorage.getItem('filtro-medicao-autorizacao-fornecimento')));\r\n const [numeroAfFiltro, setNumeroAfFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.numeroAfFiltro : 0);\r\n const [descricaoFiltro, setDescricaoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.descricaoFiltro : '');\r\n const [totalMedicaoFiltro, setTotalMedicaoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.totalMedicaoFiltro : '');\r\n const [usuarioFiltro, setUsuarioFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.usuarioFiltro : '');\r\n const [observacaoFiltro, setObservacaoFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.observacaoFiltro : '');\r\n const [statusFiltro, setStatusFiltro] = useState(filtros != null && usuario.historicoFiltro ? filtros.statusFiltro : 0);\r\n\r\n const [dataInicio, setDataInicio] = useState(null);\r\n const [dataFinal, setDataFinal] = useState(null);\r\n\r\n const options = listaAutorizacaoFornecimento != undefined ?\r\n listaAutorizacaoFornecimento.map(af => ({\r\n value: af.id, label: af.numeroAf\r\n }))\r\n :\r\n [];\r\n\r\n const optionsStatus = [\r\n { value: '1', label: \"Inicial\" },\r\n { value: '3', label: \"Medição Finalizada\" },\r\n { value: '4', label: \"Cancelada\" },\r\n { value: '5-1', label: \"Pendente de Quantidade (Cliente)\" },\r\n { value: '5-2', label: \"Pendente de Quantidade (Fornecedor)\" },\r\n { value: '5-3', label: \"Pendente de Quantidade (Ambos)\" },\r\n { value: '5-4', label: \"Pendente de Quantidade (Nenhum)\" },\r\n\r\n ];\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"AutorizacaoFornecimentoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"AutorizacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"AutorizacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarUsuarioRequest());\r\n dispatch(ListarContratoUsuarioRequest());\r\n dispatch(ListarStatusMedicaoAutorizacaoFornecimentoRequest());\r\n dispatch(ListarAutorizacaoFornecimentoRequest());\r\n dispatch(AtualizarToken());\r\n TrocarData(filtros);\r\n \r\n }, [])\r\n\r\n\r\n function ValidacoesInserir(medicao) {\r\n\r\n // Valida o campo medição descrição\r\n if (medicao.descricao == ' ' || medicao.descricao == ''\r\n || medicao.descricao == null || medicao.descricao == undefined) {\r\n toast.error(`Descrição Inválida`);\r\n return false;\r\n }\r\n\r\n if (medicao.descricao.length > 200) {\r\n toast.error(`A descrição não pode conter mais que 200 caracteres`);\r\n return false;\r\n }\r\n\r\n // Valida o campo Data Medição\r\n if (medicao.dataApi == undefined || medicao.dataApi == null) {\r\n toast.error('É preciso selecionar a data da medição');\r\n return false;\r\n }\r\n\r\n // Valida o campo medição observação\r\n if (medicao.observacao !== undefined) {\r\n if (medicao.observacao.trim().length > 500) {\r\n toast.error('A observação não pode conter mais que 500 caracteres');\r\n return false;\r\n }\r\n }\r\n\r\n if (document.getElementById('idSelectAF') != null && document.getElementById('idSelectAF') != undefined) {\r\n\r\n var selectTextAf = document.getElementById('idSelectAF').innerText;\r\n var selectSelecionadoAf = listaAutorizacaoFornecimento.filter(af => af.numeroAf == selectTextAf);\r\n if (selectSelecionadoAf.length > 0) {\r\n if (listaContratoUsuario !== undefined && usuario !== undefined &&\r\n selectSelecionadoAf != null && selectSelecionadoAf[0].solicitacaoFornecimentoVersao != null &&\r\n selectSelecionadoAf[0].solicitacaoFornecimentoVersao.solicitacaoFornecimento != null &&\r\n selectSelecionadoAf[0].solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao != null &&\r\n selectSelecionadoAf[0].solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato != null\r\n && listaContratoUsuario.filter(x => x.iniciarMedicao == true && x.idUsuario == usuario.id &&\r\n x.idContrato == selectSelecionadoAf[0].solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato).length == 0) {\r\n toast.error(`Você não tem permissão para iniciar uma medição relacionada ao \r\n contrato ${selectSelecionadoAf[0].solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato}`);\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if (medicao.idAutorizacaoFornecimento !== undefined && medicao.idAutorizacaoFornecimento !== null &&\r\n listaAutorizacaoFornecimento !== null && listaAutorizacaoFornecimento !== undefined) {\r\n\r\n var afSelecionada = listaAutorizacaoFornecimento.filter(x => x.id == medicao.idAutorizacaoFornecimento)[0]\r\n if (afSelecionada !== undefined && afSelecionada !== null) {\r\n if (listaContratoUsuario !== undefined && usuario !== undefined &&\r\n listaContratoUsuario.filter(x => x.iniciarMedicao == true && x.idUsuario == usuario.id &&\r\n x.idContrato == afSelecionada.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato).length == 0) {\r\n toast.error(`Você não tem permissão para iniciar uma medição relacionada ao \r\n contrato ${afSelecionada.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato}`);\r\n return false;\r\n }\r\n }\r\n\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function AlterarMedicao(medicao) {\r\n\r\n let data = {\r\n 'Id': medicao.id,\r\n 'IdAutorizacaoFornecimento': parseInt(medicao.idAutorizacaoFornecimento),\r\n 'IdUsuario': medicao.idUsuario,\r\n 'DataMedicao': medicao.dataApi,\r\n 'Observacao': medicao.observacao.trim(),\r\n 'Descricao': medicao.descricao\r\n }\r\n\r\n dispatch(AlterarMedicaoAutorizacaoFornecimentoRequest(data));\r\n\r\n }\r\n\r\n function InserirMedicao(medicao) {\r\n\r\n if (document.getElementById('idSelectAF') != null && document.getElementById('idSelectAF') != undefined) {\r\n\r\n var selectTextAf = document.getElementById('idSelectAF').innerText;\r\n var selectSelecionadoAf = listaAutorizacaoFornecimento.filter(af => af.numeroAf == selectTextAf);\r\n if (selectSelecionadoAf.length > 0) {\r\n\r\n let data = {\r\n 'Id': parseInt(0),\r\n 'IdAutorizacaoFornecimento': parseInt(selectSelecionadoAf[0].id),\r\n 'IdUsuario': parseInt(usuario.id),\r\n 'DataMedicao': medicao.dataApi,\r\n 'DataInclusao': moment((new Date())).add('hours', 2),\r\n 'Observacao': medicao.observacao,\r\n 'Descricao': medicao.descricao\r\n }\r\n\r\n dispatch(InserirMedicaoAutorizacaoFornecimentoRequest(data));\r\n\r\n setDataMedicao(null);\r\n } else {\r\n toast.error(\"Autorização de Fornecimento não selecionada!\");\r\n }\r\n\r\n }\r\n }\r\n\r\n function TrocarData(filtros){\r\n\r\n if(filtros.numeroAfFiltro === '' && filtros.descricaoFiltro === '' && filtros.statusFiltro === '' && \r\n filtros.usuarioFiltro === '' && filtros.observacaoFiltro === '' && !dataInicio && !dataFinal){\r\n setDataInicio(moment().startOf('month'))\r\n setDataFinal(moment().endOf('month'))\r\n }\r\n\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Medição Autorização Fornecimento\r\n \r\n \r\n \r\n
\r\n (\r\n {\r\n props.onFilterChanged(columnId, val);\r\n // Do what you want to\r\n\r\n }}\r\n />\r\n ),\r\n }}\r\n title={''}\r\n tableRef={tableRef}\r\n columns={[\r\n {\r\n title: 'Número AF', field: 'idAutorizacaoFornecimento', cellStyle: {\r\n width: '10%',\r\n },\r\n editable: 'onAdd',\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value ? e.value.toString() : false)\r\n }}\r\n defaultValue={numeroAfFiltro !== 0 && numeroAfFiltro !== null && numeroAfFiltro !== '' && options.length > 0\r\n && options.filter(x => x.value == parseInt(numeroAfFiltro)).length > 0 ?\r\n { value: options.filter(x => x.value == parseInt(numeroAfFiltro))[0].value, label: options.filter(x => x.value == parseInt(numeroAfFiltro))[0].label }\r\n : ''}\r\n />\r\n )\r\n },\r\n lookup:\r\n listaAutorizacaoFornecimento ?\r\n listaAutorizacaoFornecimento.map(af => {\r\n return {\r\n id: af.id, descricao: af.numeroAf\r\n }\r\n }).reduce(function (acc, cur, i) {\r\n acc[cur.id] = cur.descricao;\r\n return acc;\r\n }, {})\r\n :\r\n null,\r\n editComponent: (props) => (\r\n emp.id == props.value).length > 0\r\n ? listaEmpenho.filter(emp => emp.id == props.value)[0].descricao\r\n : 'Selecione...'\r\n }}\r\n />\r\n ),\r\n },\r\n {\r\n title: 'Usuario', field: 'usuario', editable: 'never', cellStyle: {\r\n width: '10%',\r\n }\r\n },\r\n {\r\n title: 'Data Pagamento', field: 'dataPagamento', editable: 'never', cellStyle: {\r\n width: '10%',\r\n }\r\n },\r\n {\r\n title: 'Cancelado', field: 'cancelado', cellStyle: {\r\n width: '10%',\r\n }, editable: 'onUpdate',\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { }} />)\r\n },\r\n {\r\n title: 'Observação Cancelamento', field: 'observacaoCancelamento', editable: 'onUpdate', cellStyle: {\r\n width: '10%',\r\n }\r\n },\r\n {\r\n title: 'Usuario Cancelamento', field: 'nomeUsuarioCancelamento', editable: 'never', cellStyle: {\r\n width: '10%',\r\n }\r\n },\r\n {\r\n title: 'Data Cancelamento', field: 'dataCancelamento', editable: 'never', cellStyle: {\r\n width: '10%',\r\n }\r\n }\r\n ]}\r\n data={\r\n listaFaturamento != undefined ?\r\n listaFaturamento.map(faturamento => {\r\n return {\r\n id: faturamento.id,\r\n descricao: faturamento.descricao,\r\n observacao: faturamento.observacao,\r\n usuario: faturamento.usuario.nome,\r\n idEmpenho: faturamento.idEmpenho,\r\n idUsuario: faturamento.idUsuario,\r\n dataPagamento: moment(faturamento.dataPagamento).format('L LT'),\r\n data: faturamento.dataPagamento,\r\n valorOriginal: faturamento.valorOriginal,\r\n valorPago: faturamento.valorPago,\r\n cancelado: faturamento.cancelado,\r\n idUsuarioCancelamento: faturamento.idUsuarioCancelamento == null ? '' : faturamento.idUsuarioCancelamento,\r\n nomeUsuarioCancelamento: faturamento.idUsuarioCancelamento == null ? '' : faturamento.usuarioCancelamento.nome,\r\n observacaoCancelamento: faturamento.observacaoCancelamento,\r\n dataCancelamentoApi: faturamento.dataCancelamento == null ? '' : faturamento.dataCancelamento,\r\n dataCancelamento: faturamento.dataCancelamento == null ? '' : moment(faturamento.dataCancelamento).format('L LT')\r\n }\r\n })\r\n :\r\n []\r\n }\r\n editable={{\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n inserir == true ?\r\n setTimeout(() => {\r\n AdicionarFaturamento(newRow);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowUpdate: (newRow, oldRow) => new Promise((resolve, reject) => {\r\n alterar == true ?\r\n setTimeout(() => {\r\n AlterarFaturamento(newRow);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n }}\r\n onRowClick={((evt, selectedRow) => setSelectedRow(selectedRow.tableData.id))}\r\n options={{\r\n minBodyHeight: 500,\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n exportButton: true,\r\n exportAllData: true,\r\n filtering: true,\r\n grouping: true,\r\n exportFileName: 'tabelaExportada',\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n actions={[\r\n rowData => ({\r\n icon: 'description',\r\n tooltip: 'Documentos',\r\n onClick: (event, rowData) => { AlterarValores(rowData.id) }\r\n })\r\n ]}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n )\r\n}","export default __webpack_public_path__ + \"static/media/relatorio_solicitacoes.a7f8cb24.png\";","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/relatorio_subitens.8b5aeb66.png\";","import { Modal, Button, Form, Col, Row } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { ListarContratoRequest } from \"../../store/modules/contrato/actions\";\r\nimport { ListarPrioridadeRequest } from \"../../store/modules/prioridade/actions\";\r\nimport { ListarStatusSolicitacaoFornecimentoCompletoRequest } from \"../../store/modules/statusSolicitacaoFornecimento/actions\";\r\nimport { ListarStatusAutorizacaoFornecimentoRequest } from \"../../store/modules/statusAutorizacaoFornecimento/actions\";\r\nimport { ListarStatusMedicaoAutorizacaoFornecimentoRequest } from \"../../store/modules/statusMedicaoAutorizacaoFornecimento/actions\";\r\nimport { ListarAutorizacaoFornecimentoRequest } from \"../../store/modules/autorizacaoFornecimento/actions\";\r\nimport { ListarEmpenhoRequest } from '../../store/modules/empenho/actions';\r\nimport Select from 'react-select';\r\n\r\nexport default function ModalFiltroRelatorio({ show, onHide, BaixarRelatorioTodasSolicitacoes,\r\n BaixarRelatorioTodasAutorizacoes, BaixarRelatorioTodasMedicoes, BaixarRelatorioTodosSubitens,\r\n BaixarRelatorioStatusSolicitacao, RelatorioSelecionado, BaixarRelatorioTodosSubitensTro }) {\r\n\r\n const dispatch = useDispatch();\r\n const [validated, setValidated] = useState(false);\r\n const [idContrato, setIdContrato] = useState(''); \r\n const [dataInicio, setDataInicio] = useState(null);\r\n const [dataFim, setDataFim] = useState(null); \r\n const [data, setData] = useState(null);\r\n const [idPrioridade, setIdPrioridade] = useState(null);\r\n const [idStatusSolicitacao, setIdStatusSolicitacao] = useState(null);\r\n const [idStatusAF, setIdStatusAF] = useState(null);\r\n const [idStatusMedicao, setIdStatusMedicao] = useState(null);\r\n const [idAF, setIdAF] = useState(''); \r\n const [idEmpenho, setIdEmpenho] = useState(''); \r\n \r\n const listaContrato = useSelector(state => state.contrato.listaContrato);\r\n const listaPrioridade = useSelector(state => state.prioridade.listaPrioridade);\r\n const listaStatusSolicitacaoFornecimentoCompleto = useSelector(state => state.statusSolicitacaoFornecimento.listaStatusSolicitacaoFornecimentoCompleto);\r\n const listaStatusAutorizacaoFornecimento = useSelector(state => state.statusAutorizacaoFornecimento.listaStatusAutorizacaoFornecimento);\r\n const listaStatusMedicao = useSelector(state => state.statusMedicaoAutorizacaoFornecimento.listaStatusMedicaoAutorizacaoFornecimento);\r\n const listaAutorizacaoFornecimento = useSelector(state => state.autorizacaoFornecimento.listaAutorizacaoFornecimento);\r\n const listaEmpenho = useSelector(state => state.empenho.listaEmpenho);\r\n\r\n const options = listaAutorizacaoFornecimento != undefined && listaAutorizacaoFornecimento ?\r\n listaAutorizacaoFornecimento.filter(x => \r\n x.solicitacaoFornecimentoVersao.solicitacaoFornecimento != undefined &&\r\n x.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao != undefined &&\r\n x.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato !== undefined && \r\n x.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato == idContrato)\r\n .map(af => (\r\n af.solicitacaoFornecimentoVersao.solicitacaoFornecimento != undefined &&\r\n af.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao != undefined &&\r\n af.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato !== undefined &&\r\n af.solicitacaoFornecimentoVersao.solicitacaoFornecimento.contratoVersao.idContrato == idContrato ?\r\n { value: af.id, label: af.numeroAf } \r\n :\r\n ''\r\n ))\r\n :\r\n [];\r\n\r\n const optionsEmpenho = listaEmpenho != undefined && listaEmpenho ?\r\n listaEmpenho.filter(x => \r\n x.idContrato !== undefined && x.idContrato == idContrato).map(e => (\r\n e.idContrato !== undefined && e.idContrato == idContrato ?\r\n { value: e.id, label: e.descricao } \r\n :\r\n ''\r\n ))\r\n :\r\n [];\r\n\r\n useEffect(() => {\r\n dispatch(ListarEmpenhoRequest());\r\n dispatch(ListarContratoRequest());\r\n dispatch(ListarPrioridadeRequest());\r\n dispatch(ListarStatusSolicitacaoFornecimentoCompletoRequest());\r\n dispatch(ListarStatusAutorizacaoFornecimentoRequest());\r\n dispatch(ListarStatusMedicaoAutorizacaoFornecimentoRequest());\r\n dispatch(ListarAutorizacaoFornecimentoRequest());\r\n }, [])\r\n\r\n const handleSubmit = (event) => {\r\n\r\n event.preventDefault();\r\n\r\n if (idContrato == undefined || idContrato == '') {\r\n setValidated(true);\r\n } else {\r\n\r\n \r\n\r\n switch (RelatorioSelecionado) {\r\n case 'BaixarRelatorioTodasSolicitacoes':\r\n\r\n let dataSolicitacao = {\r\n 'IdContrato': idContrato != null ? parseInt(idContrato) : null,\r\n 'IdStatus': idStatusSolicitacao != null ? parseInt(idStatusSolicitacao): null,\r\n 'DataInicio': dataInicio != null? dataInicio : null,\r\n 'DataFim': dataFim != null? dataFim : null,\r\n 'IdPrioridade': idPrioridade != null ? parseInt(idPrioridade) : null\r\n } \r\n BaixarRelatorioTodasSolicitacoes(dataSolicitacao);\r\n break;\r\n \r\n case 'BaixarRelatorioTodasAutorizacoes':\r\n \r\n let dataAutorizacao = {\r\n 'IdContrato': idContrato != null ? parseInt(idContrato) : null,\r\n 'IdStatus': idStatusAF != null ? parseInt(idStatusAF): null,\r\n 'DataInicio': dataInicio != null? dataInicio : null,\r\n 'DataFim': dataFim != null? dataFim : null,\r\n 'IdPrioridade': idPrioridade != null ? parseInt(idPrioridade) : null\r\n } \r\n BaixarRelatorioTodasAutorizacoes(dataAutorizacao);\r\n break;\r\n \r\n case 'BaixarRelatorioTodasMedicoes':\r\n \r\n let dataMedicao = {\r\n 'IdContrato': idContrato != null ? parseInt(idContrato) : null,\r\n 'IdStatus': idStatusMedicao != null ? parseInt(idStatusMedicao): null,\r\n 'DataInicio': dataInicio != null? dataInicio : null,\r\n 'DataFim': dataFim != null? dataFim : null,\r\n 'IdAutorizacao': idAF != null ? parseInt(idAF) : null\r\n } \r\n BaixarRelatorioTodasMedicoes(dataMedicao);\r\n break;\r\n \r\n case 'BaixarRelatorioTodosSubitens':\r\n BaixarRelatorioTodosSubitens(idContrato);\r\n break; \r\n\r\n case 'BaixarRelatorioTodosSubitensTro':\r\n\r\n let dataSubitem = {\r\n 'IdContrato': idContrato != null ? parseInt(idContrato) : null,\r\n 'IdEmpenho': idEmpenho != null ? parseInt(idEmpenho): null,\r\n } \r\n BaixarRelatorioTodosSubitensTro(dataSubitem);\r\n break; \r\n\r\n case 'BaixarRelatorioStatusSolicitacao':\r\n BaixarRelatorioStatusSolicitacao(idContrato);\r\n break;\r\n }\r\n setValidated(false);\r\n onHide();\r\n setIdContrato('');\r\n setDataInicio(null);\r\n setDataFim(null);\r\n setIdPrioridade(null);\r\n setIdStatusSolicitacao(null);\r\n setIdStatusAF(null);\r\n setIdStatusMedicao(null);\r\n setIdAF('');\r\n setIdEmpenho('');\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Escolha os filtros\r\n \r\n \r\n \r\n \r\n \r\n Contrato\r\n setIdContrato(e.target.value)}\r\n value={idContrato}\r\n required\r\n isInvalid={validated && idContrato === \"\" ? true : false}\r\n isValid={validated && idContrato !== \"\" ? true : false}>\r\n \r\n {\r\n listaContrato != undefined ?\r\n listaContrato.map(m => (\r\n \r\n ))\r\n :\r\n null\r\n }\r\n \r\n O contrato é obrigatório.\r\n \r\n {\r\n RelatorioSelecionado == 'BaixarRelatorioTodosSubitensTro' ? \r\n \r\n Empenho\r\n soli.id == idAF).length > 0\r\n ? listaAutorizacaoFornecimento.filter(soli => soli.id == idAF)[0].descricao\r\n : 'Selecione...'\r\n }}\r\n onChange={(e) => {setIdAF(e.value)}}\r\n />\r\n \r\n :\r\n '' \r\n } \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}","export default __webpack_public_path__ + \"static/media/relatorio_medicoes.6ebb1201.png\";","import { Card, Col, Container, Row, Button } from \"react-bootstrap\";\r\nimport { BaixarRelatorioTodasSolicitacoesRequest, BaixarRelatorioTodasAutorizacoesRequest, \r\n BaixarRelatorioTodosSubitensRequest, BaixarRelatorioTodasMedicoesRequest,\r\n BaixarRelatorioStatusSolicitacaoRequest, BaixarRelatorioTodosSubitensTroRequest } from \"../../../store/modules/relatorio/actions\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useEffect, useState } from \"react\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport './relatorio.css';\r\nimport { SiMicrosoftexcel } from \"react-icons/si\";\r\nimport LogoRelatorioSolicitacao from '../../../assets/relatorio_solicitacoes.png';\r\nimport LogoRelatorioAutorizacao from '../../../assets/relatorio_autorizacoes.png';\r\nimport LogoRelatorioSubitens from '../../../assets/relatorio_subitens.png';\r\nimport ModalFiltroRelatorio from \"../../../components/ModalFiltroRelatorio/modalFiltroRelatorio\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { toast } from \"react-toastify\";\r\nimport LogoRelatorioMedicao from '../../../assets/relatorio_medicoes.png';\r\n\r\nexport default function Relatorio() {\r\n \r\n const dispatch = useDispatch();\r\n const [show, setShow] = useState(false);\r\n const [relatorioSelecionado, setRelatorioSelecionado] = useState('');\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n //Permissão de Visualizar\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const history = useHistory();\r\n useEffect(() => {\r\n if (token.role.filter(r => r == \"RelatorioMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, []) \r\n \r\n function BaixarRelatorioTodasSolicitacoes(dataSolicitacao) {\r\n dispatch(BaixarRelatorioTodasSolicitacoesRequest(dataSolicitacao)); \r\n }\r\n\r\n function BaixarRelatorioTodasMedicoes(dataMedicao) { \r\n dispatch(BaixarRelatorioTodasMedicoesRequest(dataMedicao));\r\n }\r\n\r\n function BaixarRelatorioTodasAutorizacoes(dataAutorizacao) { \r\n dispatch(BaixarRelatorioTodasAutorizacoesRequest(dataAutorizacao));\r\n }\r\n\r\n function BaixarRelatorioTodosSubitens(idContrato) {\r\n dispatch(BaixarRelatorioTodosSubitensRequest(idContrato));\r\n }\r\n\r\n function BaixarRelatorioTodosSubitensTro(dataEmpenho) {\r\n\r\n if(!isNaN(dataEmpenho.IdContrato) && !isNaN(dataEmpenho.IdEmpenho) && dataEmpenho.IdContrato && dataEmpenho.IdEmpenho){\r\n dispatch(BaixarRelatorioTodosSubitensTroRequest(dataEmpenho));\r\n }\r\n else{\r\n toast.error('Preencha todos os campos');\r\n }\r\n \r\n }\r\n\r\n function clickRelatorio(metodoDispatch) {\r\n setRelatorioSelecionado(metodoDispatch);\r\n handleShow();\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n );\r\n}","export function ListarCategoriaItemRequest() {\r\n return {\r\n type: 'LISTAR_CATEGORIA_ITEM_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarCategoriaItemResponse(listaCategoriaItem) {\r\n return {\r\n type: 'LISTAR_CATEGORIA_ITEM_RESPONSE',\r\n listaCategoriaItem\r\n }\r\n}\r\n\r\nexport function InserirCategoriaItemRequest(data) {\r\n return {\r\n type: 'INSERIR_CATEGORIA_ITEM_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarCategoriaItemRequest(data) {\r\n return {\r\n type: 'ALTERAR_CATEGORIA_ITEM_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirCategoriaItemRequest(id) {\r\n return {\r\n type: 'EXCLUIR_CATEGORIA_ITEM_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","export function ListarCategoriaItemSubitemCustoPrimarioRequest() {\r\n return {\r\n type: 'LISTAR_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarCategoriaItemSubitemCustoPrimarioResponse(listaCategoriaItemSubitemCustoPrimario) {\r\n return {\r\n type: 'LISTAR_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_RESPONSE',\r\n listaCategoriaItemSubitemCustoPrimario\r\n }\r\n}\r\n\r\nexport function InserirCategoriaItemSubitemCustoPrimarioRequest(data, idCategoriaItem, idContrato) {\r\n return {\r\n type: 'INSERIR_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_REQUEST',\r\n data, idCategoriaItem, idContrato\r\n }\r\n}\r\n\r\nexport function AlterarCategoriaItemSubitemCustoPrimarioRequest(data) {\r\n return {\r\n type: 'ALTERAR_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirCategoriaItemSubitemCustoPrimarioRequest(id, idCategoriaItem) {\r\n return {\r\n type: 'EXCLUIR_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_REQUEST',\r\n id, idCategoriaItem\r\n }\r\n}\r\n\r\nexport function ListarCompletoCategoriaItemSubitemCustoPrimarioRequest(data) {\r\n return {\r\n type: 'LISTAR_COMPLETO_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_REQUEST', data\r\n }\r\n}\r\n\r\nexport function ListarCompletoCategoriaItemSubitemCustoPrimarioResponse(listaCompletaCategoriaItemSubitemCustoPrimario) {\r\n return {\r\n type: 'LISTAR_COMPLETO_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_RESPONSE',\r\n listaCompletaCategoriaItemSubitemCustoPrimario\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { Row, Button, Modal, ModalFooter } from \"react-bootstrap\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useParams } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { InserirCategoriaItemSubitemCustoPrimarioRequest } from \"../../store/modules/categoriaItemSubitemCustoPrimario/actions\";\r\nimport { ListarSubitemCustoCompletoRequest } from \"../../store/modules/subitemCusto/actions\";\r\nimport { PatchedPagination } from \"../PatchedPagination/patchedPagination\";\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function ModalInserirSubitemCategoriaItem({ show, onHide, idCategoriaItem, idContrato }) {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n const usuario = JSON.parse(localStorage.getItem('token')).usuario;\r\n\r\n const empenhoCompleto = useSelector(state => state.empenho.empenhoCompleto);\r\n const listaSubitemCusto = useSelector(state => state.subitemCusto.listaCompletaSubitemCusto);\r\n\r\n const [listaSubitemData, setlistaSubitemData] = useState('');\r\n const [listaSubitem, setListaSubitem] = useState([]);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n if (idContrato != '' && idContrato != undefined) {\r\n dispatch(ListarSubitemCustoCompletoRequest({\r\n 'IdContrato': idContrato\r\n }));\r\n }\r\n\r\n }, [idContrato])\r\n\r\n useEffect(() => {\r\n\r\n if (listaSubitemCusto != undefined) {\r\n constroiData();\r\n }\r\n\r\n }, [listaSubitemCusto])\r\n\r\n function constroiData() {\r\n\r\n let subitemCompleto = [];\r\n\r\n if (listaSubitemCusto != undefined) {\r\n listaSubitemCusto.map((subitemCusto) => {\r\n subitemCompleto.push({\r\n id: subitemCusto.id,\r\n codigoInterno: subitemCusto.descricaoCodigoInterno,\r\n descricao: subitemCusto.descricao,\r\n valorUnitario: subitemCusto.valorUnitario,\r\n idSubitemCustoPrimario: subitemCusto.idSubitemCustoPrimario\r\n });\r\n })\r\n }\r\n\r\n setlistaSubitemData(subitemCompleto);\r\n }\r\n\r\n function Selecionar(data) {\r\n setListaSubitem(data);\r\n }\r\n\r\n function InserirCategoriaItemSubitemCustoPrimario() {\r\n\r\n var listaSubitemInsercao = listaSubitem.map((subitem) => {\r\n return {\r\n Id: 0,\r\n IdSubitemCusto: subitem.id,\r\n IdSubitemCustoPrimario: subitem.idSubitemCustoPrimario,\r\n IdCategoriaItem: idCategoriaItem\r\n }\r\n })\r\n\r\n dispatch(InserirCategoriaItemSubitemCustoPrimarioRequest(listaSubitemInsercao, idCategoriaItem, idContrato));\r\n onHide(true);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Novo Item\r\n \r\n \r\n \r\n rowData.valorUnitario === null ?\r\n null\r\n :\r\n rowData.valorUnitario.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 4,\r\n maximumFractionDigits: 4\r\n })\r\n }\r\n ]}\r\n data={listaSubitemData}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n }),\r\n selection: true\r\n }}\r\n onSelectionChange={\r\n rowData =>\r\n Selecionar(rowData)\r\n }\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n nRowsSelected: '{0} linha(s) selecionada'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n InserirCategoriaItemSubitemCustoPrimario()}\r\n >Adicionar Itens\r\n \r\n \r\n \r\n \r\n );\r\n}","import { useEffect, useState } from \"react\";\r\nimport { Button, Alert, Col, Modal, Container, Row } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useParams } from 'react-router-dom';\r\nimport { toast } from \"react-toastify\";\r\nimport { PatchedPagination } from \"../PatchedPagination/patchedPagination\";\r\nimport { ListarCompletoCategoriaItemSubitemCustoPrimarioRequest, ExcluirCategoriaItemSubitemCustoPrimarioRequest } from \"../../store/modules/categoriaItemSubitemCustoPrimario/actions\";\r\nimport { ListarSubitemCustoRequest } from \"../../store/modules/subitemCusto/actions\";\r\nimport ModalInserirSubitemCategoriaItem from \"../ModalInserirSubitemCategoriaItem/modalInserirSubitemCategoriaItem\"\r\nimport MaterialTable from 'material-table';\r\nimport moment from 'moment';\r\nimport 'moment/locale/pt-br';\r\n\r\nexport default function ModalCategoriaItemSubitemCustoPrimario({ show, onHide, idCategoriaItem, idContrato }) {\r\n\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const listaSubitemCusto = useSelector(state => state.subitemCusto.listaSubitemCusto);\r\n const listaCompletaCategoriaItemSubitemCustoPrimario = useSelector(state =>\r\n state.categoriaItemSubitemCustoPrimario.listaCompletaCategoriaItemSubitemCustoPrimario);\r\n\r\n const [showSubitem, setShowSubitem] = useState(false);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n const handleCloseSubitem = () => setShowSubitem(false);\r\n const handleShowSubitem = () => setShowSubitem(true);\r\n\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarSubitemCustoRequest());\r\n\r\n if (idCategoriaItem != undefined && idCategoriaItem != '') {\r\n\r\n var data = { 'IdCategoriaItem': idCategoriaItem }\r\n dispatch(ListarCompletoCategoriaItemSubitemCustoPrimarioRequest(data))\r\n }\r\n\r\n }, [idCategoriaItem])\r\n\r\n function ExcluirSubitem(idSubitem) {\r\n\r\n if (idCategoriaItem != undefined)\r\n dispatch(ExcluirCategoriaItemSubitemCustoPrimarioRequest(idSubitem, idCategoriaItem));\r\n }\r\n\r\n function InserirSubitem() {\r\n\r\n handleShowSubitem();\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Atenção\r\n \r\n \r\n \r\n \r\n \r\n\r\n Adicionar item\r\n }\r\n columns={[\r\n {\r\n title: 'Código Interno',\r\n field: 'codigoInterno',\r\n cellStyle: {\r\n width: '30%'\r\n },\r\n editable: 'never'\r\n },\r\n {\r\n title: 'Descrição Item',\r\n field: 'descricaoSubitem',\r\n filtering: false,\r\n cellStyle: {\r\n width: '70%'\r\n },\r\n editable: 'never'\r\n }\r\n ]}\r\n data={\r\n listaCompletaCategoriaItemSubitemCustoPrimario != undefined ?\r\n listaCompletaCategoriaItemSubitemCustoPrimario\r\n .map((categoriaItemSubitemCustoPrimario) => {\r\n return {\r\n id: categoriaItemSubitemCustoPrimario.id,\r\n codigoInterno: categoriaItemSubitemCustoPrimario.subitemCusto.descricaoCodigoInterno,\r\n descricaoSubitem: categoriaItemSubitemCustoPrimario.subitemCusto.descricao\r\n }\r\n })\r\n :\r\n []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true\r\n }}\r\n editable={{\r\n onRowDelete:\r\n oldData => new Promise((resolve, reject) => {\r\n setTimeout(() => {\r\n ExcluirSubitem(oldData.id);\r\n resolve()\r\n }, 1000)\r\n })\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\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 { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card, Button } from \"react-bootstrap\";\r\nimport {\r\n ListarCategoriaItemRequest, ExcluirCategoriaItemRequest,\r\n InserirCategoriaItemRequest, AlterarCategoriaItemRequest\r\n} from '../../../store/modules/categoriaItem/actions';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { MdCategory } from \"react-icons/md\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { ListarContratoRequest } from '../../../store/modules/contrato/actions';\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport ModalCategoriaItemSubitemCustoPrimario from \"../../../components/ModalCategoriaItemSubitemCustoPrimario/modalCategoriaItemSubitemCustoPrimario\";\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select';\r\nimport { FaPlus } from \"react-icons/fa\";\r\n\r\nexport default function CategoriaItem() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n\r\n const listaContrato = useSelector(state => state.contrato.listaContrato);\r\n const listaCategoriaItem = useSelector(state => state.categoriaItem.listaCategoriaItem);\r\n const carregando = useSelector(state => state.categoriaItem.carregando);\r\n\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [show, setShow] = useState(false);\r\n const [idCategoriaItem, setIdCategoriaItem] = useState('');\r\n const [idContrato, setIdContrato] = useState('');\r\n const [selectContrato, setSelectContrato] = useState(0);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const options = listaContrato != undefined ?\r\n listaContrato.map(contrato => ({\r\n value: contrato.id, label: contrato.descricao\r\n }))\r\n :\r\n [];\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"AuxiliaresMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"AuxiliaresInserir\").length == 1 && token.role.filter(r => r == \"AuxiliaresAlterar\").length == 1) {\r\n setTodasOperacoes(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarContratoRequest());\r\n dispatch(ListarCategoriaItemRequest());\r\n\r\n\r\n }, [])\r\n\r\n var selectTextContrato = '';\r\n var selectSelecionadoContrato = [];\r\n\r\n function ValidacoesInserir(categoriaItem) {\r\n\r\n // Pega o contrato selecionado\r\n if (document.getElementById('idSelectContrato') != null && listaContrato != undefined) {\r\n selectTextContrato = document.getElementById('idSelectContrato').innerText;\r\n selectSelecionadoContrato = listaContrato.filter(contrato => contrato.descricao == selectTextContrato);\r\n }\r\n\r\n //Validação do campo descrição\r\n if (categoriaItem.descricao == null || categoriaItem.descricao == undefined\r\n || categoriaItem.descricao.length > 50 || categoriaItem.descricao.trim() == '') {\r\n toast.error(`Descrição da categoria inválida`);\r\n return false;\r\n }\r\n\r\n if (selectSelecionadoContrato.length > 0) {\r\n return true;\r\n } else {\r\n toast.error(`Contrato não selecionado`);\r\n return false;\r\n }\r\n\r\n\r\n }\r\n\r\n function InserirCategoriaItem(categoriaItem) {\r\n\r\n let data = {\r\n 'Id': parseInt(0),\r\n 'Descricao': categoriaItem.descricao.trim(),\r\n 'IdContrato': parseInt(selectSelecionadoContrato[0].id)\r\n }\r\n\r\n dispatch(InserirCategoriaItemRequest(data));\r\n\r\n }\r\n\r\n function ValidacoesAlterar(categoriaItem) {\r\n\r\n //Validação do campo descrição\r\n if (categoriaItem.descricao == null || categoriaItem.descricao == undefined\r\n || categoriaItem.descricao.length > 50 || categoriaItem.descricao.trim() == '') {\r\n toast.error(`Descrição da categoria inválida`);\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function AlterarCategoriaItem(categoriaItem) {\r\n\r\n let data = {\r\n 'Id': categoriaItem.id,\r\n 'Descricao': categoriaItem.descricao.trim(),\r\n 'IdContrato': categoriaItem.idContrato\r\n }\r\n\r\n dispatch(AlterarCategoriaItemRequest(data))\r\n }\r\n\r\n function ExcluirCategoriaItem(id) {\r\n dispatch(ExcluirCategoriaItemRequest(id));\r\n }\r\n\r\n function VisualizarSubitem(categoriaItem) {\r\n setIdCategoriaItem(categoriaItem.id);\r\n setIdContrato(categoriaItem.idContrato);\r\n setShow(true);\r\n }\r\n\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 Categoria Item\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregando ?\r\n\r\n {\r\n if (rowData.descricao === undefined || rowData.descricao.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n }\r\n else if (rowData.descricao.trim().length > 50) {\r\n return \"A Descrição não pode conter mais que 50 caracteres\"\r\n }\r\n return true\r\n }, cellStyle: { width: '45%' }\r\n },\r\n {\r\n title: 'Contrato', field: 'idContrato', cellStyle: {\r\n width: '45%',\r\n }, editable: 'onAdd',\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value ? e.value.toString() : false)\r\n }}\r\n />\r\n )\r\n },\r\n lookup:\r\n listaContrato != undefined ?\r\n listaContrato.map(contrato => {\r\n return {\r\n id: contrato.id, descricao: contrato.descricao\r\n }\r\n }).reduce(function (acc, cur, i) {\r\n acc[cur.id] = cur.descricao;\r\n return acc;\r\n }, {})\r\n :\r\n null,\r\n editComponent: (props) => (\r\n bairro.id == props.value).length > 0\r\n ? listaBairro.filter(bairro => bairro.id == props.value)[0].descricao\r\n : 'Selecione...'\r\n }}\r\n />\r\n ),\r\n cellStyle: {\r\n width: '15%',\r\n }\r\n },\r\n {\r\n title: 'Cep', field: 'cep', cellStyle: {\r\n width: '10%',\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.value)}\r\n mask={'99.999-999'} id=\"idCep\" style={{ width: \"100%\" }} className=\"InputMask\" />\r\n ),\r\n },\r\n {\r\n title: 'DDD', field: 'numeroDddFixo', cellStyle: {\r\n width: '5%',\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.value)}\r\n style={{ width: \"100%\" }} id=\"idDDDFixo\" maxLength={2} className=\"InputMask\" />\r\n ),\r\n },\r\n {\r\n title: 'Telefone Fixo', field: 'numeroTelefoneFixo', cellStyle: {\r\n width: '10%',\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.value)}\r\n mask={\"9999 9999\"} id=\"idTelefoneFixo\" style={{ width: \"100%\" }} className=\"InputMask\" />\r\n ),\r\n },\r\n {\r\n title: 'DDD', field: 'numeroDdd', cellStyle: {\r\n width: '5%',\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.value)}\r\n mask={\"99\"} id=\"idDDD\" style={{ width: \"100%\" }} className=\"InputMask\" />\r\n ),\r\n },\r\n {\r\n title: 'Telefone', field: 'numeroTelefone', cellStyle: {\r\n width: '10%',\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.value)}\r\n mask={\"99999 9999\"} id=\"idTelefone\" style={{ width: \"100%\" }} className=\"InputMask\" />\r\n ),\r\n },\r\n {\r\n title: 'Deputado Vereador', field: 'deputadoVereador', cellStyle: {\r\n width: '5%',\r\n },\r\n customFilterAndSearch: (term, rowData) => term == rowData.deputadoVereador.toString(),\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value == 'ativado' ? 'true' :\r\n e != null && e.value == 'desativado' ? 'false' : null)\r\n }}\r\n />\r\n )\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { }} />)\r\n }\r\n ]}\r\n data={\r\n listaInteressado != undefined && listaInteressado.length > 0 ?\r\n listaInteressado.map(interessado => {\r\n return {\r\n id: interessado.id,\r\n nome: interessado.nome,\r\n endereco: interessado.endereco,\r\n cep: interessado.cep,\r\n numeroDddFixo: interessado.numeroDddFixo,\r\n numeroTelefoneFixo: interessado.numeroTelefoneFixo,\r\n numeroDdd: interessado.numeroDdd,\r\n numeroTelefone: interessado.numeroTelefone,\r\n bairro: interessado.idBairro,\r\n deputadoVereador: interessado.deputadoVereador,\r\n cargo: interessado.cargo\r\n }\r\n })\r\n :\r\n []\r\n }\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n editable={{\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n InserirInteressado(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowUpdate: (newRow, oldRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AlterarInteressado(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowDelete: oldData => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n ExcluirInteressado(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \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 { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card, Button } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n ListarOrgaoRequest, AlterarOrgaoRequest,\r\n InserirOrgaoRequest, ExcluirOrgaoRequest\r\n} from '../../../store/modules/orgao/actions';\r\nimport { IoPeopleOutline } from \"react-icons/io5\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport MaterialTable from 'material-table';\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Select from 'react-select';\r\nimport { FaPlus } from \"react-icons/fa\";\r\nimport InputMask from \"react-input-mask\";\r\n\r\n\r\nexport default function Interessado() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const carregando = useSelector(state => state.orgao.carregando);\r\n const listaOrgao = useSelector(state => state.orgao.listaOrgao);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"AuxiliaresMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"AuxiliaresInserir\").length == 1 && token.role.filter(r => r == \"AuxiliaresAlterar\").length == 1) {\r\n setTodasOperacoes(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(ListarOrgaoRequest())\r\n }, [])\r\n\r\n function ValidacoesInserir(orgao) {\r\n\r\n //valida o campo descrição\r\n if (orgao.descricao == null || orgao.descricao == undefined\r\n || orgao.descricao.trim() == '' || orgao.descricao.length > 100) {\r\n toast.error(`Orgão inválido`);\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function InserirOrgao(orgao) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'Descricao': orgao.descricao.trim(),\r\n 'Ativo': orgao.ativo,\r\n 'NomeSecretario': orgao.nomeSecretario,\r\n 'Cnpj': orgao.cnpj,\r\n 'NomeLogradouro': orgao.nomeLogradouro,\r\n 'NumeroLocal': orgao.numeroLocal,\r\n 'NumeroDddFixo': orgao.numeroDddFixo,\r\n 'NumeroTelefoneFixo': orgao.numeroTelefoneFixo,\r\n 'NumeroDdd': orgao.numeroDdd,\r\n 'NumeroTelefone': orgao.numeroTelefone,\r\n }\r\n\r\n dispatch(InserirOrgaoRequest(data))\r\n }\r\n\r\n function AlterarOrgao(orgao) {\r\n\r\n let data = {\r\n 'Id': parseInt(orgao.id),\r\n 'Descricao': orgao.descricao.trim(),\r\n 'Ativo': orgao.ativo,\r\n 'NomeSecretario': orgao.nomeSecretario,\r\n 'Cnpj': orgao.cnpj,\r\n 'NomeLogradouro': orgao.nomeLogradouro,\r\n 'NumeroLocal': orgao.numeroLocal,\r\n 'NumeroDddFixo': orgao.numeroDddFixo,\r\n 'NumeroTelefoneFixo': orgao.numeroTelefoneFixo,\r\n 'NumeroDdd': orgao.numeroDdd,\r\n 'NumeroTelefone': orgao.numeroTelefone,\r\n }\r\n\r\n dispatch(AlterarOrgaoRequest(data))\r\n\r\n }\r\n\r\n function ExcluirOrgao(idOrgao) {\r\n dispatch(ExcluirOrgaoRequest(idOrgao))\r\n }\r\n\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 Órgão\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregando ?\r\n\r\n {\r\n if (rowData.descricao === undefined || rowData.descricao.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n }\r\n else if (rowData.descricao.trim().length > 100) {\r\n return \"A descricao não pode conter mais que 100 caracteres\"\r\n }\r\n return true\r\n }\r\n },\r\n {\r\n title: 'Ativo', field: 'ativo', sorting: true,\r\n customFilterAndSearch: (term, rowData) => term == rowData.ativo.toString(),\r\n filterComponent: (props) => {\r\n return (\r\n {\r\n props.onFilterChanged(props.columnDef.tableData.id, e != null && e.value == 'ativado' ? 'true' :\r\n e != null && e.value == 'desativado' ? 'false' : null)\r\n }}\r\n />\r\n )\r\n },\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { }} />)\r\n },\r\n {\r\n title: 'Nome Secretário', field: 'nomeSecretario', editPlaceholder: 'Nome Secretário',\r\n },\r\n {\r\n title: 'CNPJ', field: 'cnpj', editPlaceholder: 'CNPJ',\r\n editComponent: (props) => (\r\n props.onChange(e.target.value)}\r\n mask={\"99.999.999/9999-99\"} id=\"Juridica\" className=\"InputMask\" />\r\n ),\r\n },\r\n {\r\n title: 'Logradouro', field: 'nomeLogradouro', editPlaceholder: 'Logradouro',\r\n },\r\n {\r\n title: 'Número', field: 'numeroLocal', editPlaceholder: 'Número',\r\n },\r\n {\r\n title: 'DDD', field: 'numeroDdd', editPlaceholder: 'DDD',\r\n editComponent: (props) => (\r\n props.onChange(e.target.value)}\r\n mask={\"99\"} id=\"idDDD\" style={{ width: \"100%\" }}\r\n className=\"InputMask\" />\r\n ),\r\n },\r\n {\r\n title: 'Telefone', field: 'numeroTelefone', editPlaceholder: 'Descrição',\r\n editComponent: (props) => (\r\n props.onChange(e.target.value)}\r\n mask={\"99999 9999\"} id=\"idTelefone\" style={{ width: \"100%\" }}\r\n className=\"InputMask\" />\r\n ),\r\n },\r\n {\r\n title: 'DDD Fixo', field: 'numeroDddFixo', editPlaceholder: 'DDD Fixo',\r\n editComponent: (props) => (\r\n props.onChange(e.target.value)}\r\n style={{ width: \"100%\" }} id=\"idDDDFixo\" maxLength={2}\r\n className=\"InputMask\" />\r\n ),\r\n },\r\n {\r\n title: 'Telefone Fixo', field: 'numeroTelefoneFixo', editPlaceholder: 'Telefone Fixo',\r\n editComponent: (props) => (\r\n props.onChange(e.target.value)}\r\n mask={\"9999 9999\"} id=\"idTelefoneFixo\" style={{ width: \"100%\" }}\r\n className=\"InputMask\" />\r\n ),\r\n\r\n },\r\n\r\n ]}\r\n data={\r\n listaOrgao != undefined && listaOrgao != null && listaOrgao.length > 0 ?\r\n listaOrgao.map(orgao => {\r\n return {\r\n id: orgao.id,\r\n descricao: orgao.descricao,\r\n ativo: orgao.ativo,\r\n nomeSecretario: orgao.nomeSecretario,\r\n cnpj: orgao.cnpj,\r\n nomeLogradouro: orgao.nomeLogradouro,\r\n numeroLocal: orgao.numeroLocal,\r\n numeroDddFixo: orgao.numeroDddFixo,\r\n numeroTelefoneFixo: orgao.numeroTelefoneFixo,\r\n numeroDdd: orgao.numeroDdd,\r\n numeroTelefone: orgao.numeroTelefone\r\n }\r\n })\r\n :\r\n []\r\n }\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n editable={{\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n InserirOrgao(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowUpdate: (newRow, oldRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AlterarOrgao(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n\r\n onRowDelete: oldData => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n ExcluirOrgao(oldData.id);\r\n resolve()\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \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 { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card, Button, Pagination } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { IoPersonCircleOutline } from \"react-icons/io5\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport MaterialTable from 'material-table';\r\nimport { toast } from \"react-toastify\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Select from 'react-select';\r\nimport { FaPlus } from \"react-icons/fa\";\r\nimport InputMask from \"react-input-mask\";\r\nimport { ExcluirAssinanteRequest, AlterarAssinanteRequest, InserirAssinanteRequest, ListarAssinanteRequest} from \"../../../store/modules/assinante/actions\";\r\n\r\n\r\nexport default function Assinante(){\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const listaAssinante = useSelector(state => state.assinante.listaAssinante);\r\n const carregando = useSelector(state => state.assinante.carregando);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"AuxiliaresMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"AuxiliaresInserir\").length == 1 && token.role.filter(r => r == \"AuxiliaresAlterar\").length == 1) {\r\n setTodasOperacoes(true);\r\n }\r\n },[])\r\n\r\n useEffect(()=>{\r\n dispatch(ListarAssinanteRequest());\r\n },[])\r\n\r\n function ValidacoesInserir(assinante) {\r\n\r\n //validação do campo Nome\r\n if (assinante.nome == null || assinante.nome == undefined\r\n || assinante.nome.trim() == ''\r\n || assinante.nome.length > 50) {\r\n toast.error(`Recurso inválido`);\r\n return;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n function InserirAssinante (assinante){\r\n let data = {\r\n 'Id':0,\r\n 'Nome': assinante.nome.trim(),\r\n 'Ativo':true\r\n }\r\n dispatch(InserirAssinanteRequest(data));\r\n }\r\n\r\n function AlterarAssinante (assinante){\r\n let data = {\r\n 'Id': assinante.id,\r\n 'Nome': assinante.nome.trim(),\r\n 'Ativo': assinante.ativo\r\n }\r\n dispatch(AlterarAssinanteRequest(data));\r\n }\r\n\r\n function ExcluirAssinante (idAssinante){\r\n dispatch(ExcluirAssinanteRequest(idAssinante))\r\n }\r\n\r\n return(\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n < IoPersonCircleOutline size={25} color={\"#000\"} /> Assinantes\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n\r\n carregando ? \r\n {\r\n if (rowData.nome === undefined || rowData.nome.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n }\r\n else if (rowData.nome.trim().length > 50) {\r\n return \"O nome não pode conter mais que 50 caracteres\"\r\n }\r\n return true\r\n }, cellStyle: { width: '80%' }\r\n },\r\n {\r\n title: 'Ativo', field:'ativo', editable: 'onUpdate',\r\n\r\n editComponent: (props) => (\r\n props.onChange(e.target.checked)}\r\n />\r\n ),\r\n render: rowData => ( { }} />)\r\n }\r\n ]}\r\n data={\r\n listaAssinante != undefined ?\r\n listaAssinante.map(assinante => {\r\n return {\r\n id : assinante.id,\r\n nome : assinante.nome,\r\n ativo : assinante.ativo\r\n }\r\n })\r\n :\r\n []\r\n }\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n editable={{\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(()=>{\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else{\r\n InserirAssinante(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error('Você não tem permissão');\r\n resolve()\r\n },1000)\r\n }),\r\n\r\n onRowUpdate: (newRow, oldRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(()=> {\r\n if(!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else{\r\n AlterarAssinante(newRow);\r\n reject();\r\n }\r\n },1000)\r\n :\r\n setTimeout(()=> {\r\n toast.error('Você não tem permissão');\r\n resolve()\r\n },1000)\r\n }),\r\n\r\n onRowDelete: oldRow => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() =>{\r\n ExcluirAssinante(oldRow.id);\r\n resolve()\r\n },1000)\r\n :\r\n setTimeout(() =>{\r\n toast.error('Você não tem premissão')\r\n resolve()\r\n },1000)\r\n })\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n style={{\r\n fontSize: '13px',\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n )\r\n} ","export function ListarCompletoSolicitacaoFornecimentoHistoricoRegFotoRequest(idSolicitacaoHistorico) {\r\n return {\r\n type: 'LISTAR_COMPLETO_SOLICITACAO_FORNECIMENTO_HISTORICO_REG_FOTO_REQUEST',\r\n idSolicitacaoHistorico\r\n }\r\n }\r\n \r\n export function ListarSolicitacaoFornecimentoHistoricoRegFotoRequest() {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_REG_FOTO_REQUEST'\r\n }\r\n }\r\n \r\n export function ListarSolicitacaoFornecimentoHistoricoRegFotoResponse(listaSolicitacaoFornecimentoHistoricoRegFoto) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_REG_FOTO_RESPONSE',\r\n listaSolicitacaoFornecimentoHistoricoRegFoto\r\n }\r\n }\r\n \r\n export function BaixarSolicitacaoFornecimentoHistoricoRegFotoRequest(id, numeroSolicitacaoRegFoto) {\r\n return {\r\n type: 'BAIXAR_SOLICITACAO_FORNECIMENTO_HISTORICO_REG_FOTO_REQUEST',\r\n id,\r\n numeroSolicitacaoRegFoto\r\n }\r\n }\r\n \r\n export function CarregarImagemSolicitacaoFornecimentoHistoricoRegFotoRequest(id) {\r\n return {\r\n type: 'CARREGAR_IMAGEM_SOLICITACAO_FORNECIMENTO_HISTORICO_REG_FOTO_REQUEST',\r\n id\r\n }\r\n }\r\n \r\n export function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n }","export function ListarCompletoSolicitacaoFornecimentoHistoricoDocArqRequest(idSolicitacaoHistorico) {\r\n return {\r\n type: 'LISTAR_COMPLETO_SOLICITACAO_FORNECIMENTO_HISTORICO_DOC_ARQ_REQUEST',\r\n idSolicitacaoHistorico\r\n }\r\n }\r\n \r\n export function ListarSolicitacaoFornecimentoHistoricoDocArqRequest() {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_DOC_ARQ_REQUEST'\r\n }\r\n }\r\n \r\n export function ListarSolicitacaoFornecimentoHistoricoDocArqResponse(listaSolicitacaoFornecimentoHistoricoDocArq) {\r\n return {\r\n type: 'LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_DOC_ARQ_RESPONSE',\r\n listaSolicitacaoFornecimentoHistoricoDocArq\r\n }\r\n }\r\n \r\n export function BaixarSolicitacaoFornecimentoHistoricoDocArqRequest(id, numeroSolicitacaoDocArq) {\r\n return {\r\n type: 'BAIXAR_SOLICITACAO_FORNECIMENTO_HISTORICO_DOC_ARQ_REQUEST',\r\n id,\r\n numeroSolicitacaoDocArq\r\n }\r\n }\r\n \r\n export function CarregarImagemSolicitacaoFornecimentoHistoricoDocArqRequest(id) {\r\n return {\r\n type: 'CARREGAR_IMAGEM_SOLICITACAO_FORNECIMENTO_HISTORICO_DOC_ARQ_REQUEST',\r\n id\r\n }\r\n }\r\n \r\n export function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n }","import { ListarSolicitacaoFornecimentoHistoricoRequest } from \"../../../store/modules/solicitacaoFornecimentoHistorico/actions\";\r\nimport { CarregarImagemSolicitacaoFornecimentoHistoricoRegFotoRequest,\r\n BaixarSolicitacaoFornecimentoHistoricoRegFotoRequest } from \"../../../store/modules/solicitacaoFornecimentoHistoricoRegFoto/actions\";\r\nimport { BaixarSolicitacaoFornecimentoHistoricoDocArqRequest } from \"../../../store/modules/solicitacaoFornecimentoHistoricoDocArq/actions\";\r\nimport { Button, Col, Card, Row, Form, Modal } from \"react-bootstrap\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { toast } from \"react-toastify\";\r\nimport Loading from '../../../components/Loading/loading';\r\nimport MaterialTable from 'material-table';\r\nimport { RiHistoryFill, RiEyeLine } from \"react-icons/ri\";\r\nimport moment from 'moment'\r\nimport Header from \"../../../components/Header/header\";\r\nimport { AtualizarToken } from \"../../../store/modules/global/actions\";\r\n\r\nexport default function HistoricoSolicitacao() {\r\n\r\n const { id } = useParams();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const listaSolicitacaoFornecimentoHistorico = useSelector(state =>\r\n state.solicitacaoFornecimentoHistorico.listaSolicitacaoFornecimentoHistorico);\r\n const carregando = useSelector(state => state.solicitacaoFornecimentoHistorico.carregando);\r\n\r\n const [showFoto, setShowFoto] = useState(false);\r\n\r\n const handleFotoShow = () => setShowFoto(true);\r\n const handleFotoClose = () => setShowFoto(false);\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n moment.locale('pt-br');\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (id != undefined) {\r\n dispatch(ListarSolicitacaoFornecimentoHistoricoRequest(id));\r\n }\r\n }, [id])\r\n\r\n function VisualizarRegistroFotografico(linha) {\r\n dispatch(CarregarImagemSolicitacaoFornecimentoHistoricoRegFotoRequest(linha.regFoto));\r\n handleFotoShow();\r\n }\r\n\r\n function Baixar(linha) {\r\n if(linha.regFoto !== 0){\r\n dispatch(BaixarSolicitacaoFornecimentoHistoricoRegFotoRequest(linha.id, linha.regFoto));\r\n }\r\n else{\r\n dispatch(BaixarSolicitacaoFornecimentoHistoricoDocArqRequest(linha.id, linha.docArq));\r\n }\r\n }\r\n\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 Histórico Solicitação: {id}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregando ?\r\n\r\n 0 ?\r\n listaSolicitacaoFornecimentoHistorico[0].map(lista => {\r\n return {\r\n id: lista.id,\r\n idSolicitacao: lista.idSolicitacaoFornecimento,\r\n acao: lista.nomeAcao != null && lista.nomeAcao == \"Inserção\" ?\r\n
{lista.nomeAcao}
\r\n : \r\n lista.nomeAcao != null && lista.nomeAcao == \"Alteração\" ?\r\n
{lista.nomeAcao}
\r\n :\r\n lista.nomeAcao != null && lista.nomeAcao == \"Exclusão\" ?\r\n
{lista.nomeAcao}
\r\n : lista.nomeAcao,\r\n descricao: lista.descricao,\r\n usuario: lista.usuario.nome,\r\n regFoto : lista.numeroSolicitacaoFornecimentoRegistroFotografico,\r\n docArq : lista.numeroSolicitacaoFornecimentoDocumentoArquivo,\r\n dataAcao: moment(lista.dataInclusao).format('L LT'),\r\n }\r\n })\r\n :\r\n []\r\n }\r\n actions={[\r\n rowData => ({\r\n icon: 'visibility',\r\n tooltip: 'Visualizar Documento',\r\n hidden: rowData.regFoto ? false : true,\r\n onClick: () => {VisualizarRegistroFotografico(rowData)}\r\n }),\r\n rowData => ({\r\n icon: 'download',\r\n tooltip: 'Baixar Documento',\r\n onClick: () => {Baixar(rowData)}\r\n })\r\n ]}\r\n options={{\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\"\r\n },\r\n filtering: true,\r\n grouping: false,\r\n actionsColumnIndex: -1,\r\n }}\r\n localization={{\r\n header: {\r\n actions: 'Info'\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?'\r\n },\r\n deleteTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: 'Pesquisar',\r\n searchPlaceholder: 'Pesquisar'\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \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 { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card, Form, Dropdown, Button } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { IoResize } from \"react-icons/io5\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { toast } from \"react-toastify\";\r\nimport { ListarRelatorioStatusSolicitacaoRequest } from \"../../../store/modules/relatorio/actions\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport MaterialTable from 'material-table';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { RiFilter3Line } from \"react-icons/ri\";\r\nimport moment from 'moment';\r\n\r\nexport default function Listar() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const carregando = useSelector(state => state.relatorio.carregando);\r\n const listaRelatorioStatusSolicitacao = useSelector(state => state.relatorio.listaRelatorioStatusSolicitacao);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [listaHierarquiaCompleta, setListaHierarquiaCompleta] = useState([]);\r\n const [carregaPage, setCarregaPage] = useState(true);\r\n\r\n const [dataInicio, setDataInicio] = useState(null);\r\n const [dataFinal, setDataFinal] = useState(null);\r\n const [visualizarTudo, setVisualizarTudo] = useState(false);\r\n const [menu, setMenu] = useState(true);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n \r\n useEffect(() => {\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"RelatorioMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n setCarregaPage(false);\r\n dispatch(ListarRelatorioStatusSolicitacaoRequest(null, null, null));\r\n\r\n setDataInicio(moment().startOf('month'));\r\n setDataFinal(moment().endOf('month'));\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (listaRelatorioStatusSolicitacao !== null &&\r\n listaRelatorioStatusSolicitacao !== undefined) {\r\n constroiHierarquia();\r\n }\r\n\r\n }, [listaRelatorioStatusSolicitacao])\r\n\r\n function constroiHierarquia() {\r\n\r\n let hierarquiaCompleta = [];\r\n\r\n listaRelatorioStatusSolicitacao.forEach((lista) => {\r\n hierarquiaCompleta.push({\r\n id: lista[0].idSolicitacaoFornecimento,\r\n nomeObra: null,\r\n Oficio: null,\r\n Processo: null,\r\n Orçamento: null,\r\n Chegada: null,\r\n saida: null,\r\n dias: null,\r\n Usuario: null,\r\n Valor: null,\r\n status: null,\r\n proximaDemanda: null\r\n });\r\n lista.map(x => {\r\n hierarquiaCompleta.push({\r\n marcadorUltimo: lista[lista.length - 1].idSolicitacaoFornecimentoStatus == x.idSolicitacaoFornecimentoStatus ?\r\n true : false,\r\n id: x.idSolicitacaoFornecimento,\r\n Oficio: x.numeroOficio,\r\n Processo: x.numeroProcesso,\r\n nomeObra: x.nomeObra,\r\n Orçamento: x.numeroOrcamento,\r\n Chegada: x.dataCriacao,\r\n saida: x.dataSaida ? x.dataSaida : \" - \",\r\n dias: x.quantidadeDias,\r\n Usuario: x.usuario,\r\n Valor: \"R$\" + x.valorOrcamento.toFixed(2),\r\n parentId: x.idSolicitacaoFornecimento,\r\n status: x.statusSolicitacao,\r\n proximaDemanda: x.proximaDemanda,\r\n });\r\n })\r\n })\r\n setListaHierarquiaCompleta(hierarquiaCompleta);\r\n setCarregaPage(true);\r\n }\r\n\r\n function FiltrarData() {\r\n\r\n var dataIni = dataInicio === '' ? null : dataInicio;\r\n var dataFin = dataFinal === '' ? null : dataFinal;\r\n\r\n dispatch(ListarRelatorioStatusSolicitacaoRequest(dataIni, dataFin, visualizarTudo));\r\n\r\n if(dataInicio === ''){\r\n setDataInicio(null);\r\n }\r\n if(dataFinal === ''){\r\n setDataFinal(null);\r\n }\r\n\r\n setCarregaPage(false);\r\n }\r\n\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 Relatório Status Solicitação\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregaPage ?\r\n {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Data Chegada Status\r\n {\r\n setDataInicio(e != null ? e.target.value : null)\r\n }}\r\n />\r\n \r\n \r\n Data Saída Status\r\n {\r\n setDataFinal(e != null ? e.target.value : null)\r\n }}\r\n />\r\n \r\n
\r\n
\r\n { setVisualizarTudo(!visualizarTudo) }}\r\n checked={visualizarTudo}\r\n />\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n },\r\n render: rowData => (\r\n rowData.Chegada ?\r\n {moment(rowData.Chegada).format('L')}\r\n :\r\n null\r\n )\r\n },\r\n {\r\n title: 'Data Saída Status', field: 'saida', editable: 'never',\r\n filtering: false,\r\n render: rowData => (\r\n rowData.saida !== null ?\r\n rowData.saida !== \" - \" ?\r\n {moment(rowData.saida).format('L')}\r\n :\r\n - \r\n :\r\n null \r\n )\r\n },\r\n {\r\n title: 'Quant. Dias', field: 'dias', editable: 'never',\r\n customFilterAndSearch: (term, rowData) => term == rowData.dias,\r\n },\r\n {\r\n title: 'Usuário', field: 'Usuario', editable: 'never'\r\n },\r\n {\r\n title: 'Valor Orçamento', field: 'Valor', editable: 'never'\r\n },\r\n {\r\n title: 'Status', field: 'status', editable: 'never'\r\n },\r\n {\r\n title: 'Próxima Demanda', field: 'proximaDemanda', editable: 'never',\r\n render: rowData => (\r\n rowData.marcadorUltimo ?\r\n {rowData.proximaDemanda}\r\n :\r\n {rowData.proximaDemanda}\r\n )\r\n },\r\n {\r\n title: 'm', field: 'marcadorUltimo', editable: 'never', hidden: true\r\n },\r\n ]}\r\n data={listaHierarquiaCompleta}\r\n parentChildData={(row, rows) => rows.find(a => a.id === row.parentId)}\r\n options={{\r\n minBodyHeight: 500,\r\n maxBodyHeight: '500px',\r\n paging: true,\r\n pageSize: 50, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n \r\n
Dados extensos! Isso pode levar alguns minutos...
\r\n
\r\n \r\n \r\n \r\n \r\n \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 { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { RiBarChartGroupedLine } from \"react-icons/ri\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { toast } from \"react-toastify\";\r\nimport { ListarRelatorioStatusAutorizacaoRequest } from \"../../../store/modules/relatorio/actions\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport MaterialTable from 'material-table';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { RiInformationLine } from \"react-icons/ri\";\r\n\r\nexport default function RelatorioStatusAutorizacao() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const carregando = useSelector(state => state.relatorio.carregando);\r\n const listaRelatorioStatusAutorizacao = useSelector(state => state.relatorio.listaRelatorioStatusAutorizacao);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [listaHierarquiaCompleta, setListaHierarquiaCompleta] = useState([]);\r\n const [carregaPage, setCarregaPage] = useState(true);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n \r\n useEffect(() => {\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"RelatorioMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n setCarregaPage(false);\r\n dispatch(ListarRelatorioStatusAutorizacaoRequest());\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (listaRelatorioStatusAutorizacao !== null &&\r\n listaRelatorioStatusAutorizacao !== undefined) {\r\n constroiHierarquia();\r\n }\r\n\r\n }, [listaRelatorioStatusAutorizacao])\r\n\r\n function constroiHierarquia() {\r\n\r\n let hierarquiaCompleta = [];\r\n\r\n listaRelatorioStatusAutorizacao.forEach((lista) => {\r\n hierarquiaCompleta.push({\r\n id: lista[0].idAutorizacaoFornecimento,\r\n af: lista[0].numeroAutorizacaoFornecimento,\r\n idSolicitacao: null,\r\n Chegada: null,\r\n saida: null,\r\n dias: null,\r\n Usuario: null,\r\n Valor: null,\r\n status: null,\r\n proximaDemanda: null,\r\n cancelado: null\r\n });\r\n lista.map(x => {\r\n hierarquiaCompleta.push({\r\n marcadorUltimo: lista[lista.length - 1].idAutorizacaoFornecimentoStatus == x.idAutorizacaoFornecimentoStatus ?\r\n true : false,\r\n id: null,\r\n af: x.numeroAutorizacaoFornecimento,\r\n idSolicitacao: x.idSolicitacaoFornecimento,\r\n Chegada: x.dataCriacao,\r\n saida: x.dataSaida ? x.dataSaida : \" - \",\r\n dias: x.quantidadeDias,\r\n Usuario: x.usuario,\r\n Valor: \"R$\" + x.valorOrcamento.toFixed(2),\r\n parentId: x.idAutorizacaoFornecimento,\r\n status: x.statusAutorizacao,\r\n proximaDemanda: x.proximaDemanda,\r\n cancelado: x.cancelado,\r\n });\r\n })\r\n })\r\n setListaHierarquiaCompleta(hierarquiaCompleta);\r\n setCarregaPage(true);\r\n }\r\n\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 Relatório Status Autorização\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregaPage ?\r\n \r\n Valor Orçamento \r\n \r\n ), \r\n field: 'Valor', editable: 'never'\r\n },\r\n {\r\n title: 'Status', field: 'status', editable: 'never',\r\n render: rowData => (\r\n rowData.cancelado ?\r\n \r\n {rowData.status + \" \"}\r\n \r\n \r\n :\r\n {rowData.status}\r\n )\r\n },\r\n {\r\n title: 'Próxima Demanda', field: 'proximaDemanda', editable: 'never',\r\n render: rowData => (\r\n rowData.marcadorUltimo ?\r\n {rowData.proximaDemanda}\r\n :\r\n {rowData.proximaDemanda}\r\n )\r\n },\r\n {\r\n title: 'm', field: 'marcadorUltimo', editable: 'never', hidden: true\r\n },\r\n {\r\n field: 'cancelado', hidden: true, editable: 'never'\r\n },\r\n ]}\r\n data={listaHierarquiaCompleta}\r\n parentChildData={(row, rows) => rows.find(a => a.id === row.parentId)}\r\n options={{\r\n minBodyHeight: 500,\r\n maxBodyHeight: '500px',\r\n paging: true,\r\n pageSize: 50, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\", \r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n \r\n
Dados extensos! Isso pode levar alguns minutos...
\r\n
\r\n \r\n \r\n \r\n \r\n \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 { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { RiListCheck2 } from \"react-icons/ri\"\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { toast } from \"react-toastify\";\r\nimport { ListarRelatorioStatusMedicaoRequest } from \"../../../store/modules/relatorio/actions\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport MaterialTable from 'material-table';\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nexport default function RelatorioStatusMedicao() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const carregando = useSelector(state => state.relatorio.carregando);\r\n const listaRelatorioStatusMedicao = useSelector(state => state.relatorio.listaRelatorioStatusMedicao);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [listaHierarquiaCompleta, setListaHierarquiaCompleta] = useState([]);\r\n const [carregaPage, setCarregaPage] = useState(true);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n \r\n useEffect(() => {\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"RelatorioMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n setCarregaPage(false);\r\n dispatch(ListarRelatorioStatusMedicaoRequest());\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (listaRelatorioStatusMedicao !== null &&\r\n listaRelatorioStatusMedicao !== undefined) {\r\n constroiHierarquia();\r\n }\r\n\r\n }, [listaRelatorioStatusMedicao])\r\n\r\n function constroiHierarquia() {\r\n\r\n let hierarquiaCompleta = [];\r\n\r\n listaRelatorioStatusMedicao.forEach((lista) => {\r\n hierarquiaCompleta.push({\r\n id: lista[0].idMedicao,\r\n descricao: lista[0].descricaoMedicao,\r\n nuAf: null,\r\n Chegada: null,\r\n saida: null,\r\n dias: null,\r\n Usuario: null,\r\n Valor: null,\r\n status: null,\r\n proximaDemanda: null,\r\n });\r\n lista.map(x => {\r\n hierarquiaCompleta.push({\r\n marcadorUltimo: lista[lista.length - 1].idMedicaoAutorizacaoFornecimentoStatus == x.idMedicaoAutorizacaoFornecimentoStatus ?\r\n true : false,\r\n id: null,\r\n descricao: x.descricaoMedicao,\r\n nuAf: x.numeroAutorizacaoFornecimento,\r\n Chegada: x.dataCriacao,\r\n saida: x.dataSaida ? x.dataSaida : \" - \",\r\n dias: x.quantidadeDias,\r\n Usuario: x.usuario,\r\n Valor: \"R$\" + x.valorMedicao.toFixed(2),\r\n parentId: x.idMedicao,\r\n status: x.statusMedicao,\r\n proximaDemanda: x.proximaDemanda,\r\n });\r\n })\r\n })\r\n setListaHierarquiaCompleta(hierarquiaCompleta);\r\n setCarregaPage(true);\r\n }\r\n\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 Relatório Status Medição\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregaPage ?\r\n (\r\n rowData.marcadorUltimo ?\r\n {rowData.proximaDemanda}\r\n :\r\n {rowData.proximaDemanda}\r\n )\r\n },\r\n ]}\r\n data={listaHierarquiaCompleta}\r\n parentChildData={(row, rows) => rows.find(a => a.id === row.parentId)}\r\n options={{\r\n minBodyHeight: 500,\r\n maxBodyHeight: '500px',\r\n paging: true,\r\n pageSize: 50, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n \r\n
Dados extensos! Isso pode levar alguns minutos...
\r\n
\r\n \r\n \r\n \r\n \r\n \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 { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { RiRefund2Line } from \"react-icons/ri\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { toast } from \"react-toastify\";\r\nimport { ListarRelatorioStatusEmpenhoRequest } from \"../../../store/modules/relatorio/actions\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport MaterialTable from 'material-table';\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nexport default function RelatorioStatusEmpenho() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const carregando = useSelector(state => state.relatorio.carregando);\r\n const listaRelatorioStatusEmpenho = useSelector(state => state.relatorio.listaRelatorioStatusEmpenho);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [listaHierarquiaCompleta, setListaHierarquiaCompleta] = useState([]);\r\n const [carregaPage, setCarregaPage] = useState(true);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n \r\n useEffect(() => {\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"RelatorioMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n setCarregaPage(false);\r\n dispatch(ListarRelatorioStatusEmpenhoRequest());\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (listaRelatorioStatusEmpenho !== null &&\r\n listaRelatorioStatusEmpenho !== undefined) {\r\n constroiHierarquia();\r\n }\r\n\r\n }, [listaRelatorioStatusEmpenho])\r\n\r\n function constroiHierarquia() {\r\n\r\n let hierarquiaCompleta = [];\r\n\r\n listaRelatorioStatusEmpenho.forEach((lista) => {\r\n hierarquiaCompleta.push({\r\n id: lista[0].idEmpenho,\r\n descricao: lista[0].descricaoEmpenho,\r\n nuAf: null,\r\n Chegada: null,\r\n saida: null,\r\n dias: null,\r\n Usuario: null,\r\n status: null,\r\n proximaDemanda: null,\r\n });\r\n lista.map(x => {\r\n hierarquiaCompleta.push({\r\n marcadorUltimo: lista[lista.length - 1].idEmpenhoStatus == x.idEmpenhoStatus ?\r\n true : false,\r\n id: null,\r\n descricao: x.descricaoEmpenho,\r\n Chegada: x.dataCriacao,\r\n saida: x.dataSaida ? x.dataSaida : \" - \",\r\n dias: x.quantidadeDias,\r\n Usuario: x.usuario,\r\n status: x.statusEmpenho,\r\n parentId: x.idEmpenho,\r\n proximaDemanda: x.proximaDemanda,\r\n });\r\n })\r\n })\r\n setListaHierarquiaCompleta(hierarquiaCompleta);\r\n setCarregaPage(true);\r\n }\r\n\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 Relatório Status Empenho\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregaPage ?\r\n (\r\n rowData.marcadorUltimo ?\r\n {rowData.proximaDemanda}\r\n :\r\n {rowData.proximaDemanda}\r\n )\r\n },\r\n ]}\r\n data={listaHierarquiaCompleta}\r\n parentChildData={(row, rows) => rows.find(a => a.id === row.parentId)}\r\n options={{\r\n minBodyHeight: 500,\r\n maxBodyHeight: '500px',\r\n paging: true,\r\n pageSize: 50, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n \r\n
Dados extensos! Isso pode levar alguns minutos...
\r\n
\r\n \r\n \r\n \r\n \r\n \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 { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { RiFileChartFill } from \"react-icons/ri\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { toast } from \"react-toastify\";\r\nimport { ListarRelatorioSolicitacaoRequest } from \"../../../store/modules/relatorio/actions\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport MaterialTable from 'material-table';\r\n\r\nexport default function RelatorioSolicitacao() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const carregando = useSelector(state => state.relatorio.carregando);\r\n const listaRelatorioSolicitacao = useSelector(state => state.relatorio.listaRelatorioSolicitacao);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n \r\n useEffect(() => {\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"RelatorioMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n dispatch(ListarRelatorioSolicitacaoRequest());\r\n \r\n }, [])\r\n\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 Relatório Solicitação\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n listaRelatorioSolicitacao ?\r\n \r\n
\r\n },\r\n {\r\n title: 'Número da Solicitação', field: 'Id', editable: 'never', defaultSort:\"desc\",\r\n },\r\n {\r\n title: 'Tipo Solicitação', field: 'TipoSolicitacao', editable: 'never'\r\n },\r\n {\r\n title: 'Assunto', field: 'Assunto', editable: 'never', \r\n },\r\n {\r\n title: 'Interessado', field: 'Interessado', editable: 'never',\r\n },\r\n {\r\n title: 'Local', field: 'Local', editable: 'never'\r\n },\r\n {\r\n title: 'Data', field: 'Data', editable: 'never', type: 'date'\r\n },\r\n {\r\n title: 'Fornecedor', field: 'Fornecedor', editable: 'never'\r\n },\r\n {\r\n title: 'Valor Orçamento', field: 'ValorTotalOrcamento', editable: 'never',\r\n type: 'currency', currencySetting:{ currencyCode:'BRL', locale: 'pt-br'},\r\n align: 'left',\r\n },\r\n ]}\r\n data={listaRelatorioSolicitacao ? \r\n listaRelatorioSolicitacao.map(lista =>{\r\n return{\r\n Prioridade: lista.prioridade.corHex,\r\n Id: lista.id,\r\n Assunto: lista.assunto,\r\n Local: lista.descricaoLocal,\r\n Interessado: lista.interessado.nome,\r\n Data: lista.dataSolicitacao,\r\n TipoSolicitacao: lista.tipoSolicitacao ? \r\n lista.tipoSolicitacao.descricao : '',\r\n Fornecedor: lista.fornecedor.nomeFornecedor,\r\n ValorTotalOrcamento: parseFloat(lista.valorTotalOrcamento),\r\n }\r\n })\r\n :\r\n []\r\n }\r\n options={{\r\n exportButton: true,\r\n exportAllData: true,\r\n exportFileName: \"RelatorioSolicitacao\",\r\n columnsButton: true,\r\n minBodyHeight: 500,\r\n maxBodyHeight: '500px',\r\n paging: true,\r\n pageSize: 50, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n }),\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n addRemoveColumns: \"Adicionar ou remover colunas\"\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \r\n \r\n
Dados extensos! Isso pode levar alguns minutos...
\r\n
\r\n \r\n \r\n \r\n \r\n \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 { useEffect, useState } from \"react\";\r\nimport { Button, Row, Col, Card, Modal, Form, Container } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport { toast } from \"react-toastify\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport Select from 'react-select';\r\nimport MaterialTable from 'material-table';\r\nimport * as XLSX from \"xlsx\";\r\nimport 'moment/locale/pt-br';\r\nimport moment from 'moment';\r\nimport { ListarObrasIntervencoesPorMesRequest, InserirObrasIntervencoesPorMesRequest, \r\n BaixarPadraoImportacaoObrasIntervencoesPorMesRequest, ExcluirObrasIntervencoesPorMesRequest } from \"../../../store/modules/obrasIntervencoesPorMes/actions\";\r\nimport { ListarMesesRequest } from \"../../../store/modules/meses/actions\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport { RiCalendarTodoFill } from \"react-icons/ri\";\r\n\r\nexport default function Listar() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const listaObrasIntervencoesPorMes = useSelector(state => state.obrasIntervencoesPorMes.listaObrasIntervencoesPorMes);\r\n const listaMeses = useSelector(state => state.meses.listaMeses);\r\n const usuarioCompleto = useSelector(state => state.usuario.usuario);\r\n\r\n const [items, setItems] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const [messageError, setMessageError] = useState('');\r\n const [showError, setShowError] = useState(false);\r\n const [ano, setAno] = useState([]);\r\n const [hierarquiaCompleta, setHierarquiaCompleta] = useState([]);\r\n const [showMensagem, setShowMensagem] = useState(false);\r\n const [showExcluir, setShowExcluir] = useState(false);\r\n const [anoObrasExcluir, setAnoObrasExcluir] = useState(0);\r\n //const [confirmacao, setConfirmacao] = useState(false);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const handleCloseError = () => setShowError(false);\r\n const handleShowError = () => setShowError(true);\r\n\r\n const handleCloseMensagem = () => setShowMensagem(false);\r\n const handleShowMensagem = () => setShowMensagem(true);\r\n\r\n const handleCloseExcluir = () => setShowExcluir(false);\r\n const handleShowExcluir = () => setShowExcluir(true);\r\n \r\n const colunas = listaMeses ?\r\n listaMeses.map(lista => {\r\n return{\r\n title: lista.descricao, field: `${lista.id}`\r\n }\r\n })\r\n :\r\n [];\r\n\r\n const selectAno = [];\r\n const optionsAno = listaObrasIntervencoesPorMes ?\r\n [...listaObrasIntervencoesPorMes].reduce(function(opcoes, index){\r\n let key = index['ano'];\r\n if(!opcoes[key]){\r\n opcoes[key] = [];\r\n }\r\n if(opcoes[key].length === 0){\r\n opcoes[key].push({value: index.ano, label: index.ano});\r\n selectAno.push({value: index.ano, label: index.ano});\r\n return opcoes;\r\n }\r\n else{\r\n return opcoes;\r\n }\r\n }, {})\r\n :\r\n [];\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n\r\n }, [])\r\n\r\n const readExcel = (file) => {\r\n const promise = new Promise((resolve, reject) => {\r\n const fileReader = new FileReader();\r\n fileReader.readAsArrayBuffer(file);\r\n\r\n fileReader.onload = (e) => {\r\n const bufferArray = e.target.result;\r\n\r\n const wb = XLSX.read(bufferArray, { type: \"buffer\" });\r\n\r\n const wsname = wb.SheetNames[0];\r\n\r\n const ws = wb.Sheets[wsname];\r\n\r\n const data = XLSX.utils.sheet_to_json(ws);\r\n\r\n resolve(data);\r\n };\r\n\r\n fileReader.onerror = (error) => {\r\n reject(error);\r\n };\r\n });\r\n\r\n promise.then((d) => {\r\n setItems(d);\r\n });\r\n\r\n };\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarObrasIntervencoesPorMesRequest());\r\n dispatch(ListarMesesRequest())\r\n\r\n }, [])\r\n\r\n /*useEffect(() => {\r\n\r\n if(listaObrasIntervencoesPorMes && listaMeses){\r\n constroiData()\r\n }\r\n\r\n }, [listaObrasIntervencoesPorMes, listaMeses])\r\n\r\n function constroiData(){\r\n\r\n if(listaObrasIntervencoesPorMes && listaMeses){\r\n\r\n let index = 0;\r\n var quantidade = [];\r\n let hierarquiaCompleta = [];\r\n let lengthObras = 0;\r\n\r\n listaObrasIntervencoesPorMes.map(function(lista){\r\n\r\n for (index; index < listaMeses.length; index++) {\r\n quantidade.push({[`idMes`]: lista.idMes,\r\n [`quantidade`]: lista.quantidade});\r\n index++\r\n break;\r\n }\r\n lengthObras = listaMeses.length;\r\n\r\n })\r\n\r\n listaObrasIntervencoesPorMes.map(function(lista, i){\r\n if(i == 0){\r\n hierarquiaCompleta.push({\r\n statusConcluido: lista.statusConcluido,\r\n Ano: lista.ano,\r\n Data: lista.dataImportacao,\r\n quantidade: null\r\n })\r\n }\r\n else if(listaObrasIntervencoesPorMes[i - 1].statusConcluido !== lista.statusConcluido){\r\n\r\n hierarquiaCompleta = hierarquiaCompleta.map(x => {\r\n return{\r\n statusConcluido: x.statusConcluido,\r\n Ano: x.ano,\r\n Data: x.dataImportacao,\r\n quantidade: quantidade\r\n }\r\n });\r\n\r\n hierarquiaCompleta.push({\r\n statusConcluido: lista.statusConcluido,\r\n Ano: lista.ano,\r\n Data: lista.dataImportacao,\r\n quantidade: null\r\n })\r\n\r\n quantidade = [];\r\n lengthObras += listaMeses.length;\r\n }\r\n if(quantidade.length === 0){\r\n for (index; index < lengthObras; index++) {\r\n quantidade.push({[`idMes`]: listaObrasIntervencoesPorMes[index].idMes,\r\n [`quantidade`]: listaObrasIntervencoesPorMes[index].quantidade});\r\n }\r\n }\r\n if(listaObrasIntervencoesPorMes.length - 1 == i){\r\n\r\n hierarquiaCompleta = hierarquiaCompleta.map(x => {\r\n if(x.quantidade == null){\r\n return{\r\n statusConcluido: lista.statusConcluido,\r\n Ano: lista.ano,\r\n Data: lista.dataImportacao,\r\n quantidade: quantidade\r\n }\r\n }\r\n else{\r\n return{\r\n statusConcluido: x.statusConcluido,\r\n Ano: x.ano,\r\n Data: x.dataImportacao,\r\n quantidade: x.quantidade\r\n }\r\n }\r\n });\r\n\r\n }\r\n \r\n })\r\n \r\n /*if(hierarquiaCompleta){\r\n\r\n var teste = hierarquiaCompleta.map(i => {\r\n return{\r\n ... i.quantidade ? i.quantidade.map(x => {\r\n return x\r\n }) : null,\r\n statusConcluido: i.statusConcluido,\r\n Ano: i.Ano,\r\n Data: i.Data,\r\n }\r\n })\r\n\r\n setHierarquiaCompleta(teste);\r\n }\r\n\r\n setHierarquiaCompleta(hierarquiaCompleta);\r\n\r\n }\r\n }*/\r\n\r\n function Validar(e){\r\n\r\n if (items.length > 0 && ano.length > 0) {\r\n\r\n e.preventDefault();\r\n\r\n const propertyValues = Object.values(items[0]);\r\n \r\n if(listaMeses){\r\n var mesesComparados = [];\r\n var listasComparadas = propertyValues.map(function(l, m){\r\n if(m > 0 && listaMeses.filter(e => e.descricao.trim().toLowerCase() == l.toString().trim().toLowerCase()).length === 0){\r\n mesesComparados.push(l);\r\n }\r\n })\r\n \r\n if(mesesComparados.length > 0){\r\n \r\n handleShowMensagem();\r\n setMessageError(`O mês: \" ${mesesComparados.map(l => {return l ? l : null})} \" está presente no Excel de importação, porém, ` +\r\n `não faz parte do banco atual. Caso continue esta ação, este mês não será listado com o respectivo valor. Deseja continuar?`);\r\n \r\n }\r\n else{\r\n ImportarArquivo(e);\r\n }\r\n }\r\n }\r\n else{\r\n handleShowError();\r\n setMessageError(\"Selecione o Excel e o Ano antes de Importar!\");\r\n setShowError(true);\r\n }\r\n\r\n }\r\n\r\n function ImportarArquivo(e) {\r\n\r\n if (listaMeses && ano.length > 0) {\r\n\r\n let lista = [];\r\n var data = [];\r\n\r\n try {\r\n\r\n if (items.length > 0) {\r\n\r\n items.forEach(function(item, i){\r\n\r\n if (item.__rowNum__ === 2) {\r\n\r\n for (let x = 0; x < listaMeses.length; x++) {\r\n if(x == 0){\r\n\r\n data.push({\r\n 'Id': 0,\r\n 'IdMes': listaMeses.filter(m => m.descricao.trim().toLowerCase() == items[0][`__EMPTY`].trim().toLowerCase())[0].id,\r\n 'Quantidade': item[`__EMPTY`] ? item[`__EMPTY`] : 0,\r\n 'StatusConcluido': true,\r\n 'DataImportacao': moment((new Date())).add('hours', 2),\r\n 'Ano': parseInt(moment(ano).format(\"YYYY\")),\r\n })\r\n\r\n }\r\n else{\r\n if(items[0][`__EMPTY_${x}`] &&\r\n listaMeses.filter(m => m.descricao.trim().toLowerCase() == items[0][`__EMPTY_${x}`].trim().toLowerCase()).length > 0){\r\n data.push({\r\n 'Id': 0,\r\n 'IdMes': listaMeses.filter(m => m.descricao.trim().toLowerCase() == items[0][`__EMPTY_${x}`].trim().toLowerCase())[0].id,\r\n 'Quantidade': item[`__EMPTY_${x}`] ? item[`__EMPTY_${x}`] : 0,\r\n 'StatusConcluido': true,\r\n 'DataImportacao': moment((new Date())).add('hours', 2),\r\n 'Ano': parseInt(moment(ano).format(\"YYYY\")),\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n\r\n }\r\n\r\n if (item.__rowNum__ === 3) {\r\n\r\n for (let x = 0; x < listaMeses.length; x++) {\r\n\r\n if(x == 0){\r\n\r\n data.push({\r\n 'Id': 0,\r\n 'IdMes': listaMeses.filter(m => m.descricao.trim().toLowerCase() == items[0][`__EMPTY`].trim().toLowerCase())[0].id,\r\n 'Quantidade': item[`__EMPTY`] ? item[`__EMPTY`] : 0,\r\n 'StatusConcluido': false,\r\n 'DataImportacao': moment((new Date())).add('hours', 2),\r\n 'Ano': parseInt(moment(ano).format(\"YYYY\")),\r\n })\r\n\r\n }\r\n else{\r\n if(items[0][`__EMPTY_${x}`] && \r\n listaMeses.filter(m => m.descricao.trim().toLowerCase() == items[0][`__EMPTY_${x}`].trim().toLowerCase()).length > 0){\r\n data.push({\r\n 'Id': 0,\r\n 'IdMes': listaMeses.filter(m => m.descricao.trim().toLowerCase() == items[0][`__EMPTY_${x}`].trim().toLowerCase())[0].id,\r\n 'Quantidade': item[`__EMPTY_${x}`] ? item[`__EMPTY_${x}`] : 0,\r\n 'StatusConcluido': false,\r\n 'DataImportacao': moment((new Date())).add('hours', 2),\r\n 'Ano': parseInt(moment(ano).format(\"YYYY\")),\r\n })\r\n }\r\n \r\n }\r\n \r\n }\r\n }\r\n\r\n i++;\r\n });\r\n\r\n lista.push(data);\r\n\r\n if (lista.length > 0) {\r\n dispatch(InserirObrasIntervencoesPorMesRequest(lista));\r\n handleClose();\r\n //handleCloseImport();\r\n }\r\n else {\r\n toast.error('Não foi possível importar a lista');\r\n return;\r\n }\r\n\r\n } else {\r\n handleShowError();\r\n setMessageError(\"Selecione o Excel antes de Importar!\");\r\n setShowError(true);\r\n }\r\n\r\n } catch (error) {\r\n handleShowError();\r\n setMessageError(\"CAMPOS IMPORTANTES ESTÃO FALTANDO NO EXCEL, VERIFIQUE NOVAMENTE ANTES DE IMPORTAR\");\r\n setShowError(true);\r\n }\r\n }\r\n else{\r\n handleShowError();\r\n setMessageError(\"Selecione o Excel e o Ano antes de Importar!\");\r\n setShowError(true);\r\n }\r\n\r\n handleCloseMensagem();\r\n\r\n }\r\n\r\n function exportarPadraoImportacao(){\r\n dispatch(BaixarPadraoImportacaoObrasIntervencoesPorMesRequest())\r\n }\r\n\r\n function ExcluirObrasIntervencoes(ano) {\r\n\r\n if(anoObrasExcluir && anoObrasExcluir !== 0){\r\n if(anoObrasExcluir.length === 0){\r\n toast.error('Selecione o ano!');\r\n return;\r\n }\r\n else{\r\n dispatch(ExcluirObrasIntervencoesPorMesRequest(ano));\r\n handleCloseExcluir();\r\n }\r\n }\r\n else{\r\n toast.error('Selecione o ano!');\r\n return;\r\n }\r\n\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n < RiCalendarTodoFill size={25} color={\"#000\"} /> Obras/Intervenções de IP Por Mês\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n //carregando ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n ''\r\n }\r\n columns={[\r\n {\r\n title: 'id', field: 'id', hidden: true,\r\n },\r\n {\r\n title: 'Descrição', field: 'statusConcluido'\r\n },\r\n {\r\n title: 'Mês', field: 'mes',\r\n },\r\n {\r\n title: 'Quantidade', field: 'quantidade',\r\n },\r\n //...colunas,\r\n {\r\n title: 'Data de Importação', field: 'data',\r\n },\r\n {\r\n title: 'Ano', field: 'ano', defaultGroupOrder: 0,\r\n },\r\n ]}\r\n data={/*hierarquiaCompleta.length > 0 && colunas.length > 0 ? \r\n hierarquiaCompleta.map(function(l, i){\r\n return{\r\n statusConcluido: l.statusConcluido ? 'Definitivo' : 'Parcial',\r\n ano: moment(l.ano).format(\"YYYY\"),\r\n data: moment(l.dataImportacao).format('L LT'),\r\n [l.quantidade[i].idMes]: l.quantidade[i].quantidade\r\n }\r\n })*/\r\n listaObrasIntervencoesPorMes ?\r\n listaObrasIntervencoesPorMes.map(i => {\r\n return{\r\n id: i.id,\r\n mes: i.meses.descricao,\r\n statusConcluido: i.statusConcluido ? 'Concluído' : 'Parcial',\r\n ano: i.ano,\r\n quantidade: i.quantidade,\r\n data: moment(i.dataImportacao).format('L LT'),\r\n }\r\n })\r\n : []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n actionsColumnIndex: -1,\r\n addRowPosition: \"first\",\r\n filtering: true,\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n //:\r\n //\r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n
\r\n

{messageError}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Importar Itens\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n if (files.length > 0) {\r\n readExcel(files[0])\r\n } else {\r\n setItems([])\r\n }\r\n }}\r\n filesLimit={1}\r\n acceptedFiles={[\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"]}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 1 arquivo`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={30000000}\r\n />\r\n \r\n Selecione o ano\r\n setAno(e.target.value)}\r\n required\r\n isInvalid={ano.length > 0 ? false : true}\r\n isValid={ano.length > 0 ? true : false} />\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n inserir == true ?\r\n \r\n :\r\n ''\r\n }\r\n \r\n
\r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n
\r\n

{messageError}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Qual ano você deseja excluir?\r\n \r\n \r\n
\r\n

Selecione o ano:

\r\n
\r\n { e ? setAnoObrasExcluir(e.value) : setAnoObrasExcluir([]) }}\r\n />\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 { useEffect, useState } from \"react\";\r\nimport { Row, Col, Card, Button } from \"react-bootstrap\";\r\nimport { ListarMesesRequest, InserirMesesRequest, AlterarMesesRequest } from \"../../../store/modules/meses/actions\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { RiCalendarTodoFill } from \"react-icons/ri\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport { toast } from \"react-toastify\";\r\nimport Header from \"../../../components/Header/header\";\r\nimport Loading from \"../../../components/Loading/loading\";\r\nimport MaterialTable from 'material-table';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { FaPlus } from \"react-icons/fa\";\r\n\r\nexport default function Meses() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const listaMeses = useSelector(state => state.meses.listaMeses);\r\n const carregando = useSelector(state => state.regiao.carregando);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n\r\n //Permissões\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [TodasOperacoes, setTodasOperacoes] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"AuxiliaresMenu\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"AuxiliaresInserir\").length == 1 && token.role.filter(r => r == \"AuxiliaresAlterar\").length == 1) {\r\n setTodasOperacoes(true);\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n dispatch(ListarMesesRequest())\r\n }, [])\r\n\r\n function ValidacoesInserir(meses) {\r\n\r\n //valida o campo descrição\r\n if (meses.descricao == null || meses.descricao == undefined\r\n || meses.descricao.trim() == '' || meses.descricao.length > 150) {\r\n toast.error(`Meses inválido`);\r\n return false;\r\n }\r\n\r\n return true;\r\n\r\n }\r\n\r\n function InserirMeses(meses) {\r\n\r\n let data = {\r\n 'Id': 0,\r\n 'Descricao': meses.descricao.trim(),\r\n }\r\n\r\n dispatch(InserirMesesRequest(data))\r\n }\r\n\r\n function AlterarMeses(meses) {\r\n\r\n let data = {\r\n 'Id': meses.id,\r\n 'Descricao': meses.descricao.trim()\r\n }\r\n\r\n dispatch(AlterarMesesRequest(data))\r\n }\r\n\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 Meses\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n carregando ?\r\n\r\n {\r\n if (rowData.descricao === undefined || rowData.descricao.trim() === \"\") {\r\n return \"Campo Obrigatório\"\r\n }\r\n else if (rowData.descricao.trim().length > 150) {\r\n return \"O nome não pode conter mais que 150 caracteres\"\r\n }\r\n return true\r\n }, cellStyle: { width: '80%' }\r\n },\r\n ]}\r\n data={\r\n listaMeses != undefined ?\r\n listaMeses.map(mes => {\r\n return {\r\n id: mes.id,\r\n descricao: mes.descricao,\r\n }\r\n })\r\n :\r\n []\r\n }\r\n icons={{\r\n Add: () =>\r\n \r\n }}\r\n editable={{\r\n onRowAdd: (newRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n InserirMeses(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n }),\r\n onRowUpdate: (newRow, oldRow) => new Promise((resolve, reject) => {\r\n TodasOperacoes ?\r\n setTimeout(() => {\r\n if (!ValidacoesInserir(newRow)) {\r\n reject();\r\n }\r\n else {\r\n AlterarMeses(newRow);\r\n resolve()\r\n }\r\n }, 1000)\r\n :\r\n setTimeout(() => {\r\n toast.error(`Você não tem permissão`);\r\n resolve()\r\n }, 1000)\r\n })\r\n }}\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n addRowPosition: \"first\",\r\n pageSizeOptions: [10, 50, 200, 300],\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n actionsColumnIndex: -1,\r\n filtering: true,\r\n rowStyle: rowData => ({\r\n backgroundColor: (selectedRow === rowData.tableData.id) ? '#EEE' : '#FFF'\r\n })\r\n\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: ''\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n :\r\n \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 { useEffect, useState } from \"react\";\r\nimport { Button, Row, Col, Card, Modal, Form, Container } from \"react-bootstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport { DropzoneArea } from 'material-ui-dropzone';\r\nimport { toast } from \"react-toastify\";\r\nimport { PatchedPagination } from \"../../../components/PatchedPagination/patchedPagination\";\r\nimport MaterialTable from 'material-table';\r\nimport * as XLSX from \"xlsx\";\r\nimport 'moment/locale/pt-br';\r\nimport moment from 'moment';\r\nimport { ListarManutencoesPorMesRequest, InserirManutencoesPorMesRequest, \r\n BaixarPadraoImportacaoManutencoesPorMesRequest, ExcluirManutencoesPorMesRequest } from \"../../../store/modules/manutencoesPorMes/actions\";\r\nimport { ListarMesesRequest } from \"../../../store/modules/meses/actions\";\r\nimport { ListarRegiaoRequest } from '../../../store/modules/regiao/actions';\r\nimport Header from \"../../../components/Header/header\";\r\nimport { RiTodoLine } from \"react-icons/ri\";\r\nimport Select from 'react-select';\r\n\r\nexport default function RelatorioManutencoesPorMes() {\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n let [usuario] = useState(JSON.parse(localStorage.getItem('token')).usuario);\r\n\r\n const listaManutencoesPorMes = useSelector(state => state.manutencoesPorMes.listaManutencoesPorMes);\r\n const listaMeses = useSelector(state => state.meses.listaMeses);\r\n const listaRegiao = useSelector(state => state.regiao.listaRegiao);\r\n const usuarioCompleto = useSelector(state => state.usuario.usuario);\r\n\r\n const [items, setItems] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const [messageError, setMessageError] = useState('');\r\n const [showError, setShowError] = useState(false);\r\n const [ano, setAno] = useState([]);\r\n const [showMensagem, setShowMensagem] = useState(false);\r\n const [showExcluir, setShowExcluir] = useState(false);\r\n const [anoManutencoes, setAnoManutencoes] = useState(0);\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const handleCloseError = () => setShowError(false);\r\n const handleShowError = () => setShowError(true);\r\n\r\n const handleCloseMensagem = () => setShowMensagem(false);\r\n const handleShowMensagem = () => setShowMensagem(true);\r\n\r\n const handleCloseExcluir = () => setShowExcluir(false);\r\n const handleShowExcluir = () => setShowExcluir(true);\r\n\r\n const selectAnoManutencoes = [];\r\n const optionsAnoManutencoes = listaManutencoesPorMes ?\r\n [...listaManutencoesPorMes].reduce(function(opcoes, index){\r\n let key = index['ano'];\r\n if(!opcoes[key]){\r\n opcoes[key] = [];\r\n }\r\n if(opcoes[key].length === 0){\r\n opcoes[key].push({value: index.ano, label: index.ano});\r\n selectAnoManutencoes.push({value: index.ano, label: index.ano});\r\n return opcoes;\r\n }\r\n else{\r\n return opcoes;\r\n }\r\n }, {})\r\n :\r\n [];\r\n\r\n let [token] = useState(JSON.parse(localStorage.getItem('token')).token);\r\n const [inserir, setInserir] = useState(false);\r\n const [alterar, setAlterar] = useState(false);\r\n useEffect(() => {\r\n\r\n //Permissão de Visualizar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoVerValores\").length == 0) {\r\n history.push(`/`);\r\n toast.error('Você não tem permissão para entrar nessa tela.');\r\n }\r\n\r\n //Permissão inserir e editar\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoInserir\").length == 1) {\r\n setInserir(true);\r\n }\r\n if (token.role.filter(r => r == \"SolicitacaoFornecimentoAlterar\").length == 1) {\r\n setAlterar(true);\r\n }\r\n\r\n }, [])\r\n\r\n const readExcel = (file) => {\r\n const promise = new Promise((resolve, reject) => {\r\n const fileReader = new FileReader();\r\n fileReader.readAsArrayBuffer(file);\r\n\r\n fileReader.onload = (e) => {\r\n const bufferArray = e.target.result;\r\n\r\n const wb = XLSX.read(bufferArray, { type: \"buffer\" });\r\n\r\n const wsname = wb.SheetNames[0];\r\n\r\n const ws = wb.Sheets[wsname];\r\n\r\n const data = XLSX.utils.sheet_to_json(ws);\r\n\r\n resolve(data);\r\n };\r\n\r\n fileReader.onerror = (error) => {\r\n reject(error);\r\n };\r\n });\r\n\r\n promise.then((d) => {\r\n setItems(d);\r\n });\r\n\r\n };\r\n\r\n useEffect(() => {\r\n\r\n moment.locale('pt-br');\r\n\r\n dispatch(ListarManutencoesPorMesRequest());\r\n dispatch(ListarMesesRequest());\r\n dispatch(ListarRegiaoRequest());\r\n\r\n }, [])\r\n\r\n function Validar(e){\r\n\r\n if (items.length > 0 && ano.length > 0) {\r\n\r\n e.preventDefault();\r\n\r\n const propertyValues = Object.keys(items[0]);\r\n \r\n if(listaMeses){\r\n var mesesComparados = [];\r\n var listasComparadas = propertyValues.map(function(l, m){\r\n if(l.trim() !== 'Descrição' && listaMeses.filter(e => e.descricao.trim().toLowerCase() == l.trim().toLowerCase()).length === 0){\r\n mesesComparados.push(` ${l}`);\r\n }\r\n })\r\n \r\n if(mesesComparados.length > 0){\r\n \r\n handleShowMensagem();\r\n setMessageError(`O mês: \" ${mesesComparados.map(l => {return l ? l : null})} \" está presente no Excel de importação, porém, ` +\r\n `não faz parte do banco atual. Caso continue esta ação, este mês não será listado com o respectivo valor. Deseja continuar?`);\r\n \r\n }\r\n else{\r\n ImportarArquivo(e);\r\n }\r\n }\r\n }\r\n else{\r\n handleShowError();\r\n setMessageError(\"Selecione o Excel e o Ano antes de Importar!\");\r\n setShowError(true);\r\n }\r\n\r\n }\r\n\r\n function ImportarArquivo(e) {\r\n\r\n if (listaMeses && ano.length > 0) {\r\n\r\n let lista = [];\r\n var data = [];\r\n var idRegiao = null;\r\n\r\n try {\r\n\r\n if (items.length > 0) {\r\n\r\n items.forEach(function(item){\r\n\r\n const propertyValues = Object.keys(item);\r\n\r\n propertyValues.map(function(l, m){\r\n if(l.trim() === 'Descrição'){\r\n var descricaoRegiao = item[l];\r\n idRegiao = listaRegiao.filter(r => r.descricao == descricaoRegiao).length > 0 ?\r\n listaRegiao.filter(r => r.descricao == descricaoRegiao)[0].id : null;\r\n }\r\n else{\r\n if(listaMeses.filter(m => m.descricao.trim().toLowerCase() == l.trim().toLowerCase()).length > 0 && idRegiao !== null){\r\n data.push({\r\n 'Id': 0,\r\n 'IdMes': listaMeses.filter(m => m.descricao.trim().toLowerCase() == l.trim().toLowerCase())[0].id,\r\n 'Valor': item[l] ? item[l] : 0,\r\n 'IdRegiao': idRegiao,\r\n 'DataImportacao': moment((new Date())).add('hours', 2),\r\n 'Ano': parseInt(moment(ano).format(\"YYYY\")),\r\n })\r\n }\r\n }\r\n })\r\n });\r\n\r\n if(idRegiao === null && data.length === 0){\r\n handleShowError();\r\n handleCloseMensagem();\r\n setMessageError(\"Existem regiões no arquivo de importação que não fazem parte do banco atual, \" + \r\n \"para prosseguir insira as regiões que estão pendentes.\");\r\n setShowError(true);\r\n }\r\n\r\n lista.push(data);\r\n\r\n if (lista.length > 0 && data.length > 0) {\r\n dispatch(InserirManutencoesPorMesRequest(lista));\r\n handleClose();\r\n //handleCloseImport();\r\n }\r\n else {\r\n toast.error('Não foi possível importar a lista');\r\n return;\r\n }\r\n\r\n } else {\r\n handleShowError();\r\n setMessageError(\"Selecione o Excel antes de Importar!\");\r\n setShowError(true);\r\n }\r\n\r\n } catch (error) {\r\n handleShowError();\r\n setMessageError(\"CAMPOS IMPORTANTES ESTÃO FALTANDO NO EXCEL, VERIFIQUE NOVAMENTE ANTES DE IMPORTAR\");\r\n setShowError(true);\r\n }\r\n }\r\n else{\r\n handleShowError();\r\n setMessageError(\"Selecione o Excel e o Ano antes de Importar!\");\r\n setShowError(true);\r\n }\r\n\r\n handleCloseMensagem();\r\n\r\n }\r\n\r\n function exportarPadraoImportacao(){\r\n dispatch(BaixarPadraoImportacaoManutencoesPorMesRequest())\r\n }\r\n\r\n \r\n function ExcluirManutencao(ano) {\r\n\r\n if(anoManutencoes && anoManutencoes !== 0){\r\n if(anoManutencoes.length === 0){\r\n toast.error('Selecione o ano!');\r\n return;\r\n }\r\n else{\r\n dispatch(ExcluirManutencoesPorMesRequest(ano));\r\n handleCloseExcluir();\r\n }\r\n }\r\n else{\r\n toast.error('Selecione o ano!');\r\n return;\r\n }\r\n\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n < RiTodoLine size={25} color={\"#000\"} /> Manutenções Por Mês\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n //carregando ?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n :\r\n ''\r\n }\r\n columns={[\r\n {\r\n title: 'id', field: 'id', hidden: true,\r\n },\r\n {\r\n title: 'Região', field: 'regiao', defaultGroupOrder: 1,\r\n },\r\n {\r\n title: 'Mês', field: 'mes', \r\n },\r\n {\r\n title: 'Valor', field: 'valor',\r\n render: rowData =>\r\n rowData.totalMedicao === null ?\r\n null\r\n :\r\n rowData.valor.toLocaleString('pt-br', {\r\n style: 'currency', currency: 'BRL',\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n }),\r\n },\r\n {\r\n title: 'Data de Importação', field: 'data',\r\n },\r\n {\r\n title: 'Ano', field: 'ano', defaultGroupOrder: 0,\r\n },\r\n ]}\r\n data={\r\n listaManutencoesPorMes ?\r\n listaManutencoesPorMes.map(i => {\r\n return{\r\n id: i.id,\r\n mes: i.meses.descricao,\r\n regiao: i.regiao.descricao,\r\n ano: i.ano,\r\n valor: i.valor,\r\n data: moment(i.dataImportacao).format('L LT'),\r\n }\r\n })\r\n : []\r\n }\r\n options={{\r\n minBodyHeight: 500,\r\n paging: true,\r\n pageSize: 10, // Início\r\n emptyRowsWhenPaging: false,\r\n pageSizeOptions: [10, 50, 200, 300],\r\n filterRowStyle: {\r\n backgroundColor: \"#FAFAFA\"\r\n },\r\n headerStyle: {\r\n backgroundColor: '#454545',\r\n color: '#FFF',\r\n fontWeight: \"bold\",\r\n lineBreak: \"auto\",\r\n fontSize: \"13px\"\r\n },\r\n actionsColumnIndex: -1,\r\n addRowPosition: \"first\",\r\n filtering: true,\r\n }}\r\n style={{\r\n fontSize: \"13px\",\r\n }}\r\n localization={{\r\n header: {\r\n actions: Ações\r\n },\r\n body: {\r\n emptyDataSourceMessage: 'Nenhum registro para exibir',\r\n editRow: {\r\n deleteText: 'Você tem certeza que deseja excluir essa linha?',\r\n saveTooltip: '',\r\n cancelTooltip: '',\r\n },\r\n deleteTooltip: '',\r\n editTooltip: '',\r\n addTooltip: '',\r\n },\r\n toolbar: {\r\n searchTooltip: '',\r\n searchPlaceholder: 'Pesquisar',\r\n exportTitle: \"\",\r\n exportCSVName: \"Exportar como CSV\",\r\n exportPDFName: \"Exportar como PDF\",\r\n },\r\n pagination: {\r\n labelRowsSelect: 'linhas',\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n firstTooltip: '',\r\n previousTooltip: '',\r\n nextTooltip: '',\r\n lastTooltip: ''\r\n },\r\n grouping: {\r\n placeholder: 'Arraste a coluna aqui para agrupar',\r\n groupedBy: 'Agrupado por:'\r\n }\r\n }}\r\n />\r\n //:\r\n //\r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n
\r\n

{messageError}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Importar Itens\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {\r\n if (files.length > 0) {\r\n readExcel(files[0])\r\n } else {\r\n setItems([])\r\n }\r\n }}\r\n filesLimit={1}\r\n acceptedFiles={[\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"]}\r\n showPreviewsInDropzone={true}\r\n useChipsForPreview\r\n getFileLimitExceedMessage={() => `Só é permitido adicionar 1 arquivo`}\r\n getFileAddedMessage={(fileName) => `Arquivo ${fileName} foi adicionado com sucesso.`}\r\n getFileRemovedMessage={(fileName) => `Arquivo ${fileName} foi removido.`}\r\n disableRejectionFeedback={true}\r\n dropzoneText=\"Arraste ou clique aqui para selecionar os arquivos\"\r\n previewGridProps={{ container: { spacing: 1, direction: 'row' } }}\r\n maxFileSize={30000000}\r\n />\r\n \r\n Selecione o ano\r\n setAno(e.target.value)}\r\n required\r\n isInvalid={ano.length > 0 ? false : true}\r\n isValid={ano.length > 0 ? true : false} />\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n inserir == true ?\r\n \r\n :\r\n ''\r\n }\r\n \r\n
\r\n\r\n \r\n \r\n Atenção\r\n \r\n \r\n
\r\n

{messageError}

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Qual ano você deseja excluir?\r\n \r\n \r\n
\r\n

Selecione o ano:

\r\n
\r\n { e ? setAnoManutencoes(e.value) : setAnoManutencoes([]) }}\r\n />\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 React from 'react';\r\nimport { Switch } from 'react-router-dom';\r\nimport Route from './Route';\r\nimport Dashboard from \"../pages/PageDashboard/dashboard\";\r\nimport Erro from \"../pages/PageErro/erro\";\r\nimport Login from \"../pages/PageLogin/Login/login\";\r\nimport Grupo from '../pages/PageGrupoAcesso/Listar/listar';\r\nimport Usuario from '../pages/PageUsuario/Listar/listar';\r\nimport PermissoesGrupo from '../pages/PageGrupoAcesso/Permissao/permissao';\r\nimport Perfil from '../pages/PageUsuario/Perfil/perfil';\r\nimport AtivacaoConta from '../pages/PageLogin/AtivacaoConta/ativacaoConta';\r\nimport CadastrarUsuario from '../pages/PageUsuario/Usuario/usuario';\r\nimport Contrato from '../pages/PageContrato/Listar/listar';\r\nimport CadastroGeralContrato from '../pages/PageContrato/Abas/abas';\r\nimport VisualizarContratoCompleto from '../pages/PageContrato/Visualizar/visualizar';\r\nimport FonteReceita from '../pages/PageFonteReceita/Listar/listar';\r\nimport CadastroGeralFonte from '../pages/PageFonteReceita/Abas/abas';\r\nimport UnidadeMedida from '../pages/PageAuxiliar/UnidadeMedida/unidadeMedida';\r\nimport ComposicaoCusto from '../pages/PageAuxiliar/ComposicaoCusto/composicaoCusto';\r\nimport TipoRecurso from '../pages/PageAuxiliar/TipoRecurso/tipoRecurso';\r\nimport CadastrarGeralSolicitacao from '../pages/PageSolicitacaoFornecimento/Abas/abas';\r\nimport Regiao from '../pages/PageAuxiliar/Regiao/regiao';\r\nimport TipoSolicitacao from '../pages/PageAuxiliar/TipoSolicitacao/tipoSolicitacao';\r\nimport SolicitacaoFornecimento from '../pages/PageSolicitacaoFornecimento/Listar/listar';\r\nimport TipoDocumentoArquivo from '../pages/PageAuxiliar/TipoDocumentoArquivo/tipoDocumentoArquivo';\r\nimport AutorizacaoFornecimento from '../pages/PageAutorizacaoFornecimento/Listar/listar';\r\nimport CadastroGeralAutorizacao from '../pages/PageAutorizacaoFornecimento/Abas/abas';\r\nimport CadastrarGeralMedicao from '../pages/PageMedicaoAutorizacaoFornecimento/Abas/abas';\r\nimport CadastrarGeralSubitem from '../pages/PageMedicaoAutorizacaoFornecimentoSubItem/Abas/abas';\r\nimport Fornecedor from '../pages/PageFornecedor/Listar/listar';\r\nimport CadastroGeralFornecedor from '../pages/PageFornecedor/Abas/abas';\r\nimport Prioridade from '../pages/PageAuxiliar/Prioridade/prioridade';\r\nimport Empenho from '../pages/PageEmpenho/Listar/listar';\r\nimport CadastrarGeralEmpenho from '../pages/PageEmpenho/Abas/abas';\r\nimport MedicaoAutorizacaoFornecimento from '../pages/PageMedicaoAutorizacaoFornecimento/Listar/listar';\r\nimport CadastroGeralEmpenho from '../pages/PageEmpenho/Abas/abas';\r\nimport Faturamento from '../pages/PageFaturamento/Faturamento/faturamento';\r\nimport Relatorio from '../pages/PageRelatorio/RelatoriosGerais/relatorio';\r\nimport CategoriaItem from '../pages/PageAuxiliar/CategoriaItem/categoriaItem';\r\nimport NotFound from \"../pages/PageNotFound/notFound\";\r\nimport BemVindo from '../pages/PageBemVindo/bemVindo';\r\nimport Interessado from '../pages/PageAuxiliar/Interessado/interessado';\r\nimport Orgao from '../pages/PageAuxiliar/Orgao/orgao';\r\nimport Assinante from '../pages/PageAuxiliar/Assinante/assinante';\r\nimport HistoricoSolicitacao from '../pages/PageSolicitacaoFornecimento/HistoricoSolicitacao/historicoSolicitacao';\r\nimport RelatorioStatusSolicitacao from '../pages/PageRelatorio/RelatorioStatusSolicitacao/listar';\r\nimport RelatorioStatusAutorizacao from '../pages/PageRelatorio/RelatorioStatusAutorizacao/relatorioStatusAutorizacao';\r\nimport RelatorioStatusMedicao from '../pages/PageRelatorio/RelatorioStatusMedicao/relatorioStatusMedicao';\r\nimport RelatorioStatusEmpenho from '../pages/PageRelatorio/RelatorioStatusEmpenho/relatorioStatusEmpenho';\r\nimport RelatorioSolicitacao from '../pages/PageRelatorio/RelatorioSolicitacao/relatorioSolicitacao';\r\nimport ObrasIntervencoesPorMes from '../pages/PageObrasIntervencoesPorMes/Listar/listar';\r\nimport Meses from '../pages/PageAuxiliar/Meses/meses';\r\nimport ManutencoesPorMes from '../pages/PageRelatorio/RelatorioManutencoesPorMes/relatorioManutencoesPorMes';\r\n\r\nexport default function Routes() {\r\n\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 produce from 'immer';\r\n\r\nconst token = JSON.parse(localStorage.getItem(\"token\"));\r\n\r\nconst initialState = token\r\n ? { isLoggedIn: true, token, usuario: null, listaUsuario: undefined, carregando: true, senha:null }\r\n : { isLoggedIn: false, token: null, usuario: null, listaUsuario: undefined, carregando: true, senha:null };\r\n\r\nexport default function usuario(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_USUARIO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaUsuario = action.listaUsuario;\r\n });\r\n\r\n case 'BUSCAR_USUARIO_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.usuario = action.usuario;\r\n });\r\n\r\n case 'LOGIN_USUARIO_RESPONSE':\r\n return produce(state, draft => {\r\n localStorage.setItem('token', JSON.stringify(action.usuario));\r\n });\r\n\r\n case 'LOGIN_USUARIO_FAIL':\r\n return produce(state => {\r\n localStorage.removeItem('token');\r\n });\r\n \r\n case 'LIMPAR_USUARIO_REQUEST':\r\n return produce(state, draft => {\r\n draft.usuario = null;\r\n state = null;\r\n });\r\n\r\n case 'INSERIR_NOVA_SENHA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.senha = action.senha ;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaGrupoAcesso: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function grupoAcesso(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_GRUPO_ACESSO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaGrupoAcesso = action.listaGrupoAcesso;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\nimport Cookies from 'universal-cookie';\r\nimport jwt_decode from \"jwt-decode\";\r\nimport 'moment/locale/pt-br';\r\nimport moment from 'moment';\r\n\r\nconst initialState = {\r\n perfilCompleto: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function perfil(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'ATUALIZAR_PERFIL_RESPONSE':\r\n\r\n return produce(state, draft => {\r\n\r\n const cookies = new Cookies();\r\n\r\n var tokenCookie = cookies.get('token');\r\n var token = JSON.parse(localStorage.getItem('token')).tokenCodificado;\r\n let decoded = jwt_decode(tokenCookie + token);\r\n\r\n var horaExpiracao = moment((new Date())).add('hours', 10);\r\n\r\n let dados = {\r\n token: decoded,\r\n tokenCodificado: token,\r\n usuario: action.data,\r\n hora: horaExpiracao.toString()\r\n }\r\n\r\n localStorage.setItem('token', JSON.stringify(dados));\r\n\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaMunicipio: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function municipio(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_MUNICIPIO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaMunicipio = action.listaMunicipio;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaGrupoFuncaoAcesso: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function permissoesGrupo(state = initialState, action){\r\n \r\n switch(action.type){\r\n\r\n case 'LISTAR_GRUPO_FUNCAO_ACESSO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaGrupoFuncaoAcesso = action.listaGrupoFuncaoAcesso;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaCliente: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function cliente(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CLIENTE_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCliente = action.listaCliente\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaTipoDocumento: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function tipoDocumento(state = initialState, action){\r\n \r\n switch(action.type){\r\n\r\n case 'LISTAR_TIPO_DOCUMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaTipoDocumento = action.listaTipoDocumento;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaSubitemCusto: undefined,\r\n listaCompletaSubitemCusto: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function subitemCusto(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_SUBITEM_CUSTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaSubitemCusto = action.listaSubitemCusto;\r\n });\r\n\r\n case 'LISTAR_SUBITEM_CUSTO_COMPLETO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCompletaSubitemCusto = action.listaCompletaSubitemCusto;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaItemCusto: undefined,\r\n listaCompletaItemCusto: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function itemCusto(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_ITEM_CUSTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaItemCusto = action.listaItemCusto;\r\n });\r\n\r\n case 'LISTAR_ITEM_CUSTO_COMPLETO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCompletaItemCusto = action.listaCompletaItemCusto;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaGrupoCusto: undefined,\r\n listaCompletaGrupoCusto: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function grupoCusto(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_GRUPO_CUSTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaGrupoCusto = action.listaGrupoCusto;\r\n });\r\n\r\n case 'LISTAR_GRUPO_CUSTO_COMPLETO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCompletaGrupoCusto = action.listaCompletaGrupoCusto;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n contratoCompleto: null,\r\n listaContrato: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function contrato(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CONTRATO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaContrato = action.listaContrato;\r\n });\r\n\r\n case 'BUSCAR_CONTRATO_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.contratoCompleto = action.contratoCompleto;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaOrigemContrato: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function origemContrato(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_ORIGEM_CONTRATO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaOrigemContrato = action.listaOrigemContrato;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaUnidadeMedida: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function unidadeMedida(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_UNIDADE_MEDIDA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaUnidadeMedida = action.listaUnidadeMedida;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaContratoUsuario: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function contratoUsuario(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CONTRATO_USUARIO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaContratoUsuario = action.listaContratoUsuario;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n fonteReceitaCompleta: null,\r\n listaFonteReceita: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function fonte(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_FONTE_RECEITA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaFonteReceita = action.listaFonteReceita;\r\n });\r\n\r\n case 'BUSCAR_FONTE_RECEITA_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.fonteReceitaCompleta = action.fonteReceitaCompleta;\r\n });\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaComposicaoCusto: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function composicaoCusto(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_COMPOSICAO_CUSTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaComposicaoCusto = action.listaComposicaoCusto;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaTipoRecurso: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function tipoRecurso(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_TIPO_RECURSO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaTipoRecurso = action.listaTipoRecurso;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n fonteReceitaVersaoCompleta: null,\r\n listaFonteReceitaVersao: undefined,\r\n listaFonteReceitaVersaoUltimo: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function fonteReceitaVersao(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_FONTE_RECEITA_VERSAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaFonteReceitaVersao = action.listaFonteReceitaVersao;\r\n });\r\n\r\n case 'BUSCAR_FONTE_RECEITA_VERSAO_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.fonteReceitaVersaoCompleta = action.fonteReceitaVersaoCompleta;\r\n });\r\n\r\n case 'LISTAR_POR_ULTIMA_VERSAO_ANO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaFonteReceitaVersaoUltimo = action.listaFonteReceitaVersaoUltimo;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\nimport Cookies from 'universal-cookie';\r\n\r\nconst cookies = new Cookies();\r\nconst initialState = {\r\n token: null,\r\n carregando: true\r\n};\r\n\r\nexport default function global(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'CRIAR_TXT':\r\n setTimeout(() => {\r\n WriteErroFile(action.text);\r\n }, 1000)\r\n return state;\r\n break;\r\n\r\n case 'ERROR_RESPONSE':\r\n return produce(state, draft => {\r\n console.log(state, draft);\r\n console.log(draft.text)\r\n });\r\n\r\n case 'ATUALIZAR_TOKEN':\r\n return produce(state, draft => {\r\n draft.token = {\r\n Authorization: JSON.parse(localStorage.getItem('token')) !== null ?\r\n `Bearer ${cookies.get('token')}${JSON.parse(localStorage.getItem('token')).tokenCodificado}`\r\n : ''\r\n };\r\n });\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n\r\n function WriteErroFile(text) {\r\n\r\n const blob = new Blob([text]);\r\n const fileDownloadUrl = URL.createObjectURL(blob);\r\n const link = document.createElement('a');\r\n link.href = fileDownloadUrl;\r\n link.setAttribute(\r\n `download`,\r\n `ErroExcel.txt`,\r\n );\r\n document.body.appendChild(link);\r\n link.click();\r\n link.parentNode.removeChild(link);\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n solicitacaoFornecimentoCompleto: null,\r\n listaSolicitacaoFornecimento: undefined,\r\n listarSolicitacaoFornecimentoCamposVerificacaoRapida: undefined,\r\n coordenadasPorEndereco: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function solicitacaoFornecimento(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_SOLICITACAO_FORNECIMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaSolicitacaoFornecimento = action.listaSolicitacaoFornecimento;\r\n });\r\n\r\n case 'BUSCAR_SOLICITACAO_FORNECIMENTO_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.solicitacaoFornecimentoCompleto = action.solicitacaoFornecimentoCompleto;\r\n });\r\n\r\n case 'LIMPAR_SOLICITACAO_FORNECIMENTO':\r\n return produce(state, draft => {\r\n draft.solicitacaoFornecimentoCompleto = null\r\n }); \r\n \r\n case 'LISTAR_SOLICITACAO_FORNECIMENTO_CAMPOS_VERIFICACAO_RAPIDA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listarSolicitacaoFornecimentoCamposVerificacaoRapida\r\n = action.listarSolicitacaoFornecimentoCamposVerificacaoRapida;\r\n });\r\n \r\n case 'BUSCAR_COORDENADAS_POR_ENDERECO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.coordenadasPorEndereco = action.coordenadasPorEndereco;\r\n }); \r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaRegiao: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function regiao(state = initialState, action) {\r\n\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_REGIAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaRegiao = action.listaRegiao;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n tipoSolicitacaoCompleto: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function tipoSolicitacao(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_TIPO_SOLICITACAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaTipoSolicitacao = action.listaTipoSolicitacao;\r\n });\r\n\r\n case 'BUSCAR_TIPO_SOLICITACAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.tipoSolicitacaoCompleto = action.tipoSolicitacaoCompleto;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaSolicitacaoFornecimentoDocumentoArquivo: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function solicitacaoFornecimentoDocumentoArquivo(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_SOLICITACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaSolicitacaoFornecimentoDocumentoArquivo = action.listaSolicitacaoFornecimentoDocumentoArquivo;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n contratoVersaoCompleto: null,\r\n listaContratoVersao: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function contratoVersao(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CONTRATO_VERSAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaContratoVersao = action.listaContratoVersao;\r\n });\r\n\r\n case 'BUSCAR_CONTRATO_VERSAO_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.contratoVersaoCompleto = action.contratoVersaoCompleto;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaSolicitacaoFornecimentoVersaoSubitemCusto: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function solicitacaoFornecimentoVersaoSubitemCusto(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaSolicitacaoFornecimentoVersaoSubitemCusto = action.listaSolicitacaoFornecimentoVersaoSubitemCusto;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaSolicitacaoFornecimentoVersaoStatus: undefined,\r\n listaValidacaoSolicitacaoStatus: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function solicitacaoFornecimentoVersaoStatus(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaSolicitacaoFornecimentoVersaoStatus = action.listaSolicitacaoFornecimentoVersaoStatus;\r\n });\r\n\r\n case 'VALIDAR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaValidacaoSolicitacaoStatus = action.listaValidacaoSolicitacaoStatus;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n case 'LIMPAR_LISTA_VALIDACAO_SOLICITACAO':\r\n return produce(state, draft => {\r\n draft.listaValidacaoSolicitacaoStatus = undefined\r\n });\r\n\r\n case 'LIMPAR_SOLICITACAO_STATUS':\r\n return produce(state, draft => {\r\n draft.listaSolicitacaoFornecimentoVersaoStatus = undefined\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaTipoDocumentoArquivo: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function tipoDocumentoArquivo(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_TIPO_DOCUMENTO_ARQUIVO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaTipoDocumentoArquivo = action.listaTipoDocumentoArquivo\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from \"immer\";\r\n\r\nconst initialState = {\r\n listaSolicitacaoFornecimentoVersao: undefined,\r\n listaCompletaSolicitacaoFornecimentoVersao: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function solicitacaoFornecimentoVersao(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_SOLICITACAO_FORNECIMENTO_VERSAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaSolicitacaoFornecimentoVersao = action.listaSolicitacaoFornecimentoVersao;\r\n });\r\n\r\n case 'LISTAR_COMPLETO_SOLICITACAO_FORNECIMENTO_VERSAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCompletaSolicitacaoFornecimentoVersao = action.listaCompletaSolicitacaoFornecimentoVersao;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaTipoContratoVersao: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function tipoContratoVersao(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_TIPO_CONTRATO_VERSAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaTipoContratoVersao = action.listaTipoContratoVersao\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaRelatorioMedicaoSubItem: [],\r\n listaRelatorioAutorizacaoFornecimentoSubitemCusto: [],\r\n listaDadosExportarPDFAutorizacaoFornecimento: null,\r\n listaDadosExportarPDFSolicitacaoFornecimento: [],\r\n listaDadosExportarPDFEmpenho: null,\r\n listaDadosExportarPDFSolicitacaoFornecimentoEvento: [],\r\n listaDadosExportarPDFEmpenhoBoletimMedicao: null,\r\n listaRelatorioStatusSolicitacao: null,\r\n listaRelatorioStatusAutorizacao: null,\r\n listaRelatorioStatusMedicao: null,\r\n listaRelatorioStatusEmpenho: null,\r\n listaRelatorioSolicitacao: null,\r\n carregando: true\r\n};\r\n\r\nexport default function relatorio(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_RELATORIO_AUTORIZACAO_FORNECIMENTO_SUBITEM_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaRelatorioAutorizacaoFornecimentoSubitemCusto = action.listaRelatorioAutorizacaoFornecimentoSubitemCusto;\r\n });\r\n\r\n case 'LISTAR_RELATORIO_MEDICAO_SUBITEM_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaRelatorioMedicaoSubItem = action.listaRelatorioMedicaoSubItem;\r\n });\r\n\r\n case 'LISTAR_DADOS_EXPORTAR_PDF_AUTORIZACAO_FORNECIMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDadosExportarPDFAutorizacaoFornecimento = action.listaDadosExportarPDFAutorizacaoFornecimento;\r\n });\r\n\r\n case 'LISTAR_DADOS_EXPORTAR_PDF_SOLICITACAO_FORNECIMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDadosExportarPDFSolicitacaoFornecimento = action.listaDadosExportarPDFSolicitacaoFornecimento;\r\n });\r\n\r\n case 'LISTAR_DADOS_EXPORTAR_PDF_EMPENHO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDadosExportarPDFEmpenho = action.listaDadosExportarPDFEmpenho;\r\n });\r\n\r\n case 'LISTAR_DADOS_EXPORTAR_PDF_SOLICITACAO_FORNECIMENTO_EVENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDadosExportarPDFSolicitacaoFornecimentoEvento = action.listaDadosExportarPDFSolicitacaoFornecimentoEvento;\r\n });\r\n\r\n case 'LISTAR_DADOS_EXPORTAR_PDF_EMPENHO_BOLETIM_MEDICAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDadosExportarPDFEmpenhoBoletimMedicao = action.listaDadosExportarPDFEmpenhoBoletimMedicao;\r\n });\r\n\r\n case 'LIMPAR_RELATORIO_EMPENHO':\r\n return produce(state, draft => {\r\n draft.listaDadosExportarPDFEmpenho = null\r\n });\r\n\r\n case 'LISTAR_RELATORIO_STATUS_SOLICITACAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaRelatorioStatusSolicitacao = action.listaRelatorioStatusSolicitacao;\r\n });\r\n\r\n case 'LISTAR_RELATORIO_STATUS_AUTORIZACAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaRelatorioStatusAutorizacao = action.listaRelatorioStatusAutorizacao;\r\n });\r\n\r\n case 'LISTAR_RELATORIO_STATUS_MEDICAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaRelatorioStatusMedicao = action.listaRelatorioStatusMedicao;\r\n });\r\n\r\n case 'LISTAR_RELATORIO_STATUS_EMPENHO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaRelatorioStatusEmpenho = action.listaRelatorioStatusEmpenho;\r\n })\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n case 'LISTAR_RELATORIO_SOLICITACAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaRelatorioSolicitacao = action.listaRelatorioSolicitacao;\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaTipoSolicitacaoTipoDocumentoArquivo: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function tipoSolicitacaoTipoDocumentoArquivo(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_TIPO_SOLICITACAO_TIPO_DOCUMENTO_ARQUIVO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaTipoSolicitacaoTipoDocumentoArquivo = action.listaTipoSolicitacaoTipoDocumentoArquivo;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaSolicitacaoFornecimentoRegistroFotografico: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function solicitacaoFornecimentoRegistroFotografico(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaSolicitacaoFornecimentoRegistroFotografico = action.listaSolicitacaoFornecimentoRegistroFotografico;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState =\r\n{\r\n listaAutorizacaoFornecimento: undefined,\r\n listaCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitem: undefined,\r\n autorizacaoFornecimentoCompleto: undefined,\r\n autorizacaoFornecimento: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function autorizacaoFornecimento(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_AUTORIZACAO_FORNECIMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaAutorizacaoFornecimento = action.listaAutorizacaoFornecimento\r\n });\r\n \r\n case 'LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitem = action.listaCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitem\r\n }); \r\n\r\n case 'LIMPAR_AUTORIZACAO':\r\n return produce(state, draft => {\r\n draft.autorizacaoFornecimentoCompleto = null\r\n }); \r\n \r\n case 'BUSCAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.autorizacaoFornecimentoCompleto = action.autorizacaoFornecimentoCompleto\r\n }); \r\n\r\n case 'BUSCAR_AUTORIZACAO_FORNECIMENTO_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.autorizacaoFornecimento = action.autorizacaoFornecimento;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n autorizacaoFornecimentoSubitemCustoCompleto: null,\r\n listaAutorizacaoFornecimentoSubitemCusto: undefined,\r\n listaCompletoAutorizacaoFornecimentoSubitemCusto: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function autorizacaoFornecimentoSubitemCusto(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaAutorizacaoFornecimentoSubitemCusto = action.listaAutorizacaoFornecimentoSubitemCusto\r\n });\r\n\r\n case 'LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCompletoAutorizacaoFornecimentoSubitemCusto = action.listaCompletoAutorizacaoFornecimentoSubitemCusto\r\n });\r\n\r\n case 'BUSCAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.autorizacaoFornecimentoSubitemCustoCompleto = action.autorizacaoFornecimentoSubitemCustoCompleto;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState =\r\n{\r\n listaMedicaoAutorizacaoFornecimento: undefined,\r\n medicaoAutorizacaoFornecimentoCompleto: null,\r\n listaTodasMedicaoAutorizacaoFornecimento: undefined\r\n};\r\n\r\nexport default function medicaoAutorizacaoFornecimento(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaMedicaoAutorizacaoFornecimento = action.listaMedicaoAutorizacaoFornecimento\r\n });\r\n\r\n case 'BUSCAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.medicaoAutorizacaoFornecimentoCompleto = action.medicaoAutorizacaoFornecimentoCompleto\r\n });\r\n\r\n case 'LISTAR_TODAS_MEDICAO_AUTORIZACAO_FORNECIMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaTodasMedicaoAutorizacaoFornecimento = action.listaTodasMedicaoAutorizacaoFornecimento;\r\n });\r\n\r\n case 'LIMPAR_MEDICAO':\r\n return produce(state, draft => {\r\n draft.medicaoAutorizacaoFornecimentoCompleto = null\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = { listaStatusSolicitacaoFornecimento: undefined,\r\n listaStatusSolicitacaoFornecimentoCompleto: undefined,\r\n carregando: true };\r\n\r\nexport default function tipoSolicitacao(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_STATUS_SOLICITACAO_FORNECIMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaStatusSolicitacaoFornecimento = action.listaStatusSolicitacaoFornecimento;\r\n });\r\n\r\n case 'LISTAR_STATUS_SOLICITACAO_FORNECIMENTO_COMPLETO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaStatusSolicitacaoFornecimentoCompleto = action.listaStatusSolicitacaoFornecimentoCompleto;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = { listaStatusAutorizacaoFornecimento: undefined,\r\n carregando: true };\r\n\r\nexport default function tipoAutorizacao(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_STATUS_AUTORIZACAO_FORNECIMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaStatusAutorizacaoFornecimento = action.listaStatusAutorizacaoFornecimento;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaAutorizacaoFornecimentoStatus: undefined,\r\n listaCompletoAutorizacaoFornecimentoStatus: undefined,\r\n carregando: true,\r\n modalConfirmacaoStatusFinalizado: false\r\n};\r\n\r\nexport default function autorizacaoFornecimentoStatus(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_AUTORIZACAO_FORNECIMENTO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaAutorizacaoFornecimentoStatus = action.listaAutorizacaoFornecimentoStatus;\r\n });\r\n\r\n case 'LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCompletoAutorizacaoFornecimentoStatus = action.listaCompletoAutorizacaoFornecimentoStatus;\r\n });\r\n\r\n case 'MODAL_CONFIRMACAO_STATUS_FINALIZADO':\r\n return produce(state, draft => {\r\n draft.modalConfirmacaoStatusFinalizado = action.modalConfirmacaoStatusFinalizado;\r\n });\r\n\r\n case 'LIMPAR_MODAL_CONFIRMACAO_STATUS_FINALIZADO':\r\n return produce(state, draft => {\r\n draft.modalConfirmacaoStatusFinalizado = false\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaStatusMedicaoAutorizacaoFornecimento: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function tipoAutorizacao(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_STATUS_MEDICAO_AUTORIZACAO_FORNECIMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaStatusMedicaoAutorizacaoFornecimento = action.listaStatusMedicaoAutorizacaoFornecimento;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaMedicaoAutorizacaoFornecimentoStatus: undefined,\r\n listaValidacaoMedicaoStatus: undefined,\r\n listaCompletoMedicaoAutorizacaoFornecimentoStatus: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function medicaoAutorizacaoFornecimentoStatus(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaMedicaoAutorizacaoFornecimentoStatus = action.listaMedicaoAutorizacaoFornecimentoStatus;\r\n });\r\n\r\n case 'LISTAR_COMPLETO_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCompletoMedicaoAutorizacaoFornecimentoStatus = action.listaCompletoMedicaoAutorizacaoFornecimentoStatus;\r\n });\r\n\r\n case 'VALIDAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaValidacaoMedicaoStatus = action.listaValidacaoMedicaoStatus;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n case 'LIMPAR_LISTA_VALIDACAO_MEDICAO':\r\n return produce(state, draft => {\r\n draft.listaValidacaoMedicaoStatus = undefined\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaMedicaoAutorizacaoFornecimentoDocumentoArquivo: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function medicaoAutorizacaoFornecimentoDocumento(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaMedicaoAutorizacaoFornecimentoDocumentoArquivo = action.listaMedicaoAutorizacaoFornecimentoDocumentoArquivo;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaMedicaoAutorizacaoFornecimentoRegistroFotografico: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function medicaoAutorizacaoFornecimentoRegistroFotografico(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaMedicaoAutorizacaoFornecimentoRegistroFotografico = action.listaMedicaoAutorizacaoFornecimentoRegistroFotografico;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = { listaAutorizacaoFornecimentoSubitemCustoMedicao: undefined,\r\n autorizacaoFornecimentoSubitemCustoMedicaoCompleto: null};\r\n\r\nexport default function autorizacaoFornecimentoSubitemCustoMedicao(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaAutorizacaoFornecimentoSubitemCustoMedicao = action.listaAutorizacaoFornecimentoSubitemCustoMedicao\r\n });\r\n case 'BUSCAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.autorizacaoFornecimentoSubitemCustoMedicaoCompleto = action.autorizacaoFornecimentoSubitemCustoMedicaoCompleto\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaAutorizacaoFornecimentoSubitemCustoMedicaoDocArq: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function autorizacaoFornecimentoSubitemCustoMedicaoDocArq(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_DOC_ARQ_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaAutorizacaoFornecimentoSubitemCustoMedicaoDocArq = action.listaAutorizacaoFornecimentoSubitemCustoMedicaoDocArq;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = { listaMedicaoAutorizacaoFornecimentoOcorrencia: undefined,\r\n medicaoAutorizacaoFornecimentoOcorrenciaCompleto: undefined };\r\n\r\nexport default function medicaoAutorizacaoFornecimentoOcorrencia(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaMedicaoAutorizacaoFornecimentoOcorrencia = action.listaMedicaoAutorizacaoFornecimentoOcorrencia\r\n });\r\n \r\n case 'BUSCAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.medicaoAutorizacaoFornecimentoOcorrenciaCompleto = action.medicaoAutorizacaoFornecimentoOcorrenciaCompleto;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n fornecedorCompleto: null,\r\n listaFornecedor: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function fornecedor(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_FORNECEDOR_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaFornecedor = action.listaFornecedor;\r\n });\r\n\r\n case 'BUSCAR_FORNECEDOR_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.fornecedorCompleto = action.fornecedorCompleto;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaTipoPessoa: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function tipoPessoa(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_TIPO_PESSOA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaTipoPessoa = action.listaTipoPessoa\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaContratoVersaoSubitemCustoPrimario: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function contratoVersaoSubitemCustoPrimario(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CONTRATO_VERSAO_SUBITEM_CUSTO_PRIMARIO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaContratoVersaoSubitemCustoPrimario = action.listaContratoVersaoSubitemCustoPrimario;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaContratoVersaoSubitemCustoConsumido: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function contratoVersaoSubitemCustoConsumido(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CONTRATO_VERSAO_SUBITEM_CUSTO_CONSUMIDO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaContratoVersaoSubitemCustoConsumido = action.listaContratoVersaoSubitemCustoConsumido;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaMedicaoOcorrencia: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function medicaoOcorrencia(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_MEDICAO_OCORRENCIA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaMedicaoOcorrencia = action.listaMedicaoOcorrencia;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = { listaAutorizacaoFornecimentoSubitemCustoMedOcor: undefined,\r\n autorizacaoFornecimentoSubitemCustoMedOcorCompleto: undefined };\r\n\r\nexport default function autorizacaoFornecimentoSubitemCustoMedOcor(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_OCOR_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaAutorizacaoFornecimentoSubitemCustoMedOcor = action.listaAutorizacaoFornecimentoSubitemCustoMedOcor;\r\n });\r\n \r\n case 'BUSCAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_OCOR_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.autorizacaoFornecimentoSubitemCustoMedOcorCompleto = action.autorizacaoFornecimentoSubitemCustoMedOcorCompleto;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaTipoPix: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function tipoPix(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_TIPO_PIX_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaTipoPix = action.listaTipoPix\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaCnae: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function cnae(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CNAE_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCnae = action.listaCnae\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaBanco: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function banco(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_BANCO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaBanco = action.listaBanco\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n fornecedorContatoCompleta: null,\r\n listaFornecedorContato: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function fornecedorContato(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_FORNECEDOR_CONTATO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaFornecedorContato = action.listaFornecedorContato;\r\n });\r\n\r\n case 'BUSCAR_FORNECEDOR_CONTATO_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.fornecedorContatoCompleta = action.fornecedorContatoCompleta;\r\n });\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n fornecedorContaCompleta: null,\r\n listaFornecedorConta: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function fornecedorConta(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_FORNECEDOR_CONTA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaFornecedorConta = action.listaFornecedorConta;\r\n });\r\n\r\n case 'BUSCAR_FORNECEDOR_CONTA_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.fornecedorContaCompleta = action.fornecedorContaCompleta;\r\n });\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaAutorizacaoFornecimentoSubitemCustoMedicaoRegFoto: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function autorizacaoFornecimentoSubitemCustoMedicaoRegFoto(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_MEDICAO_REGISTRO_FOTOGRAFICO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaAutorizacaoFornecimentoSubitemCustoMedicaoRegFoto = action.listaAutorizacaoFornecimentoSubitemCustoMedicaoRegFoto;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = { listaAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto: undefined,\r\n url: undefined,\r\n carregando: true};\r\n\r\nexport default function autorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_OCOR_REG_FOTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto = action.listaAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n case 'CARREGAR_IMAGEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_OCOR_REG_FOTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.url = action.url\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = { listaMedicaoAutorizacaoFornecimentoOcorrenciaRegFoto: undefined,\r\n carregando: true};\r\n\r\nexport default function medicaoAutorizacaoFornecimentoOcorrenciaRegFoto(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaMedicaoAutorizacaoFornecimentoOcorrenciaRegFoto = action.listaMedicaoAutorizacaoFornecimentoOcorrenciaRegFoto\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaUsuarioFornecedor: undefined,\r\n usuarioFornecedor: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function usuarioFornecedor(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_USUARIO_FORNECEDOR_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaUsuarioFornecedor = action.listaUsuarioFornecedor;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n contratoFornecedorCompleta: null,\r\n listaContratoFornecedor: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function contratoFornecedor(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CONTRATO_FORNECEDOR_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaContratoFornecedor = action.listaContratoFornecedor;\r\n });\r\n\r\n case 'BUSCAR_CONTRATO_FORNECEDOR_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.contratoFornecedorCompleta = action.contratoFornecedorCompleta;\r\n });\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaContratoDocumentoArquivo: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function contratoDocumentoArquivo(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CONTRATO_DOCUMENTO_ARQUIVO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaContratoDocumentoArquivo = action.listaContratoDocumentoArquivo;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaPrioridade: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function prioridade(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_PRIORIDADE_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaPrioridade = action.listaPrioridade;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n empenhoCompleto: null,\r\n listaEmpenho: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function empenho(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_EMPENHO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaEmpenho = action.listaEmpenho;\r\n });\r\n\r\n case 'BUSCAR_EMPENHO_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.empenhoCompleto = action.empenhoCompleto;\r\n });\r\n\r\n case 'LIMPAR_EMPENHO':\r\n return produce(state, draft => {\r\n draft.empenhoCompleto = null\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaStatusEmpenho: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function statusEmpenho(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_STATUS_EMPENHO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaStatusEmpenho = action.listaStatusEmpenho;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaEmpenhoStatus: undefined,\r\n listaValidacaoEmpenhoStatus: undefined,\r\n listaCompletoEmpenhoStatus: undefined,\r\n listarMultaEmpenho: undefined,\r\n listarDiferencaEmpenho: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function empenhoStatus(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_EMPENHO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaEmpenhoStatus = action.listaEmpenhoStatus;\r\n });\r\n\r\n case 'LISTAR_COMPLETO_EMPENHO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCompletoEmpenhoStatus = action.listaCompletoEmpenhoStatus;\r\n });\r\n\r\n case 'VALIDAR_EMPENHO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaValidacaoEmpenhoStatus = action.listaValidacaoEmpenhoStatus;\r\n });\r\n\r\n case 'LIMPAR_LISTA_VALIDACAO_EMPENHO':\r\n return produce(state, draft => {\r\n draft.listaValidacaoEmpenhoStatus = undefined\r\n });\r\n\r\n case 'LISTAR_MULTA_EMPENHO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listarMultaEmpenho = action.listarMultaEmpenho\r\n });\r\n \r\n case 'LISTAR_DIFERENCA_EMPENHO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listarDiferencaEmpenho = action.listarDiferencaEmpenho\r\n }); \r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaFaturamento: undefined,\r\n listaCompletaFaturamento: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function faturamento(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_FATURAMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaFaturamento = action.listaFaturamento;\r\n });\r\n\r\n case 'LISTAR_COMPLETO_FATURAMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCompletaFaturamento = action.listaCompletaFaturamento;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaEmpenhoAutorizacaoFornecimentoSubitemCustoMed: undefined,\r\n listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function empenhoAutorizacaoFornecimentoSubitemCustoMed(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_EMPENHO_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaEmpenhoAutorizacaoFornecimentoSubitemCustoMed = action.listaEmpenhoAutorizacaoFornecimentoSubitemCustoMed;\r\n });\r\n\r\n case 'LISTAR_HIERARQUIA_EMPENHO_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed = action.listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed\r\n });\r\n\r\n case 'LIMPAR_ARVORE_SUBITEM':\r\n return produce(state, draft => {\r\n draft.listaHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMed = undefined\r\n }); \r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaEmpenhoDocumentoArquivo: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function empenhoDocumentoArquivo(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_EMPENHO_DOCUMENTO_ARQUIVO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaEmpenhoDocumentoArquivo = action.listaEmpenhoDocumentoArquivo;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaFaturamentoDocumentoArquivo: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function faturamentoDocumentoArquivo(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_FATURAMENTO_DOCUMENTO_ARQUIVO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaFaturamentoDocumentoArquivo = action.listaFaturamentoDocumentoArquivo;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaCategoriaItem: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function categoriaItem(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CATEGORIA_ITEM_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCategoriaItem = action.listaCategoriaItem;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaCategoriaItemSubitemCustoPrimario: undefined,\r\n listaCompletaCategoriaItemSubitemCustoPrimario: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function categoriaItemSubitemCustoPrimario(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCategoriaItemSubitemCustoPrimario = action.listaCategoriaItemSubitemCustoPrimario;\r\n });\r\n\r\n case 'LISTAR_COMPLETO_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCompletaCategoriaItemSubitemCustoPrimario = action.listaCompletaCategoriaItemSubitemCustoPrimario;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaBairro: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function bairro(state = initialState, action) {\r\n\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_BAIRRO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaBairro = action.listaBairro;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaDashboardSolicitacaoStatus: [],\r\n listaDashboardAutorizacaoStatus: [],\r\n listaDashboardMedicaoStatus: [],\r\n listaDashboardAutorizacaoPorRegional: [],\r\n listaDashboardAutorizacaoFinalizadaPorMes: [],\r\n listaDashboardAutorizacaoValorPorMes: [],\r\n listaDashboardValorContratoPorCategoria: [],\r\n listaDashboardCategoriaGastaPorAutorizacaoFornecimento: [],\r\n listaDashboardObrasIntervencoesPorMes: [],\r\n listaDashboardManutencoesPorMes: [],\r\n carregando: true\r\n};\r\n\r\nexport default function dashboard(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_DASHBOARD_SOLICITACAO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDashboardSolicitacaoStatus = action.listaDashboardSolicitacaoStatus;\r\n });\r\n\r\n case 'LISTAR_DASHBOARD_AUTORIZACAO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDashboardAutorizacaoStatus = action.listaDashboardAutorizacaoStatus;\r\n });\r\n\r\n case 'LISTAR_DASHBOARD_MEDICAO_STATUS_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDashboardMedicaoStatus = action.listaDashboardMedicaoStatus;\r\n });\r\n\r\n case 'LISTAR_DASHBOARD_AUTORIZACAO_POR_REGIONAL_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDashboardAutorizacaoPorRegional = action.listaDashboardAutorizacaoPorRegional;\r\n });\r\n\r\n case 'LISTAR_DASHBOARD_AUTORIZACAO_FINALIZADA_POR_MES_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDashboardAutorizacaoFinalizadaPorMes = action.listaDashboardAutorizacaoFinalizadaPorMes;\r\n });\r\n\r\n case 'LISTAR_DASHBOARD_AUTORIZACAO_VALOR_POR_MES_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDashboardAutorizacaoValorPorMes = action.listaDashboardAutorizacaoValorPorMes;\r\n });\r\n\r\n case 'LISTAR_DASHBOARD_VALOR_CONTRATO_POR_CATEGORIA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDashboardValorContratoPorCategoria = action.listaDashboardValorContratoPorCategoria;\r\n });\r\n\r\n case 'LISTAR_DASHBOARD_CATEGORIA_GASTA_POR_AUTORIZACAO_FORNECIMENTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDashboardCategoriaGastaPorAutorizacaoFornecimento = action.listaDashboardCategoriaGastaPorAutorizacaoFornecimento;\r\n });\r\n\r\n case 'LISTAR_DASHBOARD_OBRAS_INTERVENCOES_POR_MES_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDashboardObrasIntervencoesPorMes = action.listaDashboardObrasIntervencoesPorMes;\r\n });\r\n\r\n case 'LISTAR_DASHBOARD_MANUTENCOES_POR_MES_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaDashboardManutencoesPorMes = action.listaDashboardManutencoesPorMes;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaInteressado: undefined,\r\n listaInteressadoPorNome: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function interessado(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_INTERESSADO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaInteressado = action.listaInteressado;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n case 'BUSCAR_INTERESSADO_POR_NOME_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaInteressadoPorNome = action.listaInteressadoPorNome\r\n }); \r\n \r\n case 'LIMPAR_LISTA_INTERESSADO_POR_NOME':\r\n return produce(state, draft => {\r\n draft.listaInteressadoPorNome = undefined\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaTipoCaracteristica: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function tipoCaracteristica(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_TIPO_CARACTERISTICA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaTipoCaracteristica = action.listaTipoCaracteristica;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaCaracteristica: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function caracteristica(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CARACTERISTICA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCaracteristica = action.listaCaracteristica;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaFormulario: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function formulario(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_FORMULARIO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaFormulario = action.listaFormulario;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaCaracteristicaResposta: undefined,\r\n listaCaracteristicaRespostaPorNome: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function caracteristicaResposta(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_CARACTERISTICA_RESPOSTA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCaracteristicaResposta = action.listaCaracteristicaResposta;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n case 'BUSCAR_CARACTERISTICA_RESPOSTA_POR_NOME_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCaracteristicaRespostaPorNome = action.listaCaracteristicaRespostaPorNome\r\n });\r\n\r\n case 'LIMPAR_LISTA_CARACTERISTICA_RESPOSTA_POR_NOME':\r\n return produce(state, draft => {\r\n draft.listaCaracteristicaRespostaPorNome = undefined\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaFormularioCaracteristica: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function formularioCaracteristica(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_FORMULARIO_CARACTERISTICA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaFormularioCaracteristica = action.listaFormularioCaracteristica;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaSolicitacaoFornecimentoCaracteristicaResposta: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function solicitacaoFornecimentoCaracteristicaResposta(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_SOLICITACAO_FORNECIMENTO_CARACTERISTICA_RESPOSTA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaSolicitacaoFornecimentoCaracteristicaResposta = action.listaSolicitacaoFornecimentoCaracteristicaResposta;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaLimiteValor: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function limiteValor(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_LIMITE_VALOR_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaGrupoCusto = action.listaGrupoCusto;\r\n });\r\n\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaOrgao: undefined,\r\n listaOrgaoPorNome: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function orgao(state = initialState, action) {\r\n\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_ORGAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaOrgao = action.listaOrgao;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n case 'BUSCAR_ORGAO_POR_NOME_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaOrgaoPorNome = action.listaOrgaoPorNome\r\n });\r\n\r\n case 'LIMPAR_LISTA_ORGAO_POR_NOME':\r\n return produce(state, draft => {\r\n draft.listaOrgaoPorNome = undefined\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaMulta: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function multa(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_MULTA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaMulta = action.listaMulta;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaEventoAdicional: undefined,\r\n carregando: true,\r\n eventoAdicionalCompleto: null\r\n};\r\n\r\nexport default function eventoAdicional(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_EVENTO_ADICIONAL_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaEventoAdicional = action.listaEventoAdicional;\r\n });\r\n\r\n case 'BUSCAR_EVENTO_ADICIONAL_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.eventoAdicionalCompleto = action.eventoAdicionalCompleto;\r\n });\r\n\r\n case 'LIMPAR_EVENTO_ADICIONAL':\r\n return produce(state, draft => {\r\n draft.eventoAdicionalCompleto = null\r\n }); \r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaEventoResposta: undefined,\r\n carregando: true,\r\n eventoRespostaCompleto: null\r\n};\r\n\r\nexport default function eventoResposta(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_EVENTO_RESPOSTA_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaEventoResposta = action.listaEventoResposta;\r\n });\r\n\r\n case 'BUSCAR_EVENTO_RESPOSTA_POR_ID_RESPONSE':\r\n return produce(state, draft => {\r\n draft.eventoRespostaCompleto = action.eventoRespostaCompleto;\r\n });\r\n\r\n case 'LIMPAR_EVENTO_RESPOSTA':\r\n return produce(state, draft => {\r\n draft.eventoRespostaCompleto = null\r\n }); \r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n \r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaHistoricoAutorizacaoFornecimentoEmpenho: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function historicoAutorizacaoFornecimentoEmpenho(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_HISTORICO_AUTORIZACAO_FORNECIMENTO_EMPENHO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaHistoricoAutorizacaoFornecimentoEmpenho = action.listaHistoricoAutorizacaoFornecimentoEmpenho;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaSolicitacaoFornecimentoHistorico: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function solicitacaoFornecimentoHistorico(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaSolicitacaoFornecimentoHistorico = action.listaSolicitacaoFornecimentoHistorico;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaSolicitacaoFornecimentoHistoricoRegFoto: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function solicitacaoFornecimentoHistoricoRegFoto(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_REG_FOTO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaSolicitacaoFornecimentoHistoricoRegFoto = action.listaSolicitacaoFornecimentoHistoricoRegFoto;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaSolicitacaoFornecimentoHistoricoDocArq: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function solicitacaoFornecimentoHistoricoDocArq(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_DOC_ARQ_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaSolicitacaoFornecimentoHistoricoDocArq = action.listaSolicitacaoFornecimentoHistoricoDocArq;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaNotificacao: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function notificacao(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_NOTIFICACAO_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaNotificacao = action.listaNotificacao;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaAssinante: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function assinante(state = initialState, action) {\r\n\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_ASSINANTE_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaAssinante = action.listaAssinante;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem: [],\r\n listaCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem = action.listaRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem;\r\n });\r\n \r\n case 'LISTAR_COMPLETO_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem = action.listaCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem;\r\n });\r\n \r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n }); \r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaMeses: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function meses(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_MESES_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaMeses = action.listaMeses;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaObrasIntervencoesPorMes: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function obrasIntervencoesPorMes(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_OBRAS_INTERVENCOES_POR_MES_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaObrasIntervencoesPorMes = action.listaObrasIntervencoesPorMes;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import produce from 'immer';\r\n\r\nconst initialState = {\r\n listaManutencoesPorMes: undefined,\r\n carregando: true\r\n};\r\n\r\nexport default function manutencoesPorMes(state = initialState, action) {\r\n\r\n switch (action.type) {\r\n\r\n case 'LISTAR_MANUTENCOES_POR_MES_RESPONSE':\r\n return produce(state, draft => {\r\n draft.listaManutencoesPorMes = action.listaManutencoesPorMes;\r\n });\r\n\r\n case 'CARREGANDO':\r\n return produce(state, draft => {\r\n draft.carregando = action.status\r\n });\r\n\r\n default:\r\n return state;\r\n }\r\n}","import { combineReducers } from 'redux';\r\n\r\nimport usuario from './usuario/reducer';\r\nimport grupoAcesso from './grupoAcesso/reducer';\r\nimport perfil from './perfil/reducer'\r\nimport municipio from './municipio/reducer';\r\nimport grupoFuncaoAcesso from './grupoFuncaoAcesso/reducer';\r\nimport cliente from './cliente/reducer';\r\nimport tipoDocumento from './tipoDocumento/reducer';\r\nimport subitemCusto from './subitemCusto/reducer';\r\nimport itemCusto from './itemCusto/reducer';\r\nimport grupoCusto from './grupoCusto/reducer';\r\nimport contrato from './contrato/reducer';\r\nimport origemContrato from './origemContrato/reducer';\r\nimport unidadeMedida from './unidadeMedida/reducer';\r\nimport contratoUsuario from './contratoUsuario/reducer';\r\nimport fonteReceita from './fonteReceita/reducer';\r\nimport composicaoCusto from './composicaoCusto/reducer';\r\nimport tipoRecurso from './tipoRecurso/reducer';\r\nimport fonteReceitaVersao from './fonteReceitaVersao/reducer';\r\nimport global from './global/reducer';\r\nimport solicitacaoFornecimento from './solicitacaoFornecimento/reducer';\r\nimport regiao from './regiao/reducer';\r\nimport tipoSolicitacao from './tipoSolicitacao/reducer';\r\nimport solicitacaoFornecimentoDocumentoArquivo from './solicitacaoFornecimentoDocumentoArquivo/reducer';\r\nimport contratoVersao from './contratoVersao/reducer';\r\nimport solicitacaoFornecimentoVersaoSubitemCusto from './solicitacaoFornecimentoVersaoSubitemCusto/reducer';\r\nimport solicitacaoFornecimentoVersaoStatus from './solicitacaoFornecimentoVersaoStatus/reducer';\r\nimport tipoDocumentoArquivo from './tipoDocumentoArquivo/reducer';\r\nimport solicitacaoFornecimentoVersao from './solicitacaoFornecimentoVersao/reducer';\r\nimport tipoContratoVersao from './tipoContratoVersao/reducer';\r\nimport relatorio from './relatorio/reducer';\r\nimport tipoSolicitacaoTipoDocumentoArquivo from './tipoSolicitacaoTipoDocumentoArquivo/reducer';\r\nimport solicitacaoFornecimentoRegistroFotografico from './solicitacaoFornecimentoRegistroFotografico/reducer';\r\nimport autorizacaoFornecimento from './autorizacaoFornecimento/reducer';\r\nimport autorizacaoFornecimentoSubitemCusto from './autorizacaoFornecimentoSubitemCusto/reducer';\r\nimport medicaoAutorizacaoFornecimento from './medicaoAutorizacaoFornecimento/reducer';\r\nimport statusSolicitacaoFornecimento from './statusSolicitacaoFornecimento/reducer';\r\nimport statusAutorizacaoFornecimento from './statusAutorizacaoFornecimento/reducer';\r\nimport autorizacaoFornecimentoStatus from './autorizacaoFornecimentoStatus/reducer';\r\nimport statusMedicaoAutorizacaoFornecimento from './statusMedicaoAutorizacaoFornecimento/reducer';\r\nimport medicaoAutorizacaoFornecimentoStatus from './medicaoAutorizacaoFornecimentoStatus/reducer';\r\nimport medicaoAutorizacaoFornecimentoDocumento from './medicaoAutorizacaoFornecimentoDocumento/reducer'\r\nimport medicaoAutorizacaoFornecimentoRegistroFotografico from './medicaoAutorizacaoFornecimentoRegistroFotografico/reducer';\r\nimport autorizacaoFornecimentoSubitemCustoMedicao from './autorizacaoFornecimentoSubitemCustoMedicao/reducer';\r\nimport autorizacaoFornecimentoSubitemCustoMedicaoDocArq from './autorizacaoFornecimentoSubitemCustoMedicaoDocArq/reducer';\r\nimport medicaoAutorizacaoFornecimentoOcorrencia from './medicaoAutorizacaoFornecimentoOcorrencia/reducer';\r\nimport fornecedor from './fornecedor/reducer';\r\nimport tipoPessoa from './tipoPessoa/reducer';\r\nimport contratoVersaoSubitemCustoPrimario from './contratoVersaoSubitemCustoPrimario/reducer';\r\nimport contratoVersaoSubitemCustoConsumido from './contratoVersaoSubitemCustoConsumido/reducer';\r\nimport medicaoOcorrencia from './medicaoOcorrencia/reducer';\r\nimport autorizacaoFornecimentoSubitemCustoMedOcor from './autorizacaoFornecimentoSubitemCustoMedOcor/reducer';\r\nimport tipoPix from './tipoPix/reducer';\r\nimport cnae from './cnae/reducer';\r\nimport banco from './banco/reducer';\r\nimport fornecedorContato from './fornecedorContato/reducer';\r\nimport fornecedorConta from './fornecedorConta/reducer';\r\nimport autorizacaoFornecimentoSubitemCustoMedicaoRegFoto from './autorizacaoFornecimentoSubitemCustoMedicaoRegFoto/reducer';\r\nimport autorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto from './autorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/reducer';\r\nimport medicaoAutorizacaoFornecimentoOcorrenciaRegFoto from './medicaoAutorizacaoFornecimentoOcorrenciaRegFoto/reducer';\r\nimport usuarioFornecedor from './usuarioFornecedor/reducer';\r\nimport contratoFornecedor from './contratoFornecedor/reducer';\r\nimport contratoDocumentoArquivo from './contratoDocumentoArquivo/reducer';\r\nimport prioridade from './prioridade/reducer';\r\nimport empenho from './empenho/reducer';\r\nimport statusEmpenho from './statusEmpenho/reducer';\r\nimport empenhoStatus from './empenhoStatus/reducer';\r\nimport faturamento from './faturamento/reducer';\r\nimport empenhoAutorizacaoFornecimentoSubitemCustoMed from './empenhoAutorizacaoFornecimentoSubitemCustoMed/reducer';\r\nimport empenhoDocumentoArquivo from './empenhoDocumentoArquivo/reducer';\r\nimport faturamentoDocumentoArquivo from './faturamentoDocumentoArquivo/reducer';\r\nimport categoriaItem from './categoriaItem/reducer';\r\nimport categoriaItemSubitemCustoPrimario from './categoriaItemSubitemCustoPrimario/reducer';\r\nimport bairro from './bairro/reducer';\r\nimport dashboard from './dashboard/reducer';\r\nimport interessado from './interessado/reducer';\r\nimport tipoCaracteristica from './tipoCaracteristica/reducer';\r\nimport caracteristica from './caracteristica/reducer';\r\nimport formulario from './formulario/reducer';\r\nimport caracteristicaResposta from './caracteristicaResposta/reducer';\r\nimport formularioCaracteristica from './formularioCaracteristica/reducer';\r\nimport solicitacaoFornecimentoCaracteristicaResposta from './solicitacaoFornecimentoCaracteristicaResposta/reducer';\r\nimport limiteValor from './limiteValor/reducer';\r\nimport orgao from './orgao/reducer';\r\nimport multa from './multa/reducer';\r\nimport eventoAdicional from './eventoAdicional/reducer';\r\nimport eventoResposta from './eventoResposta/reducer';\r\nimport historicoAutorizacaoFornecimentoEmpenho from './historicoAutorizacaoFornecimentoEmpenho/reducer';\r\nimport solicitacaoFornecimentoHistorico from './solicitacaoFornecimentoHistorico/reducer';\r\nimport solicitacaoFornecimentoHistoricoRegFoto from './solicitacaoFornecimentoHistoricoRegFoto/reducer';\r\nimport solicitacaoFornecimentoHistoricoDocArq from './solicitacaoFornecimentoHistoricoDocArq/reducer';\r\nimport notificacao from './notificacao/reducer';\r\nimport assinante from './assinante/reducer';\r\nimport regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem from './regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/reducer';\r\nimport meses from './meses/reducer';\r\nimport obrasIntervencoesPorMes from './obrasIntervencoesPorMes/reducer';\r\nimport manutencoesPorMes from './manutencoesPorMes/reducer';\r\n\r\nexport default combineReducers({\r\n usuario, grupoAcesso, perfil, municipio, grupoFuncaoAcesso,\r\n cliente, tipoDocumento, subitemCusto, itemCusto, grupoCusto,\r\n contrato, origemContrato, unidadeMedida, contratoUsuario,\r\n fonteReceita, global, composicaoCusto, tipoRecurso, fonteReceitaVersao,\r\n solicitacaoFornecimento, regiao, tipoSolicitacao,\r\n solicitacaoFornecimentoDocumentoArquivo, solicitacaoFornecimentoVersaoStatus, contratoVersao,\r\n solicitacaoFornecimentoVersaoSubitemCusto, tipoDocumentoArquivo, solicitacaoFornecimentoVersao,\r\n tipoContratoVersao, relatorio, tipoSolicitacaoTipoDocumentoArquivo, solicitacaoFornecimentoRegistroFotografico,\r\n autorizacaoFornecimento, autorizacaoFornecimentoSubitemCusto, medicaoAutorizacaoFornecimento,\r\n statusSolicitacaoFornecimento, medicaoAutorizacaoFornecimentoDocumento, statusAutorizacaoFornecimento, autorizacaoFornecimentoStatus,\r\n statusMedicaoAutorizacaoFornecimento, medicaoAutorizacaoFornecimentoStatus, medicaoAutorizacaoFornecimentoRegistroFotografico,\r\n autorizacaoFornecimentoSubitemCustoMedicao, autorizacaoFornecimentoSubitemCustoMedicaoDocArq, medicaoAutorizacaoFornecimentoOcorrencia, fornecedor, tipoPessoa,\r\n contratoVersaoSubitemCustoPrimario, contratoVersaoSubitemCustoConsumido, medicaoOcorrencia, autorizacaoFornecimentoSubitemCustoMedOcor,\r\n tipoPix, cnae, banco, fornecedorContato, fornecedorConta, autorizacaoFornecimentoSubitemCustoMedicaoRegFoto,\r\n autorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto, medicaoAutorizacaoFornecimentoOcorrenciaRegFoto, usuarioFornecedor, contratoFornecedor,\r\n contratoDocumentoArquivo, prioridade, empenho, statusEmpenho, empenhoStatus, faturamento, empenhoAutorizacaoFornecimentoSubitemCustoMed,\r\n empenhoDocumentoArquivo, faturamentoDocumentoArquivo, categoriaItem, categoriaItemSubitemCustoPrimario, bairro, dashboard, interessado,\r\n tipoCaracteristica, caracteristica, formulario, caracteristicaResposta, formularioCaracteristica, solicitacaoFornecimentoCaracteristicaResposta,\r\n limiteValor, orgao, multa, eventoAdicional, eventoResposta, historicoAutorizacaoFornecimentoEmpenho, solicitacaoFornecimentoHistorico,\r\n solicitacaoFornecimentoHistoricoRegFoto, solicitacaoFornecimentoHistoricoDocArq, notificacao, assinante, regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem,\r\n meses, obrasIntervencoesPorMes, manutencoesPorMes\r\n})","import axios from 'axios';\r\n\r\nconst api = axios.create({\r\n baseURL: process.env.REACT_APP_LINK_API\r\n});\r\n\r\nexport default api;","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { LoginUsuarioResponse, LoginUsuarioFail, ListarUsuarioResponse, BuscarUsuarioPorIdResponse, Carregando, InserirNovaSenhaResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\nimport jwt_decode from \"jwt-decode\";\r\nimport Cookies from 'universal-cookie';\r\nimport 'moment/locale/pt-br';\r\nimport moment from 'moment';\r\n\r\nfunction* ListarUsuarioRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Usuario`, { headers: headerParams.token });\r\n\r\n yield put(ListarUsuarioResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarUsuarioResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BuscarUsuarioPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Usuario/${parseInt(model.id)}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarUsuarioPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n toast.error(e.response.data.message);\r\n }\r\n}\r\n\r\nfunction* InserirUsuarioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var result = yield call(api.post, `/api/Usuario`, model.data, { headers: headerParams.token });\r\n\r\n history.push(`/alterarUsuario/${result.data.result}`);\r\n\r\n //Inserir Usuario Fornecedor\r\n\r\n if (model.data.UsuarioFornecedor) {\r\n\r\n model.usuarioFornecedor.IdUsuario = result.data.result;\r\n\r\n yield call(api.post, `/api/UsuarioFornecedor`, model.usuarioFornecedor, { headers: headerParams.token });\r\n\r\n }\r\n\r\n const resultBusca = yield call(api.get, `/api/Usuario/${result.data.result}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarUsuarioPorIdResponse(resultBusca.data.result));\r\n\r\n toast.success(`Usuario foi cadastrado com sucesso!`);\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarUsuarioRequest(model) {\r\n\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const retorno = yield call(api.put, `/api/Usuario`, model.data, { headers: headerParams.token });\r\n\r\n //Alterar Usuario Fornecedor\r\n if (model.data.UsuarioFornecedor) {\r\n\r\n const usuarioFornecedor = yield call(api.post, `/api/UsuarioFornecedor/listarCompleto`,\r\n { IdUsuario: parseInt(model.usuarioFornecedor.IdUsuario) }, { headers: headerParams.token });\r\n\r\n if (usuarioFornecedor.data.result != null && usuarioFornecedor.data.result.length > 0) {\r\n yield call(api.put, `/api/UsuarioFornecedor`, model.usuarioFornecedor, { headers: headerParams.token });\r\n } else {\r\n yield call(api.post, `/api/UsuarioFornecedor`, model.usuarioFornecedor, { headers: headerParams.token });\r\n }\r\n\r\n } else {\r\n\r\n yield call(api.delete, `/api/UsuarioFornecedor/${model.usuarioFornecedor.Id}`, { headers: headerParams.token });\r\n\r\n }\r\n\r\n if (retorno.data.result) {\r\n localStorage.removeItem('token');\r\n history.push('/');\r\n }\r\n\r\n toast.success(`Usuario foi alterado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* LoginUsuarioRequest(model) {\r\n\r\n try {\r\n\r\n const result = yield call(api.post, `/api/Acesso/login`, model.data);\r\n\r\n let token = result.data.result.token;\r\n\r\n let tokenCookie = token.substr(0, 36);\r\n let tokenStorage = token.substr(36, token.length);\r\n\r\n const cookies = new Cookies();\r\n cookies.set('token', tokenCookie, { path: '/', maxAge: 7200 });\r\n\r\n let decoded = jwt_decode(token);\r\n\r\n var today = new Date();\r\n today.setHours(today.getHours() + 10);\r\n\r\n let dataSuccess = {\r\n token: decoded,\r\n tokenCodificado: tokenStorage,\r\n usuario: result.data.result.usuario,\r\n hora: today.toString()\r\n }\r\n\r\n yield put(LoginUsuarioResponse(dataSuccess));\r\n\r\n // filtros\r\n\r\n localStorage.setItem('filtro-medicao-autorizacao-fornecimento',\r\n JSON.stringify(\r\n {\r\n \"numeroAfFiltro\": \"\",\r\n \"descricaoFiltro\": \"\",\r\n \"totalMedicaoFiltro\": \"\",\r\n \"usuarioFiltro\": \"\",\r\n \"observacaoFiltro\": \"\",\r\n \"statusFiltro\": \"\",\r\n \"dataInicioFiltro\": \"\",\r\n \"dataFinalFiltro\": \"\"\r\n })\r\n );\r\n\r\n localStorage.setItem('filtro-autorizacao-fornecimento',\r\n JSON.stringify(\r\n {\r\n \"numeroAfFiltro\": \"\",\r\n \"numeroSolicitacaoFiltro\": \"\",\r\n \"numeroOrcamentoFiltro\": \"\",\r\n \"numeroOficioFiltro\": \"\",\r\n \"numeroProcessoFiltro\": \"\",\r\n \"statusFiltro\": \"\",\r\n \"medicaoPendenteFiltro\": \"\",\r\n \"dataInicioFiltro\": \"\",\r\n \"dataFinalFiltro\": \"\"\r\n })\r\n );\r\n\r\n localStorage.setItem('filtro-solicitacao-fornecimento',\r\n JSON.stringify(\r\n {\r\n \"idSolicitacaoFornecimentoFiltro\": \"\",\r\n \"tipoSolicitacaoFiltro\": \"\",\r\n \"assuntoFiltro\": \"\",\r\n \"localFiltro\": \"\",\r\n \"statusFiltro\": \"\",\r\n \"numeroProcessoFiltro\": \"\",\r\n \"regiaoFiltro\": \"\",\r\n \"numeroOficioFiltro\": \"\",\r\n \"numeroOrcamentoFiltro\": \"\",\r\n \"fornecedorFiltro\": \"\",\r\n \"nomeEventoFiltro\": \"\",\r\n \"prioridadeFiltro\": \"\",\r\n \"autorizacaoFornecimentoFiltro\": \"\",\r\n \"interessadoFiltro\": \"\"\r\n })\r\n );\r\n\r\n if (decoded.role != null && decoded.role.filter(d => d == 'DashboardVerValores').length > 0) {\r\n history.push('/dashboard');\r\n } else {\r\n history.push('/bemVindo');\r\n }\r\n\r\n\r\n toast.success(\"Bem-vindo!\")\r\n\r\n } catch (e) {\r\n\r\n yield put(LoginUsuarioFail());\r\n history.push('/');\r\n\r\n toast.error(e.response.data.message);\r\n }\r\n}\r\n\r\nfunction* VerificarAtivacaoRequest(model) {\r\n\r\n try {\r\n\r\n const result = yield call(api.get, `/api/Acesso/${parseInt(model.id)}`);\r\n\r\n if (result.data.result) {\r\n history.push('/');\r\n }\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n toast.error(e.response.data.message);\r\n }\r\n}\r\n\r\nfunction* AtivarUsuarioRequest(model) {\r\n\r\n try {\r\n\r\n yield call(api.post, `/api/Acesso/ativacaoConta`, model.data);\r\n history.push('/');\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n toast.error(e.response.data.message);\r\n }\r\n}\r\n\r\nfunction* InserirNovaSenhaRequest(model) {\r\n\r\n try {\r\n\r\n const result = yield call(api.post, `/api/Acesso/NovaSenha`, { Email: model.email });\r\n yield put(InserirNovaSenhaResponse(result.data.result));\r\n toast.success(`Nova senha enviada para o seu E-mail, verifique a caixa de entrada ou a lixeira!`); \r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n yield put(ErrorResponse(e));\r\n }\r\n}\r\n\r\nfunction* InserirNovaSenhaPageUsuarioRequest(model) {\r\n\r\n try {\r\n\r\n const result = yield call(api.post, `/api/Acesso/NovaSenhaPageUsuario`, { Email: model.email });\r\n yield put(InserirNovaSenhaResponse(result.data.result));\r\n toast.success(`Uma nova senha foi gerada`); \r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n yield put(ErrorResponse(e));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_USUARIO_REQUEST', ListarUsuarioRequest),\r\n takeLatest('BUSCAR_USUARIO_POR_ID_REQUEST', BuscarUsuarioPorIdRequest),\r\n takeLatest('INSERIR_USUARIO_REQUEST', InserirUsuarioRequest),\r\n takeLatest('ALTERAR_USUARIO_REQUEST', AlterarUsuarioRequest),\r\n takeLatest('LOGIN_USUARIO_REQUEST', LoginUsuarioRequest),\r\n takeLatest('VERIFICA_ATIVACAO_REQUEST', VerificarAtivacaoRequest),\r\n takeLatest('ATIVAR_USUARIO_REQUEST', AtivarUsuarioRequest),\r\n takeLatest('INSERIR_NOVA_SENHA_REQUEST', InserirNovaSenhaRequest),\r\n takeLatest('INSERIR_NOVA_SENHA_PAGE_USUARIO_REQUEST', InserirNovaSenhaPageUsuarioRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarGrupoAcessoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarGrupoAcessoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/GrupoAcesso`, { headers: headerParams.token });\r\n\r\n yield put(ListarGrupoAcessoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarGrupoAcessoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true))\r\n \r\n }\r\n}\r\n\r\nfunction* InserirGrupoAcessoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/GrupoAcesso`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Grupo ${model.data.nomeGrupo} foi cadastrado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/GrupoAcesso`, { headers: headerParams.token });\r\n\r\n yield put(ListarGrupoAcessoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarGrupoAcessoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/GrupoAcesso`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Grupo foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/GrupoAcesso`, { headers: headerParams.token });\r\n\r\n yield put(ListarGrupoAcessoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirGrupoAcessoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/GrupoAcesso/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Grupo Acesso id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.get, `/api/GrupoAcesso`, { headers: headerParams.token });\r\n\r\n yield put(ListarGrupoAcessoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)) \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_GRUPO_ACESSO_REQUEST', ListarGrupoAcessoRequest),\r\n takeLatest('INSERIR_GRUPO_ACESSO_REQUEST', InserirGrupoAcessoRequest),\r\n takeLatest('ALTERAR_GRUPO_ACESSO_REQUEST', AlterarGrupoAcessoRequest),\r\n takeLatest('EXCLUIR_GRUPO_ACESSO_REQUEST', ExcluirGrupoAcessoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { AtualizarPerfilResponse, Carregando } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* AtualizarPerfilRequest({ data }){\r\n\r\n try{\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.put, `/api/Usuario`, data, { headers:headerParams.token }); \r\n \r\n if(result.data.statusCode === 200){\r\n\r\n if (result.data.result) {\r\n localStorage.removeItem('token');\r\n history.push('/');\r\n }\r\n \r\n yield put(AtualizarPerfilResponse(data)); \r\n toast.success(\"Salvo com sucesso!\")\r\n\r\n }\r\n yield put(Carregando(true));\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('ATUALIZAR_PERFIL_REQUEST', AtualizarPerfilRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarMunicipioResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarMunicipioRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/Municipio`, { headers: headerParams.token });\r\n\r\n yield put(ListarMunicipioResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n yield put(ListarMunicipioResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_MUNICIPIO_REQUEST', ListarMunicipioRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarGrupoFuncaoAcessoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarGrupoFuncaoAcessoRequest(model){\r\n\r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/GrupoFuncaoAcesso`, { headers:headerParams.token });\r\n \r\n const listaPermissoes = result.data.result.filter(i => i.idGrupo === parseInt(model.id))\r\n\r\n yield put(ListarGrupoFuncaoAcessoResponse(listaPermissoes)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n\r\n if (e.response != null && e.response.data != null) {\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n \r\n yield put(ListarGrupoFuncaoAcessoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* AlterarGrupoFuncaoAcessoRequest(model){\r\n\r\n try{\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/GrupoFuncaoAcesso`, model.data, { headers:headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/GrupoFuncaoAcesso`, { headers:headerParams.token });\r\n \r\n const listaPermissoes = result.data.result.filter(i => i.idGrupo === parseInt(model.data.IdGrupo))\r\n\r\n yield put(ListarGrupoFuncaoAcessoResponse(listaPermissoes)); \r\n yield put(Carregando(true));\r\n\r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_GRUPO_FUNCAO_ACESSO_REQUEST', ListarGrupoFuncaoAcessoRequest),\r\n takeLatest('ALTERAR_GRUPO_FUNCAO_ACESSO_REQUEST', AlterarGrupoFuncaoAcessoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarClienteResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarClienteRequest(){\r\n \r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Cliente`, { headers: headerParams.token });\r\n\r\n yield put(ListarClienteResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarClienteResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CLIENTE_REQUEST', ListarClienteRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarTipoDocumentoResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\n\r\nfunction* ListarTipoDocumentoRequest(){\r\n\r\n try{\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/TipoDocumento`, { headers:headerParams.token });\r\n\r\n yield put(ListarTipoDocumentoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n \r\n yield put(ListarTipoDocumentoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_TIPO_DOCUMENTO_REQUEST', ListarTipoDocumentoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { ListarSubitemCustoResponse, ListarSubitemCustoCompletoResponse } from './actions';\r\nimport { BuscarContratoPorIdRequest } from '../contrato/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { Carregando } from '../contrato/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarSubitemCustoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/SubitemCusto`, { headers: headerParams.token });\r\n\r\n yield put(ListarSubitemCustoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarSubitemCustoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirSubitemCustoRequest(model) {\r\n\r\n try {\r\n \r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/SubItemCusto`, model.data, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoPorIdRequest(model.idContrato));\r\n\r\n var data = {\r\n 'IdContrato': parseInt(model.data.IdContrato)\r\n }\r\n\r\n // Listar subitem completo\r\n const result = yield call(api.post, `/api/subItemCusto/listarCompleto`, data, { headers: headerParams.token });\r\n\r\n if (result.data.result == null) {\r\n yield put(ListarSubitemCustoCompletoResponse([]));\r\n } else {\r\n yield put(ListarSubitemCustoCompletoResponse(result.data.result));\r\n }\r\n\r\n yield put(Carregando(true));\r\n\r\n toast.success(`SubItem foi cadastrado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarSubitemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/SubItemCusto`, model.data, { headers: headerParams.token });\r\n\r\n /*\r\n const result = yield call(api.post, `/api/subItemCusto/listar`, { IdContratoVersao: model.idContratoVersao },\r\n { headers: headerParams.token });\r\n\r\n if (result.data.result == null) {\r\n yield put(ListarSubitemCustoCompletoResponse([]));\r\n } else {\r\n yield put(ListarSubitemCustoCompletoResponse(result.data.result));\r\n }*/\r\n yield put(BuscarContratoPorIdRequest(model.idContrato));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Subitem foi atualizado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirSubitemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/SubItemCusto/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Subitem id: ${model.id} foi excluido!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarSubitemCustoCompletoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/subItemCusto/listarCompleto`, model.data, { headers: headerParams.token });\r\n\r\n if (result.data.result == null) {\r\n yield put(ListarSubitemCustoCompletoResponse([]));\r\n } else {\r\n yield put(ListarSubitemCustoCompletoResponse(result.data.result));\r\n }\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarSubitemCustoCompletoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_SUBITEM_CUSTO_REQUEST', ListarSubitemCustoRequest),\r\n takeLatest('INSERIR_SUBITEM_CUSTO_REQUEST', InserirSubitemCustoRequest),\r\n takeLatest('ALTERAR_SUBITEM_CUSTO_REQUEST', AlterarSubitemCustoRequest),\r\n takeLatest('EXCLUIR_SUBITEM_CUSTO_REQUEST', ExcluirSubitemCustoRequest),\r\n takeLatest('LISTAR_SUBITEM_CUSTO_COMPLETO_REQUEST', ListarSubitemCustoCompletoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { ListarItemCustoResponse, ListarItemCustoCompletoResponse } from './actions';\r\nimport { BuscarContratoPorIdRequest } from '../contrato/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { Carregando } from '../contrato/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarItemCustoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/ItemCusto`, { headers: headerParams.token });\r\n\r\n yield put(ListarItemCustoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarItemCustoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirItemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/itemCusto`, model.data, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoPorIdRequest(model.idContrato));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Item foi cadastrado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarItemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/itemCusto`, model.data, { headers: headerParams.token });\r\n\r\n \r\n\r\n //yield put(Carregando(true));\r\n yield put(BuscarContratoPorIdRequest(model.idContrato));\r\n toast.success(`Item foi atualizado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirItemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/item/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Item id: ${model.id} foi excluido!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ListarItemCustoCompletoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/itemCusto/listarCompleto`, model.id, { headers: headerParams.token });\r\n\r\n if (result.data.result == null) {\r\n yield put(ListarItemCustoCompletoResponse([]));\r\n } else {\r\n yield put(ListarItemCustoCompletoResponse(result.data.result));\r\n }\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarItemCustoCompletoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_ITEM_CUSTO_REQUEST', ListarItemCustoRequest),\r\n takeLatest('INSERIR_ITEM_CUSTO_REQUEST', InserirItemCustoRequest),\r\n takeLatest('ALTERAR_ITEM_CUSTO_REQUEST', AlterarItemCustoRequest),\r\n takeLatest('EXCLUIR_ITEM_CUSTO_REQUEST', ExcluirItemCustoRequest),\r\n takeLatest('LISTAR_ITEM_CUSTO_COMPLETO_REQUEST', ListarItemCustoCompletoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { ListarGrupoCustoResponse, ListarGrupoCustoCompletoResponse, Carregando } from './actions';\r\nimport { BuscarContratoPorIdRequest } from '../contrato/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarGrupoCustoRequest(){\r\n\r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/grupoCusto`, { headers:headerParams.token });\r\n\r\n yield put(ListarGrupoCustoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n\r\n if (e.response != null && e.response.data != null) {\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n \r\n yield put(ListarGrupoCustoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* InserirGrupoCustoRequest(model){\r\n\r\n try{\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/grupoCusto`, model.data, { headers:headerParams.token });\r\n\r\n yield put(BuscarContratoPorIdRequest(model.idContrato));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Grupo Custo foi cadastrado com sucesso!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nfunction* AlterarGrupoCustoRequest(model){\r\n\r\n try{\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/grupoCusto`, model.data, { headers: headerParams.token });\r\n\r\n \r\n\r\n yield put(Carregando(true));\r\n yield put(BuscarContratoPorIdRequest(model.idContrato));\r\n toast.success(`Grupo Custo foi atualizado com sucesso!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirGrupoCustoRequest(model){\r\n\r\n try{ \r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/grupoCusto/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Grupo Custo id: ${model.id} foi excluido!`);\r\n \r\n }catch(e){\r\n\r\n if (e.response != null && e.response.data != null) {\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ListarGrupoCustoCompletoRequest(model) {\r\n\r\n try { \r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/grupoCusto/listar`, model.id, { headers:headerParams.token });\r\n\r\n if(result.data.result == null){\r\n yield put(ListarGrupoCustoCompletoResponse([]));\r\n }else{\r\n yield put(ListarGrupoCustoCompletoResponse(result.data.result));\r\n }\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if (e.response != null && e.response.data != null) {\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n\r\n yield put(ListarGrupoCustoCompletoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_GRUPO_CUSTO_REQUEST', ListarGrupoCustoRequest),\r\n takeLatest('INSERIR_GRUPO_CUSTO_REQUEST', InserirGrupoCustoRequest),\r\n takeLatest('ALTERAR_GRUPO_CUSTO_REQUEST', AlterarGrupoCustoRequest),\r\n takeLatest('EXCLUIR_GRUPO_CUSTO_REQUEST', ExcluirGrupoCustoRequest),\r\n takeLatest('LISTAR_GRUPO_CUSTO_COMPLETO_REQUEST', ListarGrupoCustoCompletoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { ListarContratoResponse, BuscarContratoPorIdResponse, Carregando } from './actions';\r\nimport { ListarContratoVersaoResponse } from '../contratoVersao/actions';\r\nimport { InserirContratoUsuarioRequest } from '../contratoUsuario/actions';\r\nimport { AtualizarToken, CriarTxt } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\nimport { ListarSolicitacaoFornecimentoResponse } from '../solicitacaoFornecimento/actions';\r\n\r\nfunction* ListarContratoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Contrato/listarCompleto`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarContratoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BuscarContratoPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Contrato/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarContratoPorIdResponse(null));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirContratoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var result = yield call(api.post, `/api/Contrato`, model.data, { headers: headerParams.token });\r\n\r\n const resultBusca = yield call(api.get, `/api/Contrato/${result.data.result}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoPorIdResponse(resultBusca.data.result));\r\n yield put(Carregando(true));\r\n\r\n history.push(`/alterarGeralContrato/${result.data.result}`);\r\n\r\n toast.success(`O contrato foi cadastrado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarContratoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/Contrato`, model.data, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n\r\n toast.success(`O contrato foi atualizado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirContratoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/Contrato/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Contrato id: ${model.id} foi excluido!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ImportarContratoExcelRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n //Importar\r\n yield call(api.post, `/api/Contrato/importar`, model.data, { headers: headerParams.token });\r\n\r\n //Listando Contrato \r\n const result = yield call(api.get, `/api/Contrato/${model.idContrato}`, { headers: headerParams.token });\r\n yield put(BuscarContratoPorIdResponse(result.data.result));\r\n\r\n //Listando Versão do Contrato\r\n const resultVesao = yield call(api.post, `/api/ContratoVersao/listarCompleto`,\r\n { IdContrato: parseInt(model.idContrato) }, { headers: headerParams.token });\r\n yield put(ListarContratoVersaoResponse(resultVesao.data.result));\r\n\r\n yield put(Carregando(true));\r\n toast.success(`Itens importados com sucesso!`);\r\n \r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n yield put(CriarTxt(e.response.data.message));\r\n }\r\n }\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n toast.error(\"Erro na importação de SubItems\");\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CONTRATO_REQUEST', ListarContratoRequest),\r\n takeLatest('BUSCAR_CONTRATO_POR_ID_REQUEST', BuscarContratoPorIdRequest),\r\n takeLatest('INSERIR_CONTRATO_REQUEST', InserirContratoRequest),\r\n takeLatest('ALTERAR_CONTRATO_REQUEST', AlterarContratoRequest),\r\n takeLatest('EXCLUIR_CONTRATO_REQUEST', ExcluirContratoRequest),\r\n takeLatest('IMPORTAR_CONTRATO_EXCEL', ImportarContratoExcelRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarOrigemContratoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarOrigemContratoRequest() {\r\n\r\n try {\r\n\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/OrigemContrato`, { headers: headerParams.token });\r\n\r\n yield put(ListarOrigemContratoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarOrigemContratoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n \r\n }\r\n}\r\n\r\nfunction* InserirOrigemContratoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/OrigemContrato`, model.data, { headers: headerParams.token });\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Origem Contrato ${model.nome} foi cadastrado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarOrigemContratoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/OrigemContrato`, model.data, { headers: headerParams.token });\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Origem Contrato foi atualizado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirOrigemContratoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/OrigemContrato/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Origem Contrato id: ${model.id} foi excluido!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_ORIGEM_CONTRATO_REQUEST', ListarOrigemContratoRequest),\r\n takeLatest('INSERIR_ORIGEM_CONTRATO_REQUEST', InserirOrigemContratoRequest),\r\n takeLatest('ALTERAR_ORIGEM_CONTRATO_REQUEST', AlterarOrigemContratoRequest),\r\n takeLatest('EXCLUIR_ORIGEM_CONTRATO_REQUEST', ExcluirOrigemContratoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarUnidadeMedidaResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarUnidadeMedidaRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/UnidadeMedida`, { headers: headerParams.token });\r\n\r\n yield put(ListarUnidadeMedidaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarUnidadeMedidaResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* InserirUnidadeMedidaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/UnidadeMedida`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Unidade de Medida foi cadastrada com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/UnidadeMedida`, { headers: headerParams.token });\r\n\r\n yield put(ListarUnidadeMedidaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarUnidadeMedidaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/UnidadeMedida`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Unidade de Medida foi atualizada com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/UnidadeMedida`, { headers: headerParams.token });\r\n\r\n yield put(ListarUnidadeMedidaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirUnidadeMedidaRequest(model) {\r\n\r\n try {\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/UnidadeMedida/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Unidade de Medida id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/UnidadeMedida`, { headers: headerParams.token });\r\n\r\n yield put(ListarUnidadeMedidaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_UNIDADE_MEDIDA_REQUEST', ListarUnidadeMedidaRequest),\r\n takeLatest('INSERIR_UNIDADE_MEDIDA_REQUEST', InserirUnidadeMedidaRequest),\r\n takeLatest('ALTERAR_UNIDADE_MEDIDA_REQUEST', AlterarUnidadeMedidaRequest),\r\n takeLatest('EXCLUIR_UNIDADE_MEDIDA_REQUEST', ExcluirUnidadeMedidaRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarContratoUsuarioResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarContratoUsuarioRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/ContratoUsuario`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoUsuarioResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarContratoUsuarioResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirContratoUsuarioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/ContratoUsuario`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ContratoUsuario`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoUsuarioResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`O usuário foi incluido com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n \r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarContratoUsuarioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/ContratoUsuario`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ContratoUsuario`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoUsuarioResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Permissão alterada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n\r\n}\r\n\r\nfunction* ExcluirContratoUsuarioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/ContratoUsuario/${model.id}`, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ContratoUsuario`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoUsuarioResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n \r\n toast.success(`O Usuario foi excluido com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CONTRATO_USUARIO_REQUEST', ListarContratoUsuarioRequest),\r\n takeLatest('INSERIR_CONTRATO_USUARIO_REQUEST', InserirContratoUsuarioRequest),\r\n takeLatest('ALTERAR_CONTRATO_USUARIO_REQUEST', AlterarContratoUsuarioRequest),\r\n takeLatest('EXCLUIR_CONTRATO_USUARIO_REQUEST', ExcluirContratoUsuarioRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { ListarFonteReceitaResponse, BuscarFonteReceitaPorIdResponse, Carregando } from './actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarFonteReceitaRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/FonteReceita`, { headers: headerParams.token });\r\n\r\n yield put(ListarFonteReceitaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarFonteReceitaResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* BuscarFonteReceitaPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/FonteReceita/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarFonteReceitaPorIdResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarFonteReceitaPorIdResponse(null));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirFonteReceitaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/FonteReceita`, model.data, { headers: headerParams.token });\r\n \r\n const result = yield call(api.get, `/api/FonteReceita`, { headers: headerParams.token });\r\n\r\n yield put(ListarFonteReceitaResponse(result.data.result));\r\n\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Fonte foi cadastrada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarFonteReceitaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/FonteReceita`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/FonteReceita`, { headers: headerParams.token });\r\n\r\n yield put(ListarFonteReceitaResponse(result.data.result));\r\n\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Fonte Receita alterada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirFonteReceitaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/FonteReceita/${model.id}`, { headers: headerParams.token });\r\n \r\n toast.success(`A Fonte Receita foi excluida com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/FonteReceita`, { headers: headerParams.token });\r\n\r\n yield put(ListarFonteReceitaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_FONTE_RECEITA_REQUEST', ListarFonteReceitaRequest),\r\n takeLatest('BUSCAR_FONTE_RECEITA_POR_ID_REQUEST', BuscarFonteReceitaPorIdRequest),\r\n takeLatest('INSERIR_FONTE_RECEITA_REQUEST', InserirFonteReceitaRequest),\r\n takeLatest('ALTERAR_FONTE_RECEITA_REQUEST', AlterarFonteReceitaRequest),\r\n takeLatest('EXCLUIR_FONTE_RECEITA_REQUEST', ExcluirFonteReceitaRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, Carregando, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\n\r\nfunction* BaixarDocumentoRequest(model) {\r\n\r\n try {\r\n\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/SolicitacaoFornecimentoDocumentoArquivo/${model.id}`, { headers: headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result.nomeArquivo}${result.data.result.descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/SolicitacaoFornecimentoDocumentoArquivo/${model.id}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n toast.error(e.response.data.message);\r\n }\r\n}\r\n\r\nfunction* RodarScriptTelefoneInteressado() {\r\n\r\n try {\r\n\r\n yield call(api.get, `/api/interessado/ArrumandoTelefone`);\r\n\r\n } catch (e) {\r\n yield put(ErrorResponse(e));\r\n }\r\n}\r\nexport default all([\r\n takeLatest('BAIXAR_DOCUMENTO_REQUEST', BaixarDocumentoRequest),\r\n takeLatest('RODAR_SCRIPT_TELEFONE_INTERESSADO', RodarScriptTelefoneInteressado)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarComposicaoCustoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarComposicaoCustoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/ComposicaoCusto`, { headers: headerParams.token });\r\n\r\n yield put(ListarComposicaoCustoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarComposicaoCustoResponse([]));\r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nfunction* InserirComposicaoCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/ComposicaoCusto`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ComposicaoCusto`, { headers: headerParams.token });\r\n\r\n yield put(ListarComposicaoCustoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n \r\n toast.success(`Composicao Custo foi cadastrado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nfunction* AlterarComposicaoCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/ComposicaoCusto`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ComposicaoCusto`, { headers: headerParams.token });\r\n\r\n yield put(ListarComposicaoCustoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Composicao Custo foi atualizado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* ExcluirComposicaoCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/ComposicaoCusto/${model.id}`, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ComposicaoCusto`, { headers: headerParams.token });\r\n\r\n yield put(ListarComposicaoCustoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Composicao Custo id: ${model.id} foi excluida!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_COMPOSICAO_CUSTO_REQUEST', ListarComposicaoCustoRequest),\r\n takeLatest('INSERIR_COMPOSICAO_CUSTO_REQUEST', InserirComposicaoCustoRequest),\r\n takeLatest('ALTERAR_COMPOSICAO_CUSTO_REQUEST', AlterarComposicaoCustoRequest),\r\n takeLatest('EXCLUIR_COMPOSICAO_CUSTO_REQUEST', ExcluirComposicaoCustoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarTipoRecursoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarTipoRecursoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/TipoRecurso`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoRecursoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n \r\n yield put(ListarTipoRecursoResponse([])); \r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* InserirTipoRecursoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/TipoRecurso`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`O Recurso foi cadastrado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/TipoRecurso`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoRecursoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarTipoRecursoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/TipoRecurso`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Tipo Recurso foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/TipoRecurso`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoRecursoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirTipoRecursoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/TipoRecurso/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Recurso id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.get, `/api/TipoRecurso`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoRecursoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(Carregando(true)); \r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_TIPO_RECURSO_REQUEST', ListarTipoRecursoRequest),\r\n takeLatest('INSERIR_TIPO_RECURSO_REQUEST', InserirTipoRecursoRequest),\r\n takeLatest('ALTERAR_TIPO_RECURSO_REQUEST', AlterarTipoRecursoRequest),\r\n takeLatest('EXCLUIR_TIPO_RECURSO_REQUEST', ExcluirTipoRecursoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { ListarFonteReceitaVersaoResponse, BuscarFonteReceitaVersaoPorIdResponse, ListarPorUltimaVersaoAnoResponse, Carregando } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarFonteReceitaVersaoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/FonteReceitaVersao`, { headers: headerParams.token });\r\n\r\n yield put(ListarFonteReceitaVersaoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarFonteReceitaVersaoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* BuscarFonteReceitaVersaoPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/FonteReceitaVersao/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarFonteReceitaVersaoPorIdResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(BuscarFonteReceitaVersaoPorIdResponse(null));\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nfunction* InserirFonteReceitaVersaoRequest(model) {\r\n\r\n try { \r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/FonteReceitaVersao`, model.data, { headers: headerParams.token });\r\n \r\n const result = yield call(api.get, `/api/FonteReceitaVersao/listarporultimaversaoano/${model.data.IdFonteReceita}`,\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarPorUltimaVersaoAnoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Fonte Receita Versao foi cadastrada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarFonteReceitaVersaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/FonteReceitaVersao`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/FonteReceitaVersao/listarporultimaversaoano/${model.data.IdFonteReceita}`,\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarPorUltimaVersaoAnoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Fonte Receita Versao foi atualizada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirFonteReceitaVersaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/FonteReceitaVersao/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Fonte Receita Versao id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/FonteReceitaVersao/listarporultimaversaoano/${model.idFonteReceita}`,\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarPorUltimaVersaoAnoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ListarPorUltimaVersaoAnoRequest(model) {\r\n\r\n try {\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global); \r\n\r\n const result = yield call(api.get, `/api/FonteReceitaVersao/listarporultimaversaoano/${model.idFonte}`,\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarPorUltimaVersaoAnoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if (e.response != null && e.response.data != null) {\r\n if(e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n\r\n yield put(ListarFonteReceitaVersaoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_FONTE_RECEITA_VERSAO_REQUEST', ListarFonteReceitaVersaoRequest),\r\n takeLatest('BUSCAR_FONTE_RECEITA_VERSAO_POR_ID_REQUEST', BuscarFonteReceitaVersaoPorIdRequest),\r\n takeLatest('INSERIR_FONTE_RECEITA_VERSAO_REQUEST', InserirFonteReceitaVersaoRequest),\r\n takeLatest('ALTERAR_FONTE_RECEITA_VERSAO_REQUEST', AlterarFonteReceitaVersaoRequest),\r\n takeLatest('EXCLUIR_FONTE_RECEITA_VERSAO_REQUEST', ExcluirFonteReceitaVersaoRequest),\r\n takeLatest('LISTAR_POR_ULTIMA_VERSAO_ANO_REQUEST', ListarPorUltimaVersaoAnoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport {\r\n ListarSolicitacaoFornecimentoResponse,\r\n BuscarSolicitacaoFornecimentoPorIdResponse, Carregando, ListarSolicitacaoFornecimentoCamposVerificacaoRapidaResponse, BuscarCoordenadasPorEnderecoResponse\r\n} from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\nimport { BuscarEventoRespostaPorIdResponse } from '../eventoResposta/actions';\r\nimport { ListarStatusSolicitacaoFornecimentoCompletoResponse } from '../statusSolicitacaoFornecimento/actions';\r\n\r\nfunction* ListarSolicitacaoFornecimentoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/SolicitacaoFornecimento`, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarSolicitacaoFornecimentoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BuscarSolicitacaoFornecimentoPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/SolicitacaoFornecimento/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(null));\r\n yield put(Carregando(true));\r\n\r\n }\r\n\r\n}\r\n\r\nfunction* InserirSolicitacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var result = yield call(api.post, `/api/SolicitacaoFornecimento`, model.data, { headers: headerParams.token });\r\n\r\n // Buscar Solicitação\r\n const resultBusca = yield call(api.get, `/api/SolicitacaoFornecimento/${result.data.result}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(resultBusca.data.result));\r\n\r\n // Alterar Rota\r\n history.push(`/alterarGeralSolicitacao/${result.data.result}`);\r\n\r\n // Buscar Status\r\n const resultStatus = yield call(api.post, `/api/StatusSolicitacaoFornecimento/ListarCompleto`, \r\n {idSolicitacaoFornecimento: resultBusca.data.result.id}, { headers: headerParams.token });\r\n\r\n yield put(ListarStatusSolicitacaoFornecimentoCompletoResponse(resultStatus.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n toast.success(`A Solicitacao foi cadastrada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n\r\n}\r\n\r\nfunction* AlterarSolicitacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/SolicitacaoFornecimento`, model.data, { headers: headerParams.token });\r\n\r\n // Buscar Solicitação Fornecimento\r\n const result = yield call(api.get, `/api/SolicitacaoFornecimento/${model.data.Id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Solicitacao foi atualizada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirSolicitacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/SolicitacaoFornecimento/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n toast.success(`Solicitacao id: ${model.id} foi excluida!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n\r\n}\r\n\r\nfunction* ListarCompletoSolicitacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimento/ListarCompleto`,\r\n model.data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarSolicitacaoFornecimentoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirCoordenadasSolicitacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/SolicitacaoFornecimento/inserirCoordenadas`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/SolicitacaoFornecimento/${model.data.IdSolicitacaoFornecimento}`,\r\n { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n toast.success(`Coordenadas inseridas com sucesso sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarSolicitacaoFornecimentoCamposVerificacaoRapidaRequest() {\r\n\r\n try {\r\n\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/SolicitacaoFornecimento/ListarCamposVerificacaoRapida`, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoCamposVerificacaoRapidaResponse(result.data.result));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarSolicitacaoFornecimentoResponse([]));\r\n yield put(ErrorResponse(e));\r\n }\r\n}\r\n\r\nfunction* BuscarCoordenadasPorEnderecoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimento/buscarCoordenadasPorEndereco`,\r\n { 'Endereco': model.Endereco }, { headers: headerParams.token });\r\n\r\n yield put(BuscarCoordenadasPorEnderecoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarSolicitacaoFornecimentoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarPrazoSolicitacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.get, `/api/SolicitacaoFornecimento/${model.data.Id}/${model.data.PrazoDias}`,\r\n { headers: headerParams.token });\r\n\r\n // Buscar Solicitação Fornecimento\r\n const result = yield call(api.get, `/api/SolicitacaoFornecimento/${model.data.Id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Prazo atualizado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* GerarOficioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimento/GerarOficio`, {'Id': model.id, 'Numero': model.numero} ,{ headers: headerParams.token });\r\n\r\n const resultSoli = yield call(api.get, `/api/SolicitacaoFornecimento/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(resultSoli.data.result));\r\n\r\n const resultEv = yield call(api.get, `/api/EventoResposta/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEventoRespostaPorIdResponse(resultEv.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(null));\r\n yield put(Carregando(true));\r\n\r\n }\r\n\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_SOLICITACAO_FORNECIMENTO_REQUEST', ListarSolicitacaoFornecimentoRequest),\r\n takeLatest('BUSCAR_SOLICITACAO_FORNECIMENTO_POR_ID_REQUEST', BuscarSolicitacaoFornecimentoPorIdRequest),\r\n takeLatest('INSERIR_SOLICITACAO_FORNECIMENTO_REQUEST', InserirSolicitacaoFornecimentoRequest),\r\n takeLatest('ALTERAR_SOLICITACAO_FORNECIMENTO_REQUEST', AlterarSolicitacaoFornecimentoRequest),\r\n takeLatest('EXCLUIR_SOLICITACAO_FORNECIMENTO_REQUEST', ExcluirSolicitacaoFornecimentoRequest),\r\n takeLatest('LISTAR_COMPLETO_SOLICITACAO_FORNECIMENTO_REQUEST', ListarCompletoSolicitacaoFornecimentoRequest),\r\n takeLatest('INSERIR_COORDENADAS_SOLICITACAO_FORNECECIMENTO_REQUEST', InserirCoordenadasSolicitacaoFornecimentoRequest),\r\n takeLatest('LISTAR_SOLICITACAO_FORNECIMENTO_CAMPOS_VERIFICACAO_RAPIDA_REQUEST', ListarSolicitacaoFornecimentoCamposVerificacaoRapidaRequest),\r\n takeLatest('BUSCAR_COORDENADAS_POR_ENDERECO_REQUEST', BuscarCoordenadasPorEnderecoRequest),\r\n takeLatest('ALTERAR_PRAZO_SOLICITACAO_FORNECIMENTO_REQUEST', AlterarPrazoSolicitacaoFornecimentoRequest),\r\n takeLatest('GERAR_OFICIO_REQUEST', GerarOficioRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarRegiaoResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarRegiaoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Regiao`, { headers: headerParams.token });\r\n\r\n yield put(ListarRegiaoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ListarRegiaoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirRegiaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/Regiao`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`A Regiao foi cadastrada com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Regiao`, { headers: headerParams.token });\r\n\r\n yield put(ListarRegiaoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarRegiaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/Regiao`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Regiao foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Regiao`, { headers: headerParams.token });\r\n\r\n yield put(ListarRegiaoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirRegiaoRequest(model) {\r\n\r\n try {\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/Regiao/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Regiao id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/Regiao`, { headers: headerParams.token });\r\n\r\n yield put(ListarRegiaoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_REGIAO_REQUEST', ListarRegiaoRequest),\r\n takeLatest('INSERIR_REGIAO_REQUEST', InserirRegiaoRequest),\r\n takeLatest('ALTERAR_REGIAO_REQUEST', AlterarRegiaoRequest),\r\n takeLatest('EXCLUIR_REGIAO_REQUEST', ExcluirRegiaoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarTipoSolicitacaoResponse, BuscarTipoSolicitacaoResponse } from './actions';\r\nimport { ListarTipoSolicitacaoTipoDocumentoArquivoResponse } from '../tipoSolicitacaoTipoDocumentoArquivo/actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarTipoSolicitacaoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/TipoSolicitacao`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoSolicitacaoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarTipoSolicitacaoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* BuscarTipoSolicitacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'Id': parseInt(model.id),\r\n 'IdSolicitacaoFornecimento': parseInt(model.idSolicitacaoFornecimento)\r\n }\r\n\r\n const result = yield call(api.post, `/api/TipoSolicitacao/BuscarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(BuscarTipoSolicitacaoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(BuscarTipoSolicitacaoResponse(null));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* InserirTipoSolicitacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/TipoSolicitacao`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`A Solicitacao foi cadastrada com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/TipoSolicitacao`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoSolicitacaoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarTipoSolicitacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global); \r\n\r\n yield call(api.put, `/api/TipoSolicitacao`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Tipo solicitação foi atualizado com sucesso!`);\r\n\r\n // Listar Tipo Solicitacao\r\n const result = yield call(api.get, `/api/TipoSolicitacao`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoSolicitacaoResponse(result.data.result));\r\n\r\n // Listar relacao Tipo Solicitacao com Tipo Documento Arquivo\r\n const resultRelacao = yield call(api.get, `/api/TipoSolicitacaoTipoDocumentoArquivo`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoSolicitacaoTipoDocumentoArquivoResponse(resultRelacao.data.result));\r\n \r\n yield put(Carregando(true)); \r\n \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else \r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirTipoSolicitacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global); \r\n\r\n yield call(api.delete, `/api/TipoSolicitacao/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Tipo solicitacao id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/TipoSolicitacao`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoSolicitacaoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_TIPO_SOLICITACAO_REQUEST', ListarTipoSolicitacaoRequest),\r\n takeLatest('BUSCAR_TIPO_SOLICITACAO_REQUEST', BuscarTipoSolicitacaoRequest),\r\n takeLatest('INSERIR_TIPO_SOLICITACAO_REQUEST', InserirTipoSolicitacaoRequest),\r\n takeLatest('ALTERAR_TIPO_SOLICITACAO_REQUEST', AlterarTipoSolicitacaoRequest),\r\n takeLatest('EXCLUIR_TIPO_SOLICITACAO_REQUEST', ExcluirTipoSolicitacaoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { Carregando, ListarSolicitacaoFornecimentoDocumentoArquivoResponse } from './actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarSolicitacaoFornecimentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoDocumentoArquivo/listarCompleto`,\r\n { IdSolicitacao: model.id }, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarSolicitacaoFornecimentoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirSolicitacaoFornecimentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var resultId = yield call(api.post, `/api/SolicitacaoFornecimentoDocumentoArquivo`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoDocumentoArquivo/listarCompleto`,\r\n { IdSolicitacao: model.id }, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoDocumentoArquivoResponse(result.data.result));\r\n \r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ' );\r\n });\r\n\r\n yield put(Carregando(true));\r\n \r\n toast.success('Documento(s): ' + listaId + ' cadastrado(s) com sucesso!');\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n }\r\n\r\n yield put(ListarSolicitacaoFornecimentoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* AlterarSolicitacaoFornecimentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/SolicitacaoFornecimentoDocumentoArquivo`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Documentos atualizado com sucesso!`);\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoDocumentoArquivo/listarCompleto`,\r\n { IdSolicitacao: model.id }, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarSolicitacaoFornecimentoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* ExcluirSolicitacaoFornecimentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/SolicitacaoFornecimentoDocumentoArquivo/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Documento id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoDocumentoArquivo/listarCompleto`,\r\n { IdSolicitacao: parseInt(model.idSolicitacao) }, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n \r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarSolicitacaoFornecimentoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_SOLICITACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST', ListarSolicitacaoFornecimentoDocumentoArquivoRequest),\r\n takeLatest('INSERIR_SOLICITACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST', InserirSolicitacaoFornecimentoDocumentoArquivoRequest),\r\n takeLatest('ALTERAR_SOLICITACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST', AlterarSolicitacaoFornecimentoDocumentoArquivoRequest),\r\n takeLatest('EXCLUIR_SOLICITACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST', ExcluirSolicitacaoFornecimentoDocumentoArquivoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { BuscarContratoVersaoPorIdResponse, Carregando, ListarContratoVersaoResponse } from './actions';\r\nimport { BuscarContratoPorIdRequest } from '../contrato/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\nimport { ListarSolicitacaoFornecimentoResponse } from '../solicitacaoFornecimento/actions';\r\n\r\nfunction* ListarContratoVersaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/ContratoVersao/listarCompleto`, \r\n { IdContrato: parseInt(model.idContrato) },{ headers: headerParams.token });\r\n\r\n yield put(ListarContratoVersaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarContratoVersaoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirContratoVersaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/ContratoVersao`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ContratoVersao/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoVersaoPorIdResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Contrato Versão foi cadastrado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n \r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nfunction* BuscarContratoVersaoPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/ContratoVersao/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoVersaoPorIdResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarContratoVersaoPorIdResponse(null));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirItensContratoVersaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const resultListaSubItem = yield call(api.post, `/api/subItemCusto/listarCompleto`, {'IdContrato': model.data.IdContrato}, { headers: headerParams.token });\r\n\r\n if (resultListaSubItem.data.result != null && resultListaSubItem.data.result.length == 0) {\r\n toast.error(`No momento o contrato não possui subitem.`);\r\n } else {\r\n \r\n //Criar nova versão de contrato\r\n yield call(api.post, `/api/ContratoVersao/criarItensVersao`, model.data, { headers: headerParams.token });\r\n\r\n //Listando Contrato\r\n yield put(BuscarContratoPorIdRequest(model.idContrato));\r\n \r\n //Listando Versão do Contrato\r\n const resultVersao = yield call(api.post, `/api/ContratoVersao/listarCompleto`, \r\n { IdContrato: parseInt(model.idContrato) },{ headers: headerParams.token });\r\n yield put(ListarContratoVersaoResponse(resultVersao.data.result));\r\n\r\n //Listando Solicitações\r\n var listaSolicitacao = yield call(api.post, `/api/SolicitacaoFornecimento/ListarCompleto`,\r\n { IdSolicitacaoFornecimento: null, IdContrato: model.idContrato }, { headers: headerParams.token }); \r\n yield put(ListarSolicitacaoFornecimentoResponse(listaSolicitacao.data.result));\r\n \r\n toast.success(`A nova versão do contrato foi cadastrada com sucesso!`); \r\n\r\n }\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CONTRATO_VERSAO_REQUEST', ListarContratoVersaoRequest),\r\n takeLatest('BUSCAR_CONTRATO_VERSAO_POR_ID_REQUEST', BuscarContratoVersaoPorIdRequest),\r\n takeLatest('INSERIR_CONTRATO_VERSAO_REQUEST', InserirContratoVersaoRequest),\r\n takeLatest('INSERIR_ITENS_CONTRATO_VERSAO_REQUEST', InserirItensContratoVersaoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarSolicitacaoFornecimentoVersaoSubitemCustoResponse } from './actions';\r\nimport { BuscarContratoVersaoPorIdResponse } from '../contratoVersao/actions';\r\nimport { ListarSolicitacaoFornecimentoVersaoStatusResponse } from '../solicitacaoFornecimentoVersaoStatus/actions';\r\nimport { BuscarSolicitacaoFornecimentoPorIdResponse } from '../solicitacaoFornecimento/actions';\r\nimport { ListarCompletoSolicitacaoFornecimentoVersaoResponse } from '../solicitacaoFornecimentoVersao/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, CriarTxt, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarSolicitacaoFornecimentoVersaoSubitemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': model.idSolicitacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoSubitemCusto/listarCompleto`,\r\n data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoSubitemCustoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoSubitemCustoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirSolicitacaoFornecimentoVersaoSubitemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/SolicitacaoFornecimentoVersaoSubitemCusto`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`O Item foi incluido com sucesso!`);\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': model.idSolicitacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoSubitemCusto/listarCompleto`,\r\n data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoSubitemCustoResponse(result.data.result));\r\n\r\n // Buscar Solicitação\r\n const resultBusca = yield call(api.get, `/api/SolicitacaoFornecimento/${parseInt(model.idSolicitacaoFornecimento)}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(resultBusca.data.result));\r\n\r\n // Atualizar historico\r\n const resultVersao = yield call(api.post, `/api/SolicitacaoFornecimentoVersao/listarCompleto`,\r\n data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoSolicitacaoFornecimentoVersaoResponse(resultVersao.data.result));\r\n\r\n const resultContratoVersao = yield call(api.get, `/api/ContratoVersao/${model.idContratoVersao}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoVersaoPorIdResponse(resultContratoVersao.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n const resultContratoVersao = yield call(api.get, `/api/ContratoVersao/${model.idContratoVersao}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoVersaoPorIdResponse(resultContratoVersao.data.result));\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* AlterarSolicitacaoFornecimentoVersaoSubitemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/SolicitacaoFornecimentoVersaoSubitemCusto`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Item alterado com sucesso!`);\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': model.idSolicitacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoSubitemCusto/listarCompleto`,\r\n data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoSubitemCustoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirSolicitacaoFornecimentoVersaoSubitemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/SolicitacaoFornecimentoVersaoSubitemCusto/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n\r\n toast.success(`O Item foi excluido com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirSolicitacaoFornecimentoVersaoSubitemCustoPorIdSolicitacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/SolicitacaoFornecimentoVersaoSubitemCusto/${model.idSolicitacaoFornecimentoVersao}`, { headers: headerParams.token });\r\n\r\n toast.success(`Os Itens foram excluídos com sucesso!`);\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': model.idSolicitacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoSubitemCusto/listarCompleto`,\r\n data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoSubitemCustoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ImportarSolicitacaoFornecimentoVersaoSubitemCustoExcelRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/SolicitacaoFornecimentoVersaoSubitemCusto/ImportacaoSolicitacaoSubitemCusto`, model.listaImportacao,\r\n { headers: headerParams.token });\r\n\r\n toast.success(`O Item foi incluido com sucesso!`);\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': model.idSolicitacaoFornecimento\r\n }\r\n\r\n // Buscar Solicitação\r\n const resultBusca = yield call(api.get, `/api/SolicitacaoFornecimento/${parseInt(model.idSolicitacaoFornecimento)}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(resultBusca.data.result));\r\n\r\n // Buscar status\r\n const resultStatus = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoStatusResponse(resultStatus.data.result));\r\n\r\n // Buscar lista subitem\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoSubitemCusto/listarCompleto`,\r\n data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoSubitemCustoResponse(result.data.result));\r\n\r\n // Atualizar modal de inserir\r\n const resultContratoVersao = yield call(api.get, `/api/ContratoVersao/${model.idContratoVersao}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoVersaoPorIdResponse(resultContratoVersao.data.result));\r\n\r\n // Atualizar historico\r\n const resultVersao = yield call(api.post, `/api/SolicitacaoFornecimentoVersao/listarCompleto`,\r\n data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoSolicitacaoFornecimentoVersaoResponse(resultVersao.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n toast.error(\"Erro na importação de SubItems\");\r\n yield put(CriarTxt(e.response.data.message));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_REQUEST', ListarSolicitacaoFornecimentoVersaoSubitemCustoRequest),\r\n takeLatest('INSERIR_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_REQUEST', InserirSolicitacaoFornecimentoVersaoSubitemCustoRequest),\r\n takeLatest('ALTERAR_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_REQUEST', AlterarSolicitacaoFornecimentoVersaoSubitemCustoRequest),\r\n takeLatest('EXCLUIR_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_REQUEST', ExcluirSolicitacaoFornecimentoVersaoSubitemCustoRequest),\r\n takeLatest('EXCLUIR_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_POR_ID_SOLICITACAO_REQUEST', ExcluirSolicitacaoFornecimentoVersaoSubitemCustoPorIdSolicitacaoRequest),\r\n takeLatest('IMPORTACAO_SOLICITACAO_FORNECIMENTO_VERSAO_SUBITEM_CUSTO_REQUEST', ImportarSolicitacaoFornecimentoVersaoSubitemCustoExcelRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarSolicitacaoFornecimentoVersaoStatusResponse, ValidarSolicitacaoFornecimentoVersaoStatusResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\nimport { BuscarSolicitacaoFornecimentoPorIdResponse } from '../solicitacaoFornecimento/actions';\r\nimport { ListarNotificacaoResponse } from '../notificacao/actions';\r\n\r\nfunction* ListarSolicitacaoFornecimentoVersaoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': model.IdSolicitacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoStatusResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoStatusResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirSolicitacaoFornecimentoVersaoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n // Validação true, significa que o status não precisa validar.\r\n if (model.validacao) {\r\n\r\n yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status finalizado!`);\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': model.IdSolicitacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoStatusResponse(result.data.result));\r\n\r\n const resultSolicitacao = yield call(api.get, `/api/SolicitacaoFornecimento/${model.IdSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(resultSolicitacao.data.result));\r\n\r\n } else {\r\n\r\n // Validar Saldo\r\n const resultValidar = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/validar`, model.data, { headers: headerParams.token });\r\n\r\n var valida = false;\r\n var lista = resultValidar.data.result;\r\n lista.forEach(element => {\r\n if (element.saldoContratoAlemExcedente === true)\r\n valida = true;\r\n });\r\n\r\n // Se algum item excedeu mostra o modal\r\n if (valida) {\r\n\r\n yield put(ValidarSolicitacaoFornecimentoVersaoStatusResponse(resultValidar.data.result));\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': parseInt(model.IdSolicitacaoFornecimento)\r\n }\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoStatusResponse(result.data.result));\r\n\r\n const resultSolicitacao = yield call(api.get, `/api/SolicitacaoFornecimento/${model.IdSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(resultSolicitacao.data.result));\r\n\r\n // Se não, insere o status\r\n } else {\r\n\r\n yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status finalizado!`);\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': parseInt(model.IdSolicitacaoFornecimento)\r\n }\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n yield put(ListarSolicitacaoFornecimentoVersaoStatusResponse(result.data.result));\r\n\r\n const resultSolicitacao = yield call(api.get, `/api/SolicitacaoFornecimento/${model.IdSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(resultSolicitacao.data.result));\r\n\r\n }\r\n }\r\n\r\n const result = yield call(api.post, `/api/Notificacao/ListarCompleto`, { idUsuario: model.idUsuario },\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarNotificacaoResponse(result.data.result));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response.data.message != 'Atualmente não existe notificações') {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n }\r\n}\r\n\r\nfunction* AlterarSolicitacaoFornecimentoVersaoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n /* Validação de saldo no contrato de subitens\r\n Ao alterar o status análise (aprovar), é preciso validar todos os itens e mostrar o modal para o usuário caso\r\n tenha excedido o saldo de algum item */\r\n\r\n // Validação true, significa que o status não precisa validar.\r\n if (model.validacao) {\r\n\r\n yield call(api.put, `/api/SolicitacaoFornecimentoVersaoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status foi Alterado!`);\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': model.IdSolicitacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoStatusResponse(result.data.result));\r\n\r\n } else {\r\n\r\n // Validar Saldo\r\n const resultValidar = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/validar`, model.data, { headers: headerParams.token });\r\n\r\n var valida = false;\r\n var lista = resultValidar.data.result;\r\n lista.forEach(element => {\r\n if (element.saldoContratoAlemExcedente === true)\r\n valida = true;\r\n });\r\n\r\n // Se algum item excedeu mostra o modal\r\n if (valida) {\r\n\r\n yield put(ValidarSolicitacaoFornecimentoVersaoStatusResponse(resultValidar.data.result));\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoStatusResponse(result.data.result));\r\n\r\n } else {\r\n\r\n yield call(api.put, `/api/SolicitacaoFornecimentoVersaoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status foi Alterado!`);\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': model.IdSolicitacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoStatusResponse(result.data.result));\r\n }\r\n }\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirSolicitacaoFornecimentoVersaoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/SolicitacaoFornecimentoVersaoStatus/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': parseInt(model.id)\r\n }\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n yield put(ListarSolicitacaoFornecimentoVersaoStatusResponse(result.data.result));\r\n\r\n const resultSolicitacao = yield call(api.get, `/api/SolicitacaoFornecimento/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(resultSolicitacao.data.result));\r\n\r\n toast.success(`O ultimo Status foi excluido!`);\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirSolicitacaoFornecimentoVersaoStatusMantendoOsItensRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.get, `/api/SolicitacaoFornecimentoVersaoStatus/ExcluirStatusMantendoOsItens/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': parseInt(model.IdSolicitacaoFornecimento)\r\n }\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n yield put(ListarSolicitacaoFornecimentoVersaoStatusResponse(result.data.result));\r\n\r\n const resultSolicitacao = yield call(api.get, `/api/SolicitacaoFornecimento/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(resultSolicitacao.data.result));\r\n\r\n toast.success(`O Status foi excluido!`);\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_REQUEST', ListarSolicitacaoFornecimentoVersaoStatusRequest),\r\n takeLatest('INSERIR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_REQUEST', InserirSolicitacaoFornecimentoVersaoStatusRequest),\r\n takeLatest('ALTERAR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_REQUEST', AlterarSolicitacaoFornecimentoVersaoStatusRequest),\r\n takeLatest('EXCLUIR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_REQUEST', ExcluirSolicitacaoFornecimentoVersaoStatusRequest),\r\n takeLatest('EXCLUIR_SOLICITACAO_FORNECIMENTO_VERSAO_STATUS_MANTENDO_OS_ITENS_REQUEST', ExcluirSolicitacaoFornecimentoVersaoStatusMantendoOsItensRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarTipoDocumentoArquivoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarTipoDocumentoArquivoRequest(){\r\n\r\n try {\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/TipoDocumentoArquivo`, { headers:headerParams.token });\r\n\r\n yield put(ListarTipoDocumentoArquivoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarTipoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* InserirTipoDocumentoArquivoRequest(model){\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/TipoDocumentoArquivo`, model.data, { headers:headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/TipoDocumentoArquivo`, { headers:headerParams.token });\r\n\r\n yield put(ListarTipoDocumentoArquivoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n toast.success(`Tipo Documento foi cadastrado com sucesso!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarTipoDocumentoArquivoRequest(model){\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/TipoDocumentoArquivo`, model.data, { headers:headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/TipoDocumentoArquivo`, { headers:headerParams.token });\r\n\r\n yield put(ListarTipoDocumentoArquivoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n toast.success(`Tipo Documento foi atualizado com sucesso!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirTipoDocumentoArquivoRequest(model){\r\n\r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/TipoDocumentoArquivo/${model.id}`, { headers:headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/TipoDocumentoArquivo`, { headers:headerParams.token });\r\n\r\n yield put(ListarTipoDocumentoArquivoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Tipo Documento id: ${model.id} foi excluido!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_TIPO_DOCUMENTO_ARQUIVO_REQUEST', ListarTipoDocumentoArquivoRequest),\r\n takeLatest('INSERIR_TIPO_DOCUMENTO_ARQUIVO_REQUEST', InserirTipoDocumentoArquivoRequest),\r\n takeLatest('EXCLUIR_TIPO_DOCUMENTO_ARQUIVO_REQUEST', ExcluirTipoDocumentoArquivoRequest),\r\n takeLatest('ALTERAR_TIPO_DOCUMENTO_ARQUIVO_REQUEST', AlterarTipoDocumentoArquivoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { BuscarSolicitacaoFornecimentoPorIdResponse } from '../solicitacaoFornecimento/actions';\r\nimport { ListarSolicitacaoFornecimentoVersaoStatusResponse } from '../solicitacaoFornecimentoVersaoStatus/actions';\r\nimport {\r\n ListarSolicitacaoFornecimentoVersaoResponse,\r\n ListarCompletoSolicitacaoFornecimentoVersaoResponse\r\n} from '../solicitacaoFornecimentoVersao/actions';\r\nimport api from '../../../services/api';\r\nimport { Carregando } from './actions';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarSolicitacaoFornecimentoVersaoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/SolicitacaoFornecimentoVersao`, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarCompletoSolicitacaoFornecimentoVersaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoVersao/listarCompleto`,\r\n { IdSolicitacaoFornecimento: parseInt(model.idSolicitacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoSolicitacaoFornecimentoVersaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarCompletoSolicitacaoFornecimentoVersaoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n\r\n }\r\n}\r\n\r\nfunction* InserirSolicitacaoFornecimentoVersaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/SolicitacaoFornecimentoVersao`, model.data, { headers: headerParams.token });\r\n\r\n let result = yield call(api.get, `/api/SolicitacaoFornecimento/${model.data.IdSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(result.data.result));\r\n\r\n // Listar Status\r\n result = yield call(api.post, `/api/SolicitacaoFornecimentoVersaoStatus/ListarCompleto`,\r\n { IdSolicitacaoFornecimento: model.data.IdSolicitacaoFornecimento }, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoVersaoStatusResponse(result.data.result));\r\n\r\n //Listar histórico versões\r\n const resultVersao = yield call(api.post, `/api/SolicitacaoFornecimentoVersao/listarCompleto`,\r\n { IdSolicitacaoFornecimento: parseInt(model.data.IdSolicitacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoSolicitacaoFornecimentoVersaoResponse(resultVersao.data.result));\r\n \r\n\r\n yield put(Carregando(true));\r\n\r\n toast.success(`A nova Versão da Solicitacão foi cadastrada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarCompletoSolicitacaoFornecimentoVersaoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('INSERIR_SOLICITACAO_FORNECIMENTO_VERSAO_REQUEST', InserirSolicitacaoFornecimentoVersaoRequest),\r\n takeLatest('LISTAR_SOLICITACAO_FORNECIMENTO_VERSAO_REQUEST', ListarSolicitacaoFornecimentoVersaoRequest),\r\n takeLatest('LISTAR_COMPLETO_SOLICITACAO_FORNECIMENTO_VERSAO_REQUEST', ListarCompletoSolicitacaoFornecimentoVersaoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarTipoContratoVersaoResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarTipoContratoVersaoRequest(){\r\n\r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/TipoContratoVersao`, { headers:headerParams.token });\r\n\r\n yield put(ListarTipoContratoVersaoResponse(result.data.result)); \r\n yield put(Carregando(true));\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarTipoContratoVersaoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_TIPO_CONTRATO_VERSAO_REQUEST', ListarTipoContratoVersaoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport {\r\n ListarRelatorioMedicaoSubItemResponse,\r\n ListarRelatorioAutorizacaoFornecimentoSubItemCustoResponse,\r\n ListarDadosExportarPDFAutorizacaoFornecimentoResponse,\r\n ListarDadosExportarPDFSolicitacaoFornecimentoResponse,\r\n ListarDadosExportarPDFEmpenhoResponse,\r\n ListarTodasFotosCompletasAutorizacaoFornecimentoResponse,\r\n ListarDadosExportarPDFSolicitacaoFornecimentoEventoResponse,\r\n ListarDadosExportarPDFEmpenhoBoletimMedicaoResponse,\r\n ListarRelatorioStatusSolicitacaoResponse,\r\n ListarRelatorioStatusAutorizacaoResponse,\r\n ListarRelatorioStatusMedicaoResponse,\r\n ListarRelatorioStatusEmpenhoResponse,\r\n ListarRelatorioSolicitacaoResponse\r\n} from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport { Carregando } from '../perfil/actions';\r\nimport urlBase from '../../../services/rotas';\r\nimport { toast } from 'react-toastify';\r\nimport Cookies from 'universal-cookie';\r\nimport history from '../../../services/history';\r\n\r\nfunction* BaixarRelatorioTodasSolicitacoesRequest(model) {\r\n\r\n try {\r\n\r\n const cookies = new Cookies();\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n\r\n fetch(`${urlBase}/api/Relatorio/BaixarRelatorioTodasSolicitacoes`, {\r\n method: \"POST\",\r\n headers: new Headers({\r\n 'Authorization': JSON.parse(localStorage.getItem('token')) !== null ?\r\n `Bearer ${cookies.get('token')}${JSON.parse(localStorage.getItem('token')).tokenCodificado}`\r\n : '',\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }),\r\n body: JSON.stringify(model.data),\r\n })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório de todas as Solicitações';\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarRelatorioTodasAutorizacoesRequest(model) {\r\n\r\n try {\r\n\r\n const cookies = new Cookies();\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n\r\n fetch(`${urlBase}/api/Relatorio/BaixarRelatorioTodasAutorizacoes`,\r\n {\r\n method: \"POST\",\r\n headers: new Headers({\r\n 'Authorization': JSON.parse(localStorage.getItem('token')) !== null ?\r\n `Bearer ${cookies.get('token')}${JSON.parse(localStorage.getItem('token')).tokenCodificado}`\r\n : '',\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }),\r\n body: JSON.stringify(model.data),\r\n })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório de todas as Autorizações';\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarRelatorioTodasMedicoesRequest(model) {\r\n\r\n try {\r\n\r\n const cookies = new Cookies();\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n\r\n fetch(`${urlBase}/api/Relatorio/BaixarRelatorioTodasMedicoes`,\r\n {\r\n method: \"POST\",\r\n headers: new Headers({\r\n 'Authorization': JSON.parse(localStorage.getItem('token')) !== null ?\r\n `Bearer ${cookies.get('token')}${JSON.parse(localStorage.getItem('token')).tokenCodificado}`\r\n : '',\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }),\r\n body: JSON.stringify(model.data),\r\n })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório de todas as Medições';\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarRelatorioTodosSubitensRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/Relatorio/BaixarRelatorioTodosSubitens/${model.idContrato}`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório de todos os subitens do contrato ' + model.idContrato;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\n\r\nfunction* BaixarRelatorioTodosSubitensTroRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n const cookies = new Cookies();\r\n\r\n let data = {\r\n 'IdContrato': parseInt(model.model.IdContrato),\r\n 'IdEmpenho': parseInt(model.model.IdEmpenho)\r\n }\r\n\r\n fetch(`${urlBase}/api/Relatorio/BaixarRelatorioTodosSubitensTro`, {\r\n method: \"POST\",\r\n headers: new Headers({\r\n 'Authorization': JSON.parse(localStorage.getItem('token')) !== null ?\r\n `Bearer ${cookies.get('token')}${JSON.parse(localStorage.getItem('token')).tokenCodificado}`\r\n : '',\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }),\r\n body: JSON.stringify(data),\r\n })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório de todos os subitens do TRO ' + model.model.IdEmpenho;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\n\r\nfunction* ListarRelatorioStatusSolicitacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n let data = {\r\n dataInicio: model.dataInicio,\r\n dataFinal: model.dataFinal,\r\n visualizarTudo: model.visualizarTudo\r\n }\r\n\r\n const result = yield call(api.post, `/api/Relatorio/ListarRelatorioStatusSolicitacao`, data, \r\n { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioStatusSolicitacaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarRelatorioStatusAutorizacaoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Relatorio/ListarRelatorioStatusAutorizacao`,\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioStatusAutorizacaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarRelatorioStatusMedicaoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Relatorio/ListarRelatorioStatusMedicao`,\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioStatusMedicaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarRelatorioStatusEmpenhoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Relatorio/ListarRelatorioStatusEmpenho`,\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioStatusEmpenhoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarRelatorioMedicaoSubItemRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/Relatorio/ListarRelatorioMedicaoSubItem`,\r\n model.data, { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarRelatorioAutorizacaoFornecimentoSubItemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/Relatorio/ListarRelatorioAutorizacaoFornecimentoSubItemCusto`,\r\n { idAutorizacaoFornecimento: parseInt(model.idAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioAutorizacaoFornecimentoSubItemCustoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarDadosExportarPDFAutorizacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/Relatorio/ListarDadosExportarPDFAutorizacaoFornecimento`,\r\n model.data, { headers: headerParams.token });\r\n\r\n yield put(ListarDadosExportarPDFAutorizacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarDadosExportarPDFSolicitacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/Relatorio/ListarDadosExportarPDFSolicitacaoFornecimento`,\r\n model.data, { headers: headerParams.token });\r\n\r\n yield put(ListarDadosExportarPDFSolicitacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarDadosExportarPDFEmpenhoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/Relatorio/ListarDadosExportarPDFEmpenho`,\r\n model.data, { headers: headerParams.token });\r\n\r\n yield put(ListarDadosExportarPDFEmpenhoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarDadosExportarPDFEmpenhoBoletimMedicaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/Relatorio/ListarDadosExportarPDFEmpenhoBoletimMedicao`,\r\n model.data, { headers: headerParams.token });\r\n\r\n yield put(ListarDadosExportarPDFEmpenhoBoletimMedicaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarTodasFotosCompletasAutorizacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/Relatorio/${parseInt(model.idEmpenho)}/0/ListarTodasFotosCompletasAutorizacaoFornecimento`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (pdf) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(pdf);\r\n elem.download = 'RegistrosFotograficos.pdf'\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarDadosExportarPDFSolicitacaoFornecimentoEventoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/Relatorio/ListarDadosExportarPDFAutorizacaoFornecimentoEvento`,\r\n model.data, { headers: headerParams.token });\r\n\r\n yield put(ListarDadosExportarPDFSolicitacaoFornecimentoEventoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* RelatorioEventoRespostaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/Relatorio/${model.data.IdSolicitacaoFornecimento}/${model.data.IdEventoResposta}/RelatorioEventoResposta`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (pdf) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(pdf);\r\n elem.download = 'relatorioEventoRspostas.pdf'\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n\r\n}\r\n\r\nfunction* RelatorioTodasMedicaoSubItemsRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/Relatorio/BaixarRelatorioTodasMedicaoSubItems/${model.idMedicaoAutorizacaoFornecimento}`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório de todas os subitens da Medição';\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarRelatorioSolicitacaoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Relatorio/ListarRelatorioSolicitacao`,\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioSolicitacaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('BAIXAR_RELATORIO_TODAS_SOLICITACOES_REQUEST', BaixarRelatorioTodasSolicitacoesRequest),\r\n takeLatest('BAIXAR_RELATORIO_TODAS_AUTORIZACOES_REQUEST', BaixarRelatorioTodasAutorizacoesRequest),\r\n takeLatest('BAIXAR_RELATORIO_TODAS_MEDICOES_REQUEST', BaixarRelatorioTodasMedicoesRequest),\r\n takeLatest('BAIXAR_RELATORIO_TODOS_SUBITENS_REQUEST', BaixarRelatorioTodosSubitensRequest),\r\n takeLatest('LISTAR_RELATORIO_MEDICAO_SUBITEM_REQUEST', ListarRelatorioMedicaoSubItemRequest),\r\n takeLatest('LISTAR_RELATORIO_AUTORIZACAO_FORNECIMENTO_SUBITEM_REQUEST', ListarRelatorioAutorizacaoFornecimentoSubItemCustoRequest),\r\n takeLatest('LISTAR_DADOS_EXPORTAR_PDF_AUTORIZACAO_FORNECIMENTO_REQUEST', ListarDadosExportarPDFAutorizacaoFornecimentoRequest),\r\n takeLatest('LISTAR_DADOS_EXPORTAR_PDF_SOLICITACAO_FORNECIMENTO_REQUEST', ListarDadosExportarPDFSolicitacaoFornecimentoRequest),\r\n takeLatest('LISTAR_DADOS_EXPORTAR_PDF_EMPENHO_REQUEST', ListarDadosExportarPDFEmpenhoRequest),\r\n takeLatest('LISTAR_TODAS_FOTOS_COMPLETAS_AUTORIZACAO_FORNECIMENTO_REQUEST', ListarTodasFotosCompletasAutorizacaoFornecimentoRequest),\r\n takeLatest('LISTAR_DADOS_EXPORTAR_PDF_SOLICITACAO_FORNECIMENTO_EVENTO_REQUEST', ListarDadosExportarPDFSolicitacaoFornecimentoEventoRequest),\r\n takeLatest('LISTAR_DADOS_EXPORTAR_PDF_EMPENHO_BOLETIM_MEDICAO_REQUEST', ListarDadosExportarPDFEmpenhoBoletimMedicaoRequest),\r\n takeLatest('RELATORIO_EVENTO_RESPOSTA_REQUEST', RelatorioEventoRespostaRequest),\r\n takeLatest('RELATORIO_TODAS_MEDICAO_SUBITEMS_REQUEST', RelatorioTodasMedicaoSubItemsRequest),\r\n takeLatest('LISTAR_RELATORIO_STATUS_SOLICITACAO_REQUEST', ListarRelatorioStatusSolicitacaoRequest),\r\n takeLatest('LISTAR_RELATORIO_STATUS_AUTORIZACAO_REQUEST', ListarRelatorioStatusAutorizacaoRequest),\r\n takeLatest('LISTAR_RELATORIO_STATUS_MEDICAO_REQUEST', ListarRelatorioStatusMedicaoRequest),\r\n takeLatest('LISTAR_RELATORIO_STATUS_EMPENHO_REQUEST', ListarRelatorioStatusEmpenhoRequest),\r\n takeLatest('LISTAR_RELATORIO_SOLICITACAO_REQUEST', ListarRelatorioSolicitacaoRequest),\r\n takeLatest('BAIXAR_RELATORIO_TODOS_SUBITENS_TRO_REQUEST', BaixarRelatorioTodosSubitensTroRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarTipoSolicitacaoTipoDocumentoArquivoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport { ListarTipoSolicitacaoResponse } from '../tipoSolicitacao/actions';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarTipoSolicitacaoTipoDocumentoArquivoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/TipoSolicitacaoTipoDocumentoArquivo`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoSolicitacaoTipoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarTipoSolicitacaoTipoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n\r\n}\r\n\r\nfunction* InserirTipoSolicitacaoTipoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n // yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/TipoSolicitacaoTipoDocumentoArquivo`, model.data, { headers: headerParams.token });\r\n\r\n // const resultTipoDocumentoArquivo = yield call(api.get, `/api/TipoSolicitacaoTipoDocumentoArquivo`, { headers: headerParams.token });\r\n // const result = yield call(api.get, `/api/TipoSolicitacao`, { headers: headerParams.token });\r\n\r\n // yield put(ListarTipoSolicitacaoTipoDocumentoArquivoResponse(resultTipoDocumentoArquivo.data.result));\r\n // yield put(ListarTipoSolicitacaoResponse(result.data.result));\r\n\r\n // yield put(Carregando(true));\r\n\r\n toast.success(`O tipo documento arquivo foi incluido com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarTipoSolicitacaoTipoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/TipoSolicitacaoTipoDocumentoArquivo`, model.data, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Tipo documento arquivo alterado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n\r\n}\r\n\r\nfunction* ExcluirTipoSolicitacaoTipoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n // yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/TipoSolicitacaoTipoDocumentoArquivo/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`O tipo documento arquivo foi excluido com sucesso!`);\r\n\r\n // const result = yield call(api.get, `/api/TipoSolicitacao`, { headers: headerParams.token });\r\n // yield put(ListarTipoSolicitacaoResponse(result.data.result));\r\n\r\n // const resultTipoDocumentoArquivo = yield call(api.get, `/api/TipoSolicitacaoTipoDocumentoArquivo`, { headers: headerParams.token });\r\n // yield put(ListarTipoSolicitacaoTipoDocumentoArquivoResponse(resultTipoDocumentoArquivo.data.result));\r\n\r\n // yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_TIPO_SOLICITACAO_TIPO_DOCUMENTO_ARQUIVO_REQUEST', ListarTipoSolicitacaoTipoDocumentoArquivoRequest),\r\n takeLatest('INSERIR_TIPO_SOLICITACAO_TIPO_DOCUMENTO_ARQUIVO_REQUEST', InserirTipoSolicitacaoTipoDocumentoArquivoRequest),\r\n takeLatest('ALTERAR_TIPO_SOLICITACAO_TIPO_DOCUMENTO_ARQUIVO_REQUEST', AlterarTipoSolicitacaoTipoDocumentoArquivoRequest),\r\n takeLatest('EXCLUIR_TIPO_SOLICITACAO_TIPO_DOCUMENTO_ARQUIVO_REQUEST', ExcluirTipoSolicitacaoTipoDocumentoArquivoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { Carregando, ListarSolicitacaoFornecimentoRegistroFotograficoResponse } from './actions';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarCompletoSolicitacaoFornecimentoRegistroFotograficoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoRegistroFotografico/listarCompleto`,\r\n { IdSolicitacao: parseInt(model.idSolicitacao) }, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoRegistroFotograficoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ListarSolicitacaoFornecimentoRegistroFotograficoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarSolicitacaoFornecimentoRegistroFotograficoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoRegistroFotografico`, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoRegistroFotograficoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ListarSolicitacaoFornecimentoRegistroFotograficoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirSolicitacaoFornecimentoRegistroFotograficoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var resultId = yield call(api.post, `/api/SolicitacaoFornecimentoRegistroFotografico`, model.data, { headers: headerParams.token }); \r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoRegistroFotografico/listarCompleto`,\r\n { IdSolicitacao: parseInt(model.idSolicitacao) }, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoRegistroFotograficoResponse(result.data.result));\r\n \r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ' );\r\n });\r\n\r\n yield put(Carregando(true));\r\n\r\n toast.success('Registro(s) Fotográfico: ' + listaId + ' cadastrado(s) com sucesso!');\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarSolicitacaoFornecimentoRegistroFotograficoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/SolicitacaoFornecimentoRegistroFotografico`, model.data, { headers: headerParams.token }); \r\n \r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoRegistroFotografico/listarCompleto`,\r\n { IdSolicitacao: parseInt(model.idSolicitacao) }, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoRegistroFotograficoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Registro fotográfico alterado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirSolicitacaoFornecimentoRegistroFotograficoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/SolicitacaoFornecimentoRegistroFotografico/${model.id}/${'0'}`, { headers: headerParams.token });\r\n \r\n toast.success(`Registro fotográfico id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoRegistroFotografico/listarCompleto`,\r\n { IdSolicitacao: parseInt(model.idSolicitacao) }, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoRegistroFotograficoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarSolicitacaoFornecimentoRegistroFotograficoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarSolicitacaoFornecimentoRegistroFotograficoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/SolicitacaoFornecimentoRegistroFotografico/${model.id}`, { headers:headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result.nomeRegistroFotografico}${result.data.result.descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/SolicitacaoFornecimentoRegistroFotografico/${model.id}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n\r\n yield put(Carregando(true));\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(Carregando(true));\r\n yield put(ErrorResponse(e));\r\n }\r\n}\r\n\r\nfunction* CarregarImagemSolicitacaoFornecimentoRegistroFotograficoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n fetch(`${urlBase}/api/SolicitacaoFornecimentoRegistroFotografico/${model.id}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('img');\r\n elem.src = window.URL.createObjectURL(myBlob);\r\n document.getElementById(\"divImagemFotoSolicitacaoFornecimentoRegistroFotografico\").appendChild(elem).style.width = \"100%\"; \r\n });\r\n \r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_COMPLETO_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', ListarCompletoSolicitacaoFornecimentoRegistroFotograficoRequest),\r\n takeLatest('LISTAR_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', ListarSolicitacaoFornecimentoRegistroFotograficoRequest),\r\n takeLatest('INSERIR_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', InserirSolicitacaoFornecimentoRegistroFotograficoRequest),\r\n takeLatest('ALTERAR_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', AlterarSolicitacaoFornecimentoRegistroFotograficoRequest),\r\n takeLatest('EXCLUIR_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', ExcluirSolicitacaoFornecimentoRegistroFotograficoRequest),\r\n takeLatest('BAIXAR_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', BaixarSolicitacaoFornecimentoRegistroFotograficoRequest),\r\n takeLatest('CARREGAR_IMAGEM_SOLICITACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', CarregarImagemSolicitacaoFornecimentoRegistroFotograficoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport {\r\n BuscarAutorizacaoFornecimentoPorIdResponse,\r\n BuscarCompletoAutorizacaoFornecimentoResponse, Carregando,\r\n ListarAutorizacaoFornecimentoResponse, ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemResponse\r\n} from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarAutorizacaoFornecimentoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/AutorizacaoFornecimento`, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarAutorizacaoFornecimentoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimento/ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitem`,\r\n {\r\n IdEmpenho: model.idEmpenho,\r\n IdContrato: model.idContrato,\r\n IdFornecedor: model.idFornecedor\r\n }, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemResponse(result.data.result))\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirAutorizacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/AutorizacaoFornecimento`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/AutorizacaoFornecimento`, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Autorizacao Fornecimento foi cadastrado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarAutorizacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/AutorizacaoFornecimento`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/AutorizacaoFornecimento`, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Autorizacao Fornecimento foi atualizado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirAutorizacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/AutorizacaoFornecimento/${model.id}`, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/AutorizacaoFornecimento`, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Autorizacao Fornecimento id: ${model.id} foi excluido!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BuscarCompletoAutorizacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimento/listarCompleto`,\r\n { IdAutorizacaoFornecimento: model.idAutorizacaoFornecimento }, { headers: headerParams.token });\r\n\r\n if (result.data.result != null && result.data.result.length > 0) {\r\n yield put(BuscarCompletoAutorizacaoFornecimentoResponse(result.data.result[0]));\r\n }\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarCompletoAutorizacaoFornecimentoResponse(undefined));\r\n yield put(Carregando(true));\r\n\r\n }\r\n\r\n}\r\n\r\nfunction* BuscarAutorizacaoFornecimentoPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/AutorizacaoFornecimento/${model.idAutorizacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n if (result.data.result != null) {\r\n yield put(BuscarAutorizacaoFornecimentoPorIdResponse(result.data.result));\r\n }\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarCompletoAutorizacaoFornecimentoResponse(undefined));\r\n yield put(Carregando(true));\r\n\r\n }\r\n\r\n}\r\n\r\nfunction* ListarCompletoAutorizacaoFornecimentoComRedirecionamentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimento/listarCompleto`,\r\n { IdSolicitacaoFornecimento: model.idSolicitacaoFornecimento }, { headers: headerParams.token });\r\n\r\n if (result.data.result != null && result.data.result.length > 0) {\r\n history.push(`/alterarGeralAutorizacao/${result.data.result[0].id}`);\r\n }\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarAutorizacaoFornecimentoResponse([]));\r\n yield put(Carregando(true));\r\n }\r\n\r\n}\r\n\r\nfunction* ListarAutorizacaoFornecimentoDoEmpenhoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/AutorizacaoFornecimento/FiltroEmpenho/${model.idEmpenho}`, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarAutorizacaoFornecimentoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_AUTORIZACAO_FORNECIMENTO_REQUEST', ListarAutorizacaoFornecimentoRequest),\r\n takeLatest('INSERIR_AUTORIZACAO_FORNECIMENTO_REQUEST', InserirAutorizacaoFornecimentoRequest),\r\n takeLatest('EXCLUIR_AUTORIZACAO_FORNECIMENTO_REQUEST', ExcluirAutorizacaoFornecimentoRequest),\r\n takeLatest('ALTERAR_AUTORIZACAO_FORNECIMENTO_REQUEST', AlterarAutorizacaoFornecimentoRequest),\r\n takeLatest('LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_REQUEST', ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemRequest),\r\n takeLatest('BUSCAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_REQUEST', BuscarCompletoAutorizacaoFornecimentoRequest),\r\n takeLatest('LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_COM_REDIRECIONAMENTO_REQUEST', ListarCompletoAutorizacaoFornecimentoComRedirecionamentoRequest),\r\n takeLatest('BUSCAR_AUTORIZACAO_FORNECIMENTO_POR_ID_REQUEST', BuscarAutorizacaoFornecimentoPorIdRequest),\r\n takeLatest('LISTAR_AUTORIZACAO_DO_EMPENHO_FORNECIMENTO_REQUEST', ListarAutorizacaoFornecimentoDoEmpenhoRequest),\r\n])\r\n","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport {\r\n ListarAutorizacaoFornecimentoSubitemCustoResponse, BuscarAutorizacaoFornecimentoSubitemCustoPorIdResponse,\r\n Carregando, ListarCompletoAutorizacaoFornecimentoSubitemCustoResponse\r\n} from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\nimport { BuscarContratoVersaoPorIdResponse } from '../contratoVersao/actions';\r\nimport { ListarRelatorioMedicaoSubItemResponse } from '../relatorio/actions';\r\n\r\nfunction* BuscarAutorizacaoFornecimentoSubitemCustoPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/AutorizacaoFornecimentoSubitemCusto/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarAutorizacaoFornecimentoSubitemCustoPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarAutorizacaoFornecimentoSubitemCustoPorIdResponse(null));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarCompletoAutorizacaoFornecimentoSubitemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCusto/listarCompleto`,\r\n model.data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoAutorizacaoFornecimentoSubitemCustoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n //yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarAutorizacaoFornecimentoSubitemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCusto/listarCompleto`,\r\n model.data, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirAutorizacaoFornecimentoSubitemCustoComFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var dataId = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCusto`, model.data, { headers: headerParams.token });\r\n\r\n if(dataId !== null){\r\n for (var x = 0; x < dataId.data.result.length; x++) {\r\n var resultId = yield call(api.post, `/api/RegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/${dataId.data.result[x]}/AutorizacaoFornecimentoSubitem`, model.formData, { headers: headerParams.token });\r\n }\r\n }\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': parseInt(model.data.IdAutorizacaoFornecimento)\r\n }\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCusto/listarCompleto`,\r\n data, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse(result.data.result));\r\n\r\n const resultContratoVersao = yield call(api.get, `/api/ContratoVersao/${model.idContratoVersao}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoVersaoPorIdResponse(resultContratoVersao.data.result));\r\n\r\n toast.success(`Autorização Fornecimento Subitem Custo foi cadastrado com sucesso!`);\r\n //Atualizando o Exportar\r\n const resultExportar = yield call(api.post, `/api/Relatorio/ListarRelatorioMedicaoSubItem`, {\r\n 'IdAutorizacaoFornecimento': parseInt(model.data.IdAutorizacaoFornecimento)\r\n }, { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse(resultExportar.data.result))\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n const resultContratoVersao = yield call(api.get, `/api/ContratoVersao/${model.idContratoVersao}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoVersaoPorIdResponse(resultContratoVersao.data.result));\r\n }\r\n\r\n //yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse([]));\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirAutorizacaoFornecimentoSubitemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCusto`, model.data, { headers: headerParams.token });\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': parseInt(model.data.IdAutorizacaoFornecimento)\r\n }\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCusto/listarCompleto`,\r\n data, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse(result.data.result));\r\n\r\n const resultContratoVersao = yield call(api.get, `/api/ContratoVersao/${model.idContratoVersao}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoVersaoPorIdResponse(resultContratoVersao.data.result));\r\n\r\n toast.success(`Autorização Fornecimento Subitem Custo foi cadastrado com sucesso!`);\r\n //Atualizando o Exportar\r\n const resultExportar = yield call(api.post, `/api/Relatorio/ListarRelatorioMedicaoSubItem`, {\r\n 'IdAutorizacaoFornecimento': parseInt(model.data.IdAutorizacaoFornecimento)\r\n }, { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse(resultExportar.data.result))\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n const resultContratoVersao = yield call(api.get, `/api/ContratoVersao/${model.idContratoVersao}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoVersaoPorIdResponse(resultContratoVersao.data.result));\r\n }\r\n\r\n //yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse([]));\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\n\r\nfunction* AlterarAutorizacaoFornecimentoSubitemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n // Alterar Subitem Autorização\r\n yield call(api.put, `/api/AutorizacaoFornecimentoSubitemCusto`, model.data, { headers: headerParams.token });\r\n\r\n // Listar Subitem Autorização\r\n var data = {\r\n 'IdAutorizacaoFornecimento': parseInt(model.data.IdAutorizacaoFornecimento)\r\n }\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCusto/listarCompleto`,\r\n data, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse(result.data.result));\r\n\r\n toast.success(`Autorização Fornecimento Subitem Custo foi atualizado com sucesso!`);\r\n //Atualizando o Exportar\r\n const resultExportar = yield call(api.post, `/api/Relatorio/ListarRelatorioMedicaoSubItem`, {\r\n 'IdAutorizacaoFornecimento': parseInt(model.data.IdAutorizacaoFornecimento)\r\n }, { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse(resultExportar.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n //yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse([]));\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirAutorizacaoFornecimentoSubitemCustoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/AutorizacaoFornecimentoSubitemCusto/${model.data.Id}`, { headers: headerParams.token });\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': parseInt(model.data.IdAutorizacaoFornecimento)\r\n }\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCusto/listarCompleto`,\r\n data, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Autorização Fornecimento Subitem Custo id: ${model.data.Id} foi excluido!`);\r\n\r\n //Atualizando o Exportar\r\n const resultExportar = yield call(api.post, `/api/Relatorio/ListarRelatorioMedicaoSubItem`, {\r\n 'IdAutorizacaoFornecimento': parseInt(model.data.IdAutorizacaoFornecimento)\r\n }, { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse(resultExportar.data.result));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_REQUEST', ListarAutorizacaoFornecimentoSubitemCustoRequest),\r\n takeLatest('LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_REQUEST', ListarCompletoAutorizacaoFornecimentoSubitemCustoRequest),\r\n takeLatest('INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_REQUEST', InserirAutorizacaoFornecimentoSubitemCustoRequest),\r\n takeLatest('EXCLUIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_REQUEST', ExcluirAutorizacaoFornecimentoSubitemCustoRequest),\r\n takeLatest('ALTERAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_REQUEST', AlterarAutorizacaoFornecimentoSubitemCustoRequest),\r\n takeLatest('BUSCAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_POR_ID_REQUEST', BuscarAutorizacaoFornecimentoSubitemCustoPorIdRequest),\r\n takeLatest('INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_COM_FOTO_REQUEST', InserirAutorizacaoFornecimentoSubitemCustoComFotoRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { ListarMedicaoAutorizacaoFornecimentoResponse, BuscarMedicaoAutorizacaoFornecimentoPorIdResponse, Carregando, ListarTodasMedicaoAutorizacaoFornecimentoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarTodasMedicaoAutorizacaoFornecimentoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimento/listarTodasCompletoPaginacao`,\r\n {\r\n Pagina: 1,\r\n NumeroPorPagina: 10\r\n }, { headers: headerParams.token });\r\n\r\n yield put(ListarTodasMedicaoAutorizacaoFornecimentoResponse(result.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarTodasMedicaoAutorizacaoFornecimentoResponse([]));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\n\r\nfunction* ListarMedicaoAutorizacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimento/listarCompleto`,\r\n { IdAutorizacaoFornecimento: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoResponse([]));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirMedicaoAutorizacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/MedicaoAutorizacaoFornecimento`, model.data, { headers: headerParams.token });\r\n\r\n //history.push(`/autorizacaoFornecimento`);\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimento/listarCompleto`,\r\n { IdAutorizacaoFornecimento: parseInt(model.data.IdAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoResponse(result.data.result));\r\n\r\n const resultTodas = yield call(api.post, `/api/MedicaoAutorizacaoFornecimento/listarTodasCompletoPaginacao`, {\r\n Pagina: 1,\r\n NumeroPorPagina: 10\r\n }, { headers: headerParams.token });\r\n yield put(ListarTodasMedicaoAutorizacaoFornecimentoResponse(resultTodas.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Medicao Autorizacao Fornecimento foi cadastrado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n }\r\n\r\n //yield put(ListarMedicaoAutorizacaoFornecimentoResponse([]));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* AlterarMedicaoAutorizacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/MedicaoAutorizacaoFornecimento`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimento/listarCompleto`,\r\n { IdAutorizacaoFornecimento: parseInt(model.data.IdAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoResponse(result.data.result));\r\n\r\n const resultTodas = yield call(api.post, `/api/MedicaoAutorizacaoFornecimento/listarTodasCompletoPaginacao`, {\r\n Pagina: 1,\r\n NumeroPorPagina: 10\r\n }, { headers: headerParams.token });\r\n yield put(ListarTodasMedicaoAutorizacaoFornecimentoResponse(resultTodas.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Medicao Autorizacao Fornecimento foi atualizado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n }\r\n\r\n //yield put(ListarMedicaoAutorizacaoFornecimentoResponse([]));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ExcluirMedicaoAutorizacaoFornecimentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/MedicaoAutorizacaoFornecimento/${model.data.Id}`, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimento/listarCompleto`,\r\n { IdAutorizacaoFornecimento: parseInt(model.data.IdAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoResponse(result.data.result));\r\n\r\n const resultTodas = yield call(api.post, `/api/MedicaoAutorizacaoFornecimento/listarTodasCompletoPaginacao`, {\r\n Pagina: 1,\r\n NumeroPorPagina: 10\r\n }, { headers: headerParams.token });\r\n yield put(ListarTodasMedicaoAutorizacaoFornecimentoResponse(resultTodas.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Medicao Autorizacao Fornecimento id: ${model.id} foi excluido!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n //yield put(ListarMedicaoAutorizacaoFornecimentoResponse([]));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BuscarMedicaoAutorizacaoFornecimentoPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/MedicaoAutorizacaoFornecimento/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarMedicaoAutorizacaoFornecimentoPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(BuscarMedicaoAutorizacaoFornecimentoPorIdResponse(null));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REQUEST', ListarMedicaoAutorizacaoFornecimentoRequest),\r\n takeLatest('INSERIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REQUEST', InserirMedicaoAutorizacaoFornecimentoRequest),\r\n takeLatest('EXCLUIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REQUEST', ExcluirMedicaoAutorizacaoFornecimentoRequest),\r\n takeLatest('ALTERAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REQUEST', AlterarMedicaoAutorizacaoFornecimentoRequest),\r\n takeLatest('BUSCAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_POR_ID_REQUEST', BuscarMedicaoAutorizacaoFornecimentoPorIdRequest),\r\n takeLatest('LISTAR_TODAS_MEDICAO_AUTORIZACAO_FORNECIMENTO_REQUEST', ListarTodasMedicaoAutorizacaoFornecimentoRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarStatusSolicitacaoFornecimentoResponse, ListarStatusSolicitacaoFornecimentoCompletoResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarStatusSolicitacaoFornecimentoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/StatusSolicitacaoFornecimento`, { headers: headerParams.token });\r\n\r\n yield put(ListarStatusSolicitacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n } catch (e) {\r\n\r\n yield put(ListarStatusSolicitacaoFornecimentoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ListarStatusSolicitacaoFornecimentoCompletoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/StatusSolicitacaoFornecimento/ListarCompleto`, {idSolicitacaoFornecimento: model.idSolicitacaoFornecimento}, { headers: headerParams.token });\r\n\r\n yield put(ListarStatusSolicitacaoFornecimentoCompletoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n } catch (e) {\r\n\r\n yield put(ListarStatusSolicitacaoFornecimentoCompletoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_STATUS_SOLICITACAO_FORNECIMENTO_REQUEST', ListarStatusSolicitacaoFornecimentoRequest),\r\n takeLatest('LISTAR_STATUS_SOLICITACAO_FORNECIMENTO_COMPLETO_REQUEST', ListarStatusSolicitacaoFornecimentoCompletoRequest)\r\n ])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { Carregando, ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoResponse } from './actions';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoDocumentoArquivo/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var resultId = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoDocumentoArquivo`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoDocumentoArquivo/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoResponse(result.data.result));\r\n \r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ' );\r\n });\r\n \r\n yield put(Carregando(true));\r\n\r\n toast.success('Documentos id: ' + listaId + ' cadastrados com sucesso!');\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n }\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/MedicaoAutorizacaoFornecimentoDocumentoArquivo`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Documentos atualizado com sucesso!`);\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoDocumentoArquivo/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ExcluirMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/MedicaoAutorizacaoFornecimentoDocumentoArquivo/${model.id}/${'0'}`, { headers: headerParams.token });\r\n\r\n toast.success(`Documento id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoDocumentoArquivo/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.idMedicao) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* BaixarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/MedicaoAutorizacaoFornecimentoDocumentoArquivo/${model.id}`, { headers:headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result.nomeArquivo}${result.data.result.descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/MedicaoAutorizacaoFornecimentoDocumentoArquivo/${model.id}/${'0'}/baixar`, {headers: headerParams.token})\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST', ListarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest),\r\n takeLatest('INSERIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST', InserirMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest),\r\n takeLatest('ALTERAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST', AlterarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest),\r\n takeLatest('EXCLUIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST', ExcluirMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest),\r\n takeLatest('BAIXAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_DOCUMENTO_ARQUIVO_REQUEST', BaixarMedicaoAutorizacaoFornecimentoDocumentoArquivoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarStatusAutorizacaoFornecimentoResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarStatusAutorizacaoFornecimentoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/StatusAutorizacaoFornecimento`, { headers: headerParams.token });\r\n\r\n yield put(ListarStatusAutorizacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarStatusAutorizacaoFornecimentoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_STATUS_AUTORIZACAO_FORNECIMENTO_REQUEST', ListarStatusAutorizacaoFornecimentoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport {\r\n Carregando, ListarAutorizacaoFornecimentoStatusResponse,\r\n ListarCompletoAutorizacaoFornecimentoStatusResponse,\r\n ModalConfimacaoStatusFinalizado\r\n} from './actions';\r\nimport { ListarMedicaoAutorizacaoFornecimentoResponse } from '../medicaoAutorizacaoFornecimento/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarAutorizacaoFornecimentoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': model.IdAutorizacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarAutorizacaoFornecimentoStatusResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarCompletoAutorizacaoFornecimentoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': model.IdAutorizacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarCompletoAutorizacaoFornecimentoStatusResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirAutorizacaoFornecimentoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n if (model.validacao) {\r\n\r\n yield call(api.post, `/api/AutorizacaoFornecimentoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status finalizado!`);\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': model.IdAutorizacaoFornecimento\r\n }\r\n\r\n // Buscar lista de status\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n\r\n // Buscar lista de status completo para o histórico\r\n\r\n const resultCompleto = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n\r\n // Listando medições atualizadas:\r\n const resultMedicao = yield call(api.post, `/api/MedicaoAutorizacaoFornecimento/listarStatusAtuais`,\r\n { IdAutorizacaoFornecimento: parseInt(model.IdAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoResponse(resultMedicao.data.result));\r\n\r\n } else {\r\n\r\n // Validar Saldo\r\n const resultValidar = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/verificarConsumidoAutorizacao`, model.data, { headers: headerParams.token });\r\n\r\n var valida = resultValidar.data.result;\r\n\r\n if (valida) {\r\n\r\n yield put(ModalConfimacaoStatusFinalizado(resultValidar.data.result));\r\n\r\n } else {\r\n\r\n yield call(api.post, `/api/AutorizacaoFornecimentoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status finalizado!`);\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': model.IdAutorizacaoFornecimento\r\n }\r\n\r\n // Buscar lista de status\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n\r\n // Buscar lista de status completo para o histórico\r\n\r\n const resultCompleto = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n\r\n // Listando medições atualizadas:\r\n const resultMedicao = yield call(api.post, `/api/MedicaoAutorizacaoFornecimento/listarStatusAtuais`,\r\n { IdAutorizacaoFornecimento: parseInt(model.IdAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoResponse(resultMedicao.data.result));\r\n }\r\n }\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarAutorizacaoFornecimentoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/AutorizacaoFornecimentoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status foi Alterado!`);\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': model.IdAutorizacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n\r\n // Buscar lista de status completo para o histórico\r\n\r\n const resultCompleto = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirAutorizacaoFornecimentoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/AutorizacaoFornecimentoStatus/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n\r\n toast.success(`O ultimo Status foi excluido!`);\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': model.id\r\n }\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n\r\n // Buscar lista de status completo para o histórico\r\n\r\n const resultCompleto = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n\r\n}\r\n\r\nfunction* ExcluirAutorizacaoFornecimentoStatusReabrirAutorizacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/AutorizacaoFornecimentoStatus/ReabrirAutorizacao/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n\r\n toast.success(`O ultimo Status foi excluido!`);\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': model.id\r\n }\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n\r\n // Buscar lista de status completo para o histórico\r\n\r\n const resultCompleto = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST', ListarAutorizacaoFornecimentoStatusRequest),\r\n takeLatest('LISTAR_COMPLETO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST', ListarCompletoAutorizacaoFornecimentoStatusRequest),\r\n takeLatest('INSERIR_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST', InserirAutorizacaoFornecimentoStatusRequest),\r\n takeLatest('ALTERAR_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST', AlterarAutorizacaoFornecimentoStatusRequest),\r\n takeLatest('EXCLUIR_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST', ExcluirAutorizacaoFornecimentoStatusRequest),\r\n takeLatest('EXCLUIR_AUTORIZACAO_FORNECIMENTO_STATUS_REABRIR_AUTORIZACAO_REQUEST', ExcluirAutorizacaoFornecimentoStatusReabrirAutorizacaoRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarStatusMedicaoAutorizacaoFornecimentoResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarStatusMedicaoAutorizacaoFornecimentoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/StatusMedicaoAutorizacaoFornecimento`, { headers: headerParams.token });\r\n\r\n yield put(ListarStatusMedicaoAutorizacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n } catch (e) {\r\n\r\n yield put(ListarStatusMedicaoAutorizacaoFornecimentoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_STATUS_MEDICAO_AUTORIZACAO_FORNECIMENTO_REQUEST', ListarStatusMedicaoAutorizacaoFornecimentoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport {\r\n Carregando, ListarMedicaoAutorizacaoFornecimentoStatusResponse,\r\n ValidarMedicaoAutorizacaoFornecimentoStatusResponse, ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse\r\n} from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarMedicaoAutorizacaoFornecimentoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdMedicaoAutorizacaoFornecimento': model.IdMedicaoAutorizacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoStatusResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarCompletoMedicaoAutorizacaoFornecimentoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdMedicaoAutorizacaoFornecimento': model.IdMedicaoAutorizacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirMedicaoAutorizacaoFornecimentoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n if (model.validacao) {\r\n\r\n //Inserir Status\r\n yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status finalizado!`);\r\n\r\n var data = {\r\n 'IdMedicaoAutorizacaoFornecimento': parseInt(model.IdMedicaoAutorizacaoFornecimento)\r\n }\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n\r\n yield put(ValidarMedicaoAutorizacaoFornecimentoStatusResponse(null));\r\n\r\n //Listar status completo para o histórico de status\r\n const resultCompleto = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n\r\n } else {\r\n // Validar Saldo\r\n const resultValidar = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/validar`, model.data, { headers: headerParams.token });\r\n\r\n var valida = false;\r\n var lista = resultValidar.data.result;\r\n lista.forEach(element => {\r\n if (element.saldoContratoAlemExcedente === true)\r\n valida = true;\r\n if (element.saldoAutorizacaoExcedente === true)\r\n valida = true;\r\n });\r\n\r\n if (valida) {\r\n\r\n yield put(ValidarMedicaoAutorizacaoFornecimentoStatusResponse(resultValidar.data.result));\r\n\r\n } else {\r\n //Inserir Status\r\n yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status finalizado!`);\r\n\r\n var data = {\r\n 'IdMedicaoAutorizacaoFornecimento': parseInt(model.IdMedicaoAutorizacaoFornecimento)\r\n }\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n\r\n yield put(ValidarMedicaoAutorizacaoFornecimentoStatusResponse(null));\r\n\r\n //Listar status completo para o histórico de status\r\n const resultCompleto = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n }\r\n }\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarMedicaoAutorizacaoFornecimentoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/MedicaoAutorizacaoFornecimentoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status foi Alterado!`);\r\n\r\n var data = {\r\n 'IdMedicaoAutorizacaoFornecimento': model.IdMedicaoAutorizacaoFornecimento\r\n }\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n\r\n //Listar status completo para o histórico de status\r\n const resultCompleto = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirMedicaoAutorizacaoFornecimentoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdMedicaoAutorizacaoFornecimento': model.IdMedicaoAutorizacaoFornecimento\r\n }\r\n\r\n yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/ExcluirCompleto`, data, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Status excluido!`);\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n\r\n //Listar status completo para o histórico de status\r\n const resultCompleto = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n\r\n}\r\n\r\nfunction* ReabrirMedicaoAutorizacaoFornecimentoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var result = yield call(api.post, `/api/AutorizacaoFornecimentoStatus/ListarCompleto`,\r\n { 'IdAutorizacaoFornecimento': model.idAutorizacaoFornecimento }, { headers: headerParams.token });\r\n\r\n if (result.data.result.length > 0 && result.data.result[result.data.result.length - 1].statusAutorizacaoFornecimento.finalizaAutorizacao == false) {\r\n\r\n yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/ReabrirAutorizacaoFornecimentoStatus`,\r\n model.data, { headers: headerParams.token });\r\n\r\n // listar tudo dnvo\r\n var data = {\r\n 'IdMedicaoAutorizacaoFornecimento': parseInt(model.data.IdMedicaoAutorizacaoFornecimento)\r\n }\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoStatusResponse(result.data.result));\r\n\r\n //Listar status completo para o histórico de status\r\n var resultCompleto = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n\r\n } else {\r\n toast.success(`Não é possível reabrir medição sendo que a AF está finalizada!`);\r\n }\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST', ListarMedicaoAutorizacaoFornecimentoStatusRequest),\r\n takeLatest('LISTAR_COMPLETO_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST', ListarCompletoMedicaoAutorizacaoFornecimentoStatusRequest),\r\n takeLatest('INSERIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST', InserirMedicaoAutorizacaoFornecimentoStatusRequest),\r\n takeLatest('ALTERAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST', AlterarMedicaoAutorizacaoFornecimentoStatusRequest),\r\n takeLatest('EXCLUIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST', ExcluirMedicaoAutorizacaoFornecimentoStatusRequest),\r\n takeLatest('REABRIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_STATUS_REQUEST', ReabrirMedicaoAutorizacaoFornecimentoStatusRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport {\r\n Carregando, ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoResponse} from './actions';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoRegistroFotografico/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var resultId = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoRegistroFotografico`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoRegistroFotografico/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoResponse(result.data.result));\r\n \r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ' );\r\n });\r\n \r\n yield put(Carregando(true));\r\n\r\n toast.success('Foto id: ' + listaId + ' cadastrada com sucesso!');\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n }\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* AlterarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/MedicaoAutorizacaoFornecimentoRegistroFotografico`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoRegistroFotografico/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Foto cadastrada com sucesso!`); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ExcluirMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/MedicaoAutorizacaoFornecimentoRegistroFotografico/${model.id}/${'0'}`, { headers: headerParams.token });\r\n\r\n toast.success(`Documento id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoRegistroFotografico/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.idMedicao) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n \r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* BaixarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/MedicaoAutorizacaoFornecimentoRegistroFotografico/${model.id}`, { headers:headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result.nomeRegistroFotografico}${result.data.result.descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/MedicaoAutorizacaoFornecimentoRegistroFotografico/${model.id}/${'0'}/baixar`, {headers: headerParams.token})\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* CarregarImagemMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n fetch(`${urlBase}/api/MedicaoAutorizacaoFornecimentoRegistroFotografico/${model.id}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('img');\r\n elem.src = window.URL.createObjectURL(myBlob);\r\n document.getElementById(\"divImagemFotoMedicaoAutorizacaoFornecimento\").appendChild(elem).style.width = \"100%\"; \r\n });\r\n \r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', ListarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest),\r\n takeLatest('INSERIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', InserirMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest),\r\n takeLatest('ALTERAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', AlterarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest),\r\n takeLatest('EXCLUIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', ExcluirMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest),\r\n takeLatest('BAIXAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', BaixarMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest),\r\n takeLatest('CARREGAR_IMAGEM_MEDICAO_AUTORIZACAO_FORNECIMENTO_REGISTRO_FOTOGRAFICO_REQUEST', CarregarImagemMedicaoAutorizacaoFornecimentoRegistroFotograficoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport {\r\n ListarAutorizacaoFornecimentoSubitemCustoMedicaoResponse,\r\n BuscarAutorizacaoFornecimentoSubitemCustoMedicaoPorIdResponse, Carregando\r\n} from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport {\r\n BuscarContratoVersaoPorIdResponse\r\n} from '../contratoVersao/actions';\r\nimport {\r\n ListarAutorizacaoFornecimentoSubitemCustoResponse,\r\n ListarCompletoAutorizacaoFornecimentoSubitemCustoResponse\r\n} from '../autorizacaoFornecimentoSubitemCusto/actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\nimport { ListarRelatorioMedicaoSubItemResponse } from '../relatorio/actions';\r\nimport { BuscarMedicaoAutorizacaoFornecimentoPorIdResponse } from '../medicaoAutorizacaoFornecimento/actions';\r\nimport { ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse, ListarMedicaoAutorizacaoFornecimentoStatusResponse } from '../medicaoAutorizacaoFornecimentoStatus/actions';\r\n\r\nfunction* ListarAutorizacaoFornecimentoSubitemCustoMedicaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicao/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoResponse([]));\r\n yield put(Carregando(true));\r\n yield put(ErrorResponse(e));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirAutorizacaoFornecimentoSubitemCustoMedicaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const idSubItem = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicao`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicao/listarCompleto`,\r\n { 'IdMedicaoAutorizacaoFornecimento': parseInt(model.data.IdMedicaoAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoResponse(result.data.result));\r\n\r\n var retorno = yield call(api.post, `/api/Relatorio/ListarRelatorioMedicaoSubItem`,\r\n { 'IdAutorizacaoFornecimento': model.idAutorizacaoFornecimento }, { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse(retorno.data.result));\r\n\r\n const resultAuto = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCusto/listarCompleto`,\r\n { 'IdAutorizacaoFornecimento': model.idAutorizacaoFornecimento }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse(resultAuto.data.result));\r\n\r\n // LISTAR STATUS\r\n var data = {\r\n 'IdMedicaoAutorizacaoFornecimento': model.data.IdMedicaoAutorizacaoFornecimento\r\n }\r\n\r\n const resultStatus = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoStatusResponse(resultStatus.data.result));\r\n\r\n //Listar status completo para o histórico de status\r\n const resultCompleto = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n\r\n const resultMed = yield call(api.get, `/api/MedicaoAutorizacaoFornecimento/${model.data.IdMedicaoAutorizacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarMedicaoAutorizacaoFornecimentoPorIdResponse(resultMed.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Item medição foi inserido sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n }\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* AlterarAutorizacaoFornecimentoSubitemCustoMedicaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/AutorizacaoFornecimentoSubitemCustoMedicao`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Autorizacao Fornecimento Item Custo Medicao foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicao/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.data.IdMedicaoAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoResponse(result.data.result));\r\n\r\n var retorno = yield call(api.post, `/api/Relatorio/ListarRelatorioMedicaoSubItem`,\r\n { 'IdAutorizacaoFornecimento': model.idAutorizacaoFornecimento }, { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse(retorno.data.result));\r\n\r\n const resultMedicao = yield call(api.get, `/api/MedicaoAutorizacaoFornecimento/${model.data.IdMedicaoAutorizacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarMedicaoAutorizacaoFornecimentoPorIdResponse(resultMedicao.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n }\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/AutorizacaoFornecimentoSubitemCustoMedicao/${model.data.id}`, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicao/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.data.idMedicaoAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Autorizacao Fornecimento Item Custo Medicao id: ${model.id} foi excluido!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BuscarAutorizacaoFornecimentoSubitemCustoMedicaoPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/AutorizacaoFornecimentoSubitemCustoMedicao/${model.idAutorizacaoFornecimentoSubitemCustoMedicao}`, { headers: headerParams.token });\r\n\r\n if (result.data.result != null) {\r\n yield put(BuscarAutorizacaoFornecimentoSubitemCustoMedicaoPorIdResponse(result.data.result));\r\n }\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarAutorizacaoFornecimentoSubitemCustoMedicaoPorIdResponse(undefined));\r\n yield put(Carregando(true));\r\n\r\n }\r\n\r\n}\r\n\r\nfunction* InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoComFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var dadosResquest = {\r\n IdAutorizacaoFornecimentoSubitemCusto: model.dados,\r\n IdAutorizacaoFornecimento: parseInt(model.idAutorizacaoFornecimento)\r\n }\r\n\r\n if(model.dados !== null){\r\n var dataAfSubitem = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCusto/ListaId`, dadosResquest, { headers: headerParams.token });\r\n }\r\n\r\n var dataId = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicao/inserirSubitemMedicaoSemAutorizacao`, model.data, { headers: headerParams.token });\r\n\r\n if(model.dados !== null){\r\n for (var x = 0; x < model.dados.length; x++) {\r\n\r\n var dataAfMedicaoSubitem = yield call(api.get, `/api/AutorizacaoFornecimentoSubitemCustoMedicao/${dataId.data.result[x]}`, { headers: headerParams.token });\r\n\r\n var dataAfSubitemAtual = yield call(api.get, `/api/AutorizacaoFornecimentoSubitemCusto/${dataAfMedicaoSubitem.data.result.idAutorizacaoFornecimentoSubitemCusto}`, { headers: headerParams.token });\r\n\r\n if(dataAfSubitem && dataAfSubitem.data && dataAfSubitem.data.result && dataAfSubitemAtual && dataAfSubitemAtual.data && dataAfSubitemAtual.data.result &&\r\n (dataAfSubitemAtual.data.result.quantidade > dataAfSubitem.data.result.filter(x => x.idSubitemCusto == dataAfSubitemAtual.data.result.idSubitemCusto)[0].quantidade ||\r\n model.data.filter(x => x.IdSubItemCusto == dataAfSubitemAtual.data.result.idSubitemCusto)[0].Quantidade > dataAfSubitem.data.result.filter(x => x.idSubitemCusto == dataAfSubitemAtual.data.result.idSubitemCusto)[0].quantidade) ||\r\n model.valorSubitemMedicoes > model.valorEcedente){\r\n var resultId = yield call(api.post, `/api/RegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/${dataAfSubitemAtual.data.result.id}/AutorizacaoFornecimentoSubitem`, model.formData, { headers: headerParams.token });\r\n }\r\n \r\n }\r\n }else{\r\n if(dataId !== null){\r\n for (var x = 0; x < dataId.data.result.length; x++) {\r\n var resultId = yield call(api.post, `/api/RegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/${dataId.data.result[x]}/AutorizacaoFornecimentoSubitemMedicao`, model.formData, { headers: headerParams.token });\r\n }\r\n }\r\n }\r\n \r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicao/listarCompleto`,\r\n { 'IdMedicaoAutorizacaoFornecimento': parseInt(model.data[0].IdMedicaoAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoResponse(result.data.result));\r\n\r\n var retorno = yield call(api.post, `/api/Relatorio/ListarRelatorioMedicaoSubItem`,\r\n { 'IdAutorizacaoFornecimento': model.idAutorizacaoFornecimento }, { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse(retorno.data.result));\r\n\r\n const resultAuto = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCusto/listarCompleto`,\r\n { 'IdAutorizacaoFornecimento': model.idAutorizacaoFornecimento }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse(resultAuto.data.result));\r\n yield put(ListarCompletoAutorizacaoFornecimentoSubitemCustoResponse(resultAuto.data.result));\r\n\r\n const resultContratoVersao = yield call(api.get, `/api/ContratoVersao/${model.idContratoVersao}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoVersaoPorIdResponse(resultContratoVersao.data.result));\r\n\r\n // LISTAR STATUS\r\n var data = {\r\n 'IdMedicaoAutorizacaoFornecimento': model.data[0].IdMedicaoAutorizacaoFornecimento\r\n }\r\n\r\n const resultStatus = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoStatusResponse(resultStatus.data.result));\r\n\r\n //Listar status completo para o histórico de status\r\n const resultCompleto = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n\r\n const resultMed = yield call(api.get, `/api/MedicaoAutorizacaoFornecimento/${model.data[0].IdMedicaoAutorizacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarMedicaoAutorizacaoFornecimentoPorIdResponse(resultMed.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Item medição foi inserido sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n }\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicao/inserirSubitemMedicaoSemAutorizacao`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicao/listarCompleto`,\r\n { 'IdMedicaoAutorizacaoFornecimento': parseInt(model.data[0].IdMedicaoAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoResponse(result.data.result));\r\n\r\n var retorno = yield call(api.post, `/api/Relatorio/ListarRelatorioMedicaoSubItem`,\r\n { 'IdAutorizacaoFornecimento': model.idAutorizacaoFornecimento }, { headers: headerParams.token });\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse(retorno.data.result));\r\n\r\n const resultAuto = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCusto/listarCompleto`,\r\n { 'IdAutorizacaoFornecimento': model.idAutorizacaoFornecimento }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoResponse(resultAuto.data.result));\r\n yield put(ListarCompletoAutorizacaoFornecimentoSubitemCustoResponse(resultAuto.data.result));\r\n\r\n const resultContratoVersao = yield call(api.get, `/api/ContratoVersao/${model.idContratoVersao}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoVersaoPorIdResponse(resultContratoVersao.data.result));\r\n\r\n // LISTAR STATUS\r\n var data = {\r\n 'IdMedicaoAutorizacaoFornecimento': model.data[0].IdMedicaoAutorizacaoFornecimento\r\n }\r\n\r\n const resultStatus = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoStatusResponse(resultStatus.data.result));\r\n\r\n //Listar status completo para o histórico de status\r\n const resultCompleto = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoMedicaoAutorizacaoFornecimentoStatusResponse(resultCompleto.data.result));\r\n\r\n const resultMed = yield call(api.get, `/api/MedicaoAutorizacaoFornecimento/${model.data[0].IdMedicaoAutorizacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarMedicaoAutorizacaoFornecimentoPorIdResponse(resultMed.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Item medição foi inserido sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n }\r\n\r\n yield put(ListarRelatorioMedicaoSubItemResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_REQUEST', ListarAutorizacaoFornecimentoSubitemCustoMedicaoRequest),\r\n takeLatest('INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_REQUEST', InserirAutorizacaoFornecimentoSubitemCustoMedicaoRequest),\r\n takeLatest('EXCLUIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_REQUEST', ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoRequest),\r\n takeLatest('ALTERAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_REQUEST', AlterarAutorizacaoFornecimentoSubitemCustoMedicaoRequest),\r\n takeLatest('BUSCAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_POR_ID_REQUEST', BuscarAutorizacaoFornecimentoSubitemCustoMedicaoPorIdRequest),\r\n takeLatest('INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_SEM_AUTORIZACAO_REQUEST', InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoRequest),\r\n takeLatest('INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_SEM_AUTORIZACAO_COM_FOTO_REQUEST', InserirAutorizacaoFornecimentoSubitemCustoMedicaoSemAutorizacaoComFotoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { Carregando, ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqResponse } from './actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\n\r\nfunction* ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoDocArq/listarCompleto`,\r\n { IdMedicaoSubItem: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* InserirAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var resultId = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoDocArq`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoDocArq/listarCompleto`,\r\n { IdMedicaoSubItem: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqResponse(result.data.result));\r\n \r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ' );\r\n });\r\n \r\n yield put(Carregando(true));\r\n\r\n toast.success('Documentos id: ' + listaId + ' cadastrados com sucesso!');\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n }\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqResponse([])); \r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoDocArq`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Documentos atualizado com sucesso!`);\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoDocArq/listarCompleto`,\r\n { IdMedicaoSubItem: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqResponse([])); \r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoDocArq/${model.id}/${'0'}`, { headers: headerParams.token });\r\n\r\n toast.success(`Documento id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoDocArq/listarCompleto`,\r\n { IdMedicaoSubItem: parseInt(model.idMedicao) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqResponse([])); \r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoDocArq/${model.id}`, { headers:headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result.nomeArquivo}${result.data.result.descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/AutorizacaoFornecimentoSubitemCustoMedicaoDocArq/${model.id}/${'0'}/baixar`, {headers: headerParams.token})\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n \r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_DOC_ARQ_REQUEST', ListarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest),\r\n takeLatest('INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_DOC_ARQ_REQUEST', InserirAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest),\r\n takeLatest('ALTERAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_DOC_ARQ_REQUEST', AlterarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest),\r\n takeLatest('EXCLUIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_DOC_ARQ_REQUEST', ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest),\r\n takeLatest('BAIXAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_DOC_ARQ_REQUEST', BaixarAutorizacaoFornecimentoSubitemCustoMedicaoDocArqRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { ListarMedicaoAutorizacaoFornecimentoOcorrenciaResponse, \r\n BuscarMedicaoAutorizacaoFornecimentoOcorrenciaPorIdResponse, Carregando } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\n\r\nfunction* ListarMedicaoAutorizacaoFornecimentoOcorrenciaRequest(model){\r\n\r\n try {\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoOcorrencia/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n \r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaResponse([]));\r\n yield put(Carregando(true)); \r\n yield put(ErrorResponse(e)); \r\n\r\n }\r\n}\r\n\r\nfunction* InserirMedicaoAutorizacaoFornecimentoOcorrenciaRequest(model){\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoOcorrencia`, model.data, { headers:headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoOcorrencia/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.data.IdMedicaoAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaResponse(result.data.result)); \r\n yield put(Carregando(true));\r\n \r\n toast.success(`Medição Autorização Fornecimento Ocorrência foi cadastrado com sucesso!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n }\r\n }\r\n \r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaResponse([]));\r\n yield put(Carregando(true)); \r\n yield put(ErrorResponse(e));\r\n }\r\n}\r\n\r\nfunction* AlterarMedicaoAutorizacaoFornecimentoOcorrenciaRequest(model){\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/MedicaoAutorizacaoFornecimentoOcorrencia`, model.data, { headers:headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoOcorrencia/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n \r\n toast.success(`Medição Autorização Fornecimento Ocorrência foi atualizado com sucesso!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n }\r\n }\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaResponse([]));\r\n yield put(Carregando(true)); \r\n yield put(ErrorResponse(e));\r\n\r\n }\r\n}\r\n\r\nfunction* ExcluirMedicaoAutorizacaoFornecimentoOcorrenciaRequest(model){\r\n\r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/MedicaoAutorizacaoFornecimentoOcorrencia/${model.data.Id}`, { headers:headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoOcorrencia/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimento: parseInt(model.data.IdMedicaoAutorizacaoFornecimento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Medição Autorização Fornecimento Ocorrência id: ${model.data.Id} foi excluido!`);\r\n \r\n } catch (e) {\r\n \r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaResponse([]));\r\n yield put(Carregando(true)); \r\n yield put(ErrorResponse(e));\r\n\r\n }\r\n}\r\n\r\nfunction* BuscarMedicaoAutorizacaoFornecimentoOcorrenciaPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/MedicaoAutorizacaoFornecimentoOcorrencia/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarMedicaoAutorizacaoFornecimentoOcorrenciaPorIdResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if (e.response != null && e.response.data != null) {\r\n if(e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n\r\n yield put(BuscarMedicaoAutorizacaoFornecimentoOcorrenciaPorIdResponse(null));\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REQUEST', ListarMedicaoAutorizacaoFornecimentoOcorrenciaRequest),\r\n takeLatest('INSERIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REQUEST', InserirMedicaoAutorizacaoFornecimentoOcorrenciaRequest),\r\n takeLatest('EXCLUIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REQUEST', ExcluirMedicaoAutorizacaoFornecimentoOcorrenciaRequest),\r\n takeLatest('ALTERAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REQUEST', AlterarMedicaoAutorizacaoFornecimentoOcorrenciaRequest),\r\n takeLatest('BUSCAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_POR_ID_REQUEST', BuscarMedicaoAutorizacaoFornecimentoOcorrenciaPorIdRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { ListarFornecedorResponse, BuscarFornecedorPorIdResponse, Carregando } from './actions';\r\nimport { AtualizarToken } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarFornecedorRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global); \r\n\r\n const result = yield call(api.get, `/api/Fornecedor/listarCompleto`, { headers: headerParams.token });\r\n\r\n yield put(ListarFornecedorResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarFornecedorResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* BuscarFornecedorPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/Fornecedor/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarFornecedorPorIdResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarFornecedorPorIdResponse(null));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirFornecedorRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var result = yield call(api.post, `/api/Fornecedor`, model.data, { headers: headerParams.token });\r\n\r\n const resultBusca = yield call(api.get, `/api/Fornecedor/${result.data.result}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarFornecedorPorIdResponse(resultBusca.data.result));\r\n yield put(Carregando(true));\r\n\r\n history.push(`/alterarGeralFornecedor/${result.data.result}`);\r\n\r\n toast.success(`Fornecedor foi cadastrado com sucesso!`); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarFornecedorRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/Fornecedor`, model.data, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n \r\n if (model.data.IdTipoPessoa == 1) {\r\n\r\n if (model.data.FornecedorPessoaFisicaApiModel.Id != 0) {\r\n //Altera Física\r\n yield call(api.put, `/api/FornecedorPessoaFisica`, model.data.FornecedorPessoaFisicaApiModel, { headers: headerParams.token }); \r\n } else {\r\n // Cria Física\r\n yield call(api.post, `/api/FornecedorPessoaFisica`, model.data.FornecedorPessoaFisicaApiModel, { headers: headerParams.token }); \r\n } \r\n \r\n //Exclui jurídica\r\n if (model.data.FornecedorPessoaJuridicaApiModel.Id != 0) {\r\n yield call(api.delete, `/api/FornecedorPessoaJuridica/${model.data.FornecedorPessoaJuridicaApiModel.Id}`, { headers: headerParams.token }); \r\n }\r\n \r\n } else if (model.data.IdTipoPessoa == 2) {\r\n\r\n if (model.data.FornecedorPessoaJuridicaApiModel.Id != 0) {\r\n //Alterar Jurídica\r\n yield call(api.put, `/api/FornecedorPessoaJuridica`, model.data.FornecedorPessoaJuridicaApiModel, { headers: headerParams.token }); \r\n } else {\r\n //Cria Jurídica\r\n yield call(api.post, `/api/FornecedorPessoaJuridica`, model.data.FornecedorPessoaJuridicaApiModel, { headers: headerParams.token }); \r\n }\r\n \r\n //Exclui Física\r\n if (model.data.FornecedorPessoaFisicaApiModel.Id != 0) {\r\n yield call(api.delete, `/api/FornecedorPessoaFisica/${model.data.FornecedorPessoaFisicaApiModel.Id}`, { headers: headerParams.token }); \r\n }\r\n \r\n }\r\n\r\n toast.success(`Fornecedor foi atualizado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirFornecedorRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/Fornecedor/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Fornecedor id: ${model.id} foi excluido!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_FORNECEDOR_REQUEST', ListarFornecedorRequest),\r\n takeLatest('BUSCAR_FORNECEDOR_POR_ID_REQUEST', BuscarFornecedorPorIdRequest),\r\n takeLatest('INSERIR_FORNECEDOR_REQUEST', InserirFornecedorRequest),\r\n takeLatest('ALTERAR_FORNECEDOR_REQUEST', AlterarFornecedorRequest),\r\n takeLatest('EXCLUIR_FORNECEDOR_REQUEST', ExcluirFornecedorRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarTipoPessoaResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarTipoPessoaRequest(){\r\n \r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/TipoPessoa`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoPessoaResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n \r\n yield put(ListarTipoPessoaResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_TIPO_PESSOA_REQUEST', ListarTipoPessoaRequest)\r\n])","export function ListarContratoVersaoSubitemCustoPrimarioRequest() {\r\n return {\r\n type: 'LISTAR_CONTRATO_VERSAO_SUBITEM_CUSTO_PRIMARIO_REQUEST'\r\n }\r\n }\r\n \r\n export function ListarContratoVersaoSubitemCustoPrimarioResponse(listaContratoVersaoSubitemCustoPrimario) {\r\n return {\r\n type: 'LISTAR_CONTRATO_VERSAO_SUBITEM_CUSTO_PRIMARIO_RESPONSE',\r\n listaContratoVersaoSubitemCustoPrimario\r\n }\r\n }\r\n \r\n export function InserirContratoVersaoSubitemCustoPrimarioRequest(data) {\r\n return {\r\n type: 'INSERIR_CONTRATO_VERSAO_SUBITEM_CUSTO_PRIMARIO_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function AlterarContratoVersaoSubitemCustoPrimarioRequest(data) {\r\n return {\r\n type: 'ALTERAR_CONTRATO_VERSAO_SUBITEM_CUSTO_PRIMARIO_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function ExcluirContratoVersaoSubitemCustoPrimarioRequest(id) {\r\n return {\r\n type: 'EXCLUIR_CONTRATO_VERSAO_SUBITEM_CUSTO_PRIMARIO_REQUEST',\r\n id\r\n }\r\n }\r\n \r\n export function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n }","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarContratoVersaoSubitemCustoPrimarioResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarContratoVersaoSubitemCustoPrimarioRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/ContratoVersaoSubitemCustoPrimario`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoVersaoSubitemCustoPrimarioResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarContratoVersaoSubitemCustoPrimarioResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirContratoVersaoSubitemCustoPrimarioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/ContratoVersaoSubitemCustoPrimario`, model.data, { headers: headerParams.token });\r\n \r\n yield put(Carregando(true)); \r\n\r\n toast.success(`O relação foi incluida com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarContratoVersaoSubitemCustoPrimarioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/ContratoVersaoSubitemCustoPrimario`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ContratoVersaoSubitemCustoPrimario`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoVersaoSubitemCustoPrimarioResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Permissão alterada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n\r\n}\r\n\r\nfunction* ExcluirContratoVersaoSubitemCustoPrimarioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/ContratoVersaoSubitemCustoPrimario/${model.id}`, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ContratoVersaoSubitemCustoPrimario`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoVersaoSubitemCustoPrimarioResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n \r\n toast.success(`O Usuario foi excluido com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CONTRATO_VERSAO_SUBITEM_CUSTO_PRIMARIO_REQUEST', ListarContratoVersaoSubitemCustoPrimarioRequest),\r\n takeLatest('INSERIR_CONTRATO_VERSAO_SUBITEM_CUSTO_PRIMARIO_REQUEST', InserirContratoVersaoSubitemCustoPrimarioRequest),\r\n takeLatest('ALTERAR_CONTRATO_VERSAO_SUBITEM_CUSTO_PRIMARIO_REQUEST', AlterarContratoVersaoSubitemCustoPrimarioRequest),\r\n takeLatest('EXCLUIR_CONTRATO_VERSAO_SUBITEM_CUSTO_PRIMARIO_REQUEST', ExcluirContratoVersaoSubitemCustoPrimarioRequest)\r\n])","export function ListarContratoVersaoSubitemCustoConsumidoRequest() {\r\n return {\r\n type: 'LISTAR_CONTRATO_VERSAO_SUBITEM_CUSTO_CONSUMIDO_REQUEST'\r\n }\r\n }\r\n \r\n export function ListarContratoVersaoSubitemCustoConsumidoResponse(listaContratoVersaoSubitemCustoConsumido) {\r\n return {\r\n type: 'LISTAR_CONTRATO_VERSAO_SUBITEM_CUSTO_CONSUMIDO_RESPONSE',\r\n listaContratoVersaoSubitemCustoConsumido\r\n }\r\n }\r\n \r\n export function InserirContratoVersaoSubitemCustoConsumidoRequest(data) {\r\n return {\r\n type: 'INSERIR_CONTRATO_VERSAO_SUBITEM_CUSTO_CONSUMIDO_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function AlterarContratoVersaoSubitemCustoConsumidoRequest(data) {\r\n return {\r\n type: 'ALTERAR_CONTRATO_VERSAO_SUBITEM_CUSTO_CONSUMIDO_REQUEST',\r\n data\r\n }\r\n }\r\n \r\n export function ExcluirContratoVersaoSubitemCustoConsumidoRequest(id) {\r\n return {\r\n type: 'EXCLUIR_CONTRATO_VERSAO_SUBITEM_CUSTO_CONSUMIDO_REQUEST',\r\n id\r\n }\r\n }\r\n \r\n export function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n }","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarContratoVersaoSubitemCustoConsumidoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarContratoVersaoSubitemCustoConsumidoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/ContratoVersaoSubitemCustoConsumido`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoVersaoSubitemCustoConsumidoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarContratoVersaoSubitemCustoConsumidoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirContratoVersaoSubitemCustoConsumidoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/ContratoVersaoSubitemCustoConsumido`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ContratoVersaoSubitemCustoConsumido`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoVersaoSubitemCustoConsumidoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`O relação foi incluida com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarContratoVersaoSubitemCustoConsumidoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/ContratoVersaoSubitemCustoConsumido`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ContratoVersaoSubitemCustoConsumido`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoVersaoSubitemCustoConsumidoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Permissão alterada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n\r\n}\r\n\r\nfunction* ExcluirContratoVersaoSubitemCustoConsumidoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/ContratoVersaoSubitemCustoConsumido/${model.id}`, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ContratoVersaoSubitemCustoConsumido`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoVersaoSubitemCustoConsumidoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n \r\n toast.success(`O Usuario foi excluido com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CONTRATO_VERSAO_SUBITEM_CUSTO_CONSUMIDO_REQUEST', ListarContratoVersaoSubitemCustoConsumidoRequest),\r\n takeLatest('INSERIR_CONTRATO_VERSAO_SUBITEM_CUSTO_CONSUMIDO_REQUEST', InserirContratoVersaoSubitemCustoConsumidoRequest),\r\n takeLatest('ALTERAR_CONTRATO_VERSAO_SUBITEM_CUSTO_CONSUMIDO_REQUEST', AlterarContratoVersaoSubitemCustoConsumidoRequest),\r\n takeLatest('EXCLUIR_CONTRATO_VERSAO_SUBITEM_CUSTO_CONSUMIDO_REQUEST', ExcluirContratoVersaoSubitemCustoConsumidoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarMedicaoOcorrenciaResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarMedicaoOcorrenciaRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/MedicaoOcorrencia`, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoOcorrenciaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n \r\n yield put(ListarMedicaoOcorrenciaResponse([])); \r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* InserirMedicaoOcorrenciaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/MedicaoOcorrencia`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`A Medição Ocorrência foi cadastrada com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/MedicaoOcorrencia`, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoOcorrenciaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarMedicaoOcorrenciaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/MedicaoOcorrencia`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Medição Ocorrência foi atualizada com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/MedicaoOcorrencia`, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoOcorrenciaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirMedicaoOcorrenciaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/MedicaoOcorrencia/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Medição Ocorrência id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.get, `/api/MedicaoOcorrencia`, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoOcorrenciaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(Carregando(true)); \r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_MEDICAO_OCORRENCIA_REQUEST', ListarMedicaoOcorrenciaRequest),\r\n takeLatest('INSERIR_MEDICAO_OCORRENCIA_REQUEST', InserirMedicaoOcorrenciaRequest),\r\n takeLatest('ALTERAR_MEDICAO_OCORRENCIA_REQUEST', AlterarMedicaoOcorrenciaRequest),\r\n takeLatest('EXCLUIR_MEDICAO_OCORRENCIA_REQUEST', ExcluirMedicaoOcorrenciaRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { ListarAutorizacaoFornecimentoSubitemCustoMedOcorResponse, Carregando } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\n\r\nfunction* ListarAutorizacaoFornecimentoSubitemCustoMedOcorRequest(model){\r\n\r\n try {\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedOcor/listarCompleto`,\r\n { IdAutorizacaoFornecimentoSubitemCustoMedicao: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedOcorResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n \r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedOcorResponse([]));\r\n yield put(Carregando(true)); \r\n yield put(ErrorResponse(e)); \r\n }\r\n}\r\n\r\nfunction* InserirAutorizacaoFornecimentoSubitemCustoMedOcorRequest(model){\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedOcor`, model.data, { headers:headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedOcor/listarCompleto`,\r\n { 'IdAutorizacaoFornecimentoSubitemCustoMedicao': parseInt(model.data.IdAutorizacaoFornecimentoSubitemCustoMedicao) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedOcorResponse(result.data.result)); \r\n yield put(Carregando(true));\r\n \r\n toast.success(`Medição Ocorrência foi cadastrado com sucesso!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n }\r\n }\r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarAutorizacaoFornecimentoSubitemCustoMedOcorRequest(model){\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/AutorizacaoFornecimentoSubitemCustoMedOcor`, model.data, { headers:headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedOcor/listarCompleto`,\r\n { IdAutorizacaoFornecimentoSubitemCustoMedicao: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedOcorResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n \r\n toast.success(`Medição Ocorrência foi atualizado com sucesso!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n }\r\n }\r\n\r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nfunction* ExcluirAutorizacaoFornecimentoSubitemCustoMedOcorRequest(model){\r\n\r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/AutorizacaoFornecimentoSubitemCustoMedOcor/${model.data.Id}`, { headers:headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedOcor/listarCompleto`,\r\n { 'IdAutorizacaoFornecimentoSubitemCustoMedicao': parseInt(model.data.IdAutorizacaoFornecimentoSubitemCustoMedicao) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedOcorResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Medição Ocorrência id: ${model.data.Id} foi excluido!`);\r\n \r\n } catch (e) {\r\n \r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_OCOR_REQUEST', ListarAutorizacaoFornecimentoSubitemCustoMedOcorRequest),\r\n takeLatest('INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_OCOR_REQUEST', InserirAutorizacaoFornecimentoSubitemCustoMedOcorRequest),\r\n takeLatest('EXCLUIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_OCOR_REQUEST', ExcluirAutorizacaoFornecimentoSubitemCustoMedOcorRequest),\r\n takeLatest('ALTERAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_OCOR_REQUEST', AlterarAutorizacaoFornecimentoSubitemCustoMedOcorRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarTipoPixResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarTipoPixRequest(){\r\n \r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/TipoPix`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoPixResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarTipoPixResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_TIPO_PIX_REQUEST', ListarTipoPixRequest)\r\n])","export function ListarCnaeRequest() {\r\n return {\r\n type: 'LISTAR_CNAE_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarCnaeResponse(listaCnae) {\r\n return {\r\n type: 'LISTAR_CNAE_RESPONSE',\r\n listaCnae\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarCnaeResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarCnaeRequest(){\r\n \r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Cnae`, { headers: headerParams.token });\r\n\r\n yield put(ListarCnaeResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n \r\n yield put(ListarCnaeResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CNAE_REQUEST', ListarCnaeRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarBancoResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarBancoRequest(){\r\n \r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Banco`, { headers: headerParams.token });\r\n\r\n yield put(ListarBancoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n \r\n yield put(ListarBancoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_BANCO_REQUEST', ListarBancoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { ListarFornecedorContatoResponse, BuscarFornecedorContatoPorIdResponse, Carregando } from './actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarFornecedorContatoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/FornecedorContato`, { headers: headerParams.token });\r\n\r\n yield put(ListarFornecedorContatoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarFornecedorContatoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* ListarCompletoFornecedorContatoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/FornecedorContato/listarCompleto`,\r\n { idFornecedor: parseInt(model.idFornecedor) }, { headers: headerParams.token });\r\n\r\n yield put(ListarFornecedorContatoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarFornecedorContatoResponse([]));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* BuscarFornecedorContatoPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/FornecedorContato/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarFornecedorContatoPorIdResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarFornecedorContatoPorIdResponse(null));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirFornecedorContatoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/FornecedorContato`, model.data, { headers: headerParams.token });\r\n \r\n const result = yield call(api.post, `/api/FornecedorContato/listarCompleto`,\r\n { idFornecedor: parseInt(model.data.IdFornecedor) }, { headers: headerParams.token });\r\n\r\n yield put(ListarFornecedorContatoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Contato foi cadastrada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarFornecedorContatoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/FornecedorContato`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/FornecedorContato/listarCompleto`,\r\n { idFornecedor: model.data.IdFornecedor }, { headers: headerParams.token });\r\n\r\n yield put(ListarFornecedorContatoResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Contato alterado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirFornecedorContatoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/FornecedorContato/${model.id}`, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/FornecedorContato/listarCompleto`,\r\n { idFornecedor: parseInt(model.id) }, { headers: headerParams.token });\r\n \r\n yield put(ListarFornecedorContatoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n\r\n toast.success(`O Contato foi excluida com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_FORNECEDOR_CONTATO_REQUEST', ListarFornecedorContatoRequest),\r\n takeLatest('BUSCAR_FORNECEDOR_CONTATO_POR_ID_REQUEST', BuscarFornecedorContatoPorIdRequest),\r\n takeLatest('INSERIR_FORNECEDOR_CONTATO_REQUEST', InserirFornecedorContatoRequest),\r\n takeLatest('ALTERAR_FORNECEDOR_CONTATO_REQUEST', AlterarFornecedorContatoRequest),\r\n takeLatest('EXCLUIR_FORNECEDOR_CONTATO_REQUEST', ExcluirFornecedorContatoRequest),\r\n takeLatest('LISTAR_COMPLETO_FORNECEDOR_CONTATO_REQUEST', ListarCompletoFornecedorContatoRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { ListarFornecedorContaResponse, BuscarFornecedorContaPorIdResponse, Carregando } from './actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarFornecedorContaRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/FornecedorConta`, { headers: headerParams.token });\r\n\r\n yield put(ListarFornecedorContaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarFornecedorContaResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* ListarCompletoFornecedorContaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/FornecedorConta/listarCompleto`,\r\n { idFornecedor: parseInt(model.idFornecedor) }, { headers: headerParams.token });\r\n\r\n yield put(ListarFornecedorContaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarFornecedorContaResponse([]));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BuscarFornecedorContaPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/FornecedorConta/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarFornecedorContaPorIdResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarFornecedorContaPorIdResponse(null));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirFornecedorContaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/FornecedorConta`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/FornecedorConta/listarCompleto`,\r\n { idFornecedor: parseInt(model.data.IdFornecedor) }, { headers: headerParams.token });\r\n \r\n yield put(ListarFornecedorContaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Conta foi cadastrada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarFornecedorContaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/FornecedorConta`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/FornecedorConta/listarCompleto`,\r\n { idFornecedor: model.data.IdFornecedor }, { headers: headerParams.token });\r\n\r\n yield put(ListarFornecedorContaResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Conta alterada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirFornecedorContaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/FornecedorConta/${model.id}`, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/FornecedorConta/listarCompleto`,\r\n { idFornecedor: parseInt(model.data.IdFornecedor) }, { headers: headerParams.token });\r\n \r\n yield put(ListarFornecedorContaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`A Conta foi excluida com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_FORNECEDOR_CONTA_REQUEST', ListarFornecedorContaRequest),\r\n takeLatest('BUSCAR_FORNECEDOR_CONTA_POR_ID_REQUEST', BuscarFornecedorContaPorIdRequest),\r\n takeLatest('INSERIR_FORNECEDOR_CONTA_REQUEST', InserirFornecedorContaRequest),\r\n takeLatest('ALTERAR_FORNECEDOR_CONTA_REQUEST', AlterarFornecedorContaRequest),\r\n takeLatest('EXCLUIR_FORNECEDOR_CONTA_REQUEST', ExcluirFornecedorContaRequest),\r\n takeLatest('LISTAR_COMPLETO_FORNECEDOR_CONTA_REQUEST', ListarCompletoFornecedorContaRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { Carregando, ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoResponse } from './actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\n\r\nfunction* ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoRegFoto/listarCompleto`,\r\n { IdAutorizacaoFornecimentoSubItemCustoMedicao: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* InserirAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var resultId = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoRegFoto`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoRegFoto/listarCompleto`,\r\n { IdAutorizacaoFornecimentoSubItemCustoMedicao: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoResponse(result.data.result));\r\n \r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ' );\r\n });\r\n \r\n yield put(Carregando(true));\r\n\r\n toast.success('Fotos id: ' + listaId + ' cadastrada com sucesso!');\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoResponse([])); \r\n }\r\n}\r\n\r\nfunction* AlterarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoRegFoto`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoRegFoto/listarCompleto`,\r\n { IdAutorizacaoFornecimentoSubItemCustoMedicao: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Foto cadastrada com sucesso!`); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoResponse([])); \r\n }\r\n}\r\n\r\nfunction* ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoRegFoto/${model.id}/${'0'}`, { headers: headerParams.token });\r\n\r\n toast.success(`Documento id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoRegFoto/listarCompleto`,\r\n { IdAutorizacaoFornecimentoSubItemCustoMedicao: parseInt(model.idMedicao) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoResponse([]));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoRegFoto/${model.id}`, { headers:headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result.nomeRegistroFotografico}${result.data.result.descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/AutorizacaoFornecimentoSubitemCustoMedicaoRegFoto/${model.id}/${'0'}/baixar`, {headers: headerParams.token})\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoResponse([])); \r\n\r\n }\r\n}\r\n\r\nfunction* CarregarImagemAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n fetch(`${urlBase}/api/AutorizacaoFornecimentoSubitemCustoMedicaoRegFoto/${model.id}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('img');\r\n elem.src = window.URL.createObjectURL(myBlob);\r\n document.getElementById(\"divImagemFotoMedicaoAutorizacaoFornecimentoSubItem\").appendChild(elem).style.width = \"100%\"; \r\n });\r\n \r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_MEDICAO_REGISTRO_FOTOGRAFICO_REQUEST', ListarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest),\r\n takeLatest('INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_MEDICAO_REGISTRO_FOTOGRAFICO_REQUEST', InserirAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest),\r\n takeLatest('ALTERAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_MEDICAO_REGISTRO_FOTOGRAFICO_REQUEST', AlterarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest),\r\n takeLatest('EXCLUIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_MEDICAO_REGISTRO_FOTOGRAFICO_REQUEST', ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest),\r\n takeLatest('BAIXAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_MEDICAO_REGISTRO_FOTOGRAFICO_REQUEST', BaixarAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest),\r\n takeLatest('CARREGAR_IMAGEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_MEDICAO_REGISTRO_FOTOGRAFICO_REQUEST', CarregarImagemAutorizacaoFornecimentoSubitemCustoMedicaoRegFotoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { ListarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoResponse,\r\n Carregando } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\n\r\nfunction* ListarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest(model){\r\n\r\n try {\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/listarCompleto`,\r\n { IdAutorizacaoFornecimentoSubitemCustoMedOcor: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n \r\n //yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoResponse([]));\r\n yield put(Carregando(true)); \r\n yield put(ErrorResponse(e));\r\n }\r\n}\r\n\r\nfunction* InserirAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest(model){\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var resultId = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto`, model.data, { headers:headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/listarCompleto`,\r\n { IdAutorizacaoFornecimentoSubitemCustoMedOcor: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoResponse(result.data.result)); \r\n \r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ' );\r\n });\r\n \r\n yield put(Carregando(true));\r\n\r\n toast.success('Fotos id: ' + listaId + ' cadastrada com sucesso!');\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest(model){\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto`, model.data, { headers:headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/listarCompleto`,\r\n { IdAutorizacaoFornecimentoSubitemCustoMedOcor: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n toast.success(`Ocorrência Registro Fotográfico foi atualizado com sucesso!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest(model){\r\n\r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/${model.idFoto}/${'0'}`, { headers:headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/listarCompleto`,\r\n { IdAutorizacaoFornecimentoSubitemCustoMedOcor: parseInt(model.data) }, { headers: headerParams.token });\r\n\r\n yield put(ListarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Ocorrência Registro Fotográfico id: ${model.idFoto} foi excluido!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* CarregarImagemAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/AutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/${model.id}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('img');\r\n elem.src = window.URL.createObjectURL(myBlob);\r\n document.getElementById(\"divImagemFotoMedicaoAutorizacaoFornecimentoSubItemOcorrencia\").appendChild(elem).style.width = \"100%\"; \r\n });\r\n \r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* BaixarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/AutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/${model.id}`, { headers:headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result.nomeRegistroFotografico}${result.data.result.descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/AutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/${model.id}/${'0'}/baixar`, {headers: headerParams.token})\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_OCOR_REG_FOTO_REQUEST', ListarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest),\r\n takeLatest('INSERIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_OCOR_REG_FOTO_REQUEST', InserirAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest),\r\n takeLatest('EXCLUIR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_OCOR_REG_FOTO_REQUEST', ExcluirAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest),\r\n takeLatest('ALTERAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_OCOR_REG_FOTO_REQUEST', AlterarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest),\r\n takeLatest('CARREGAR_IMAGEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_OCOR_REG_FOTO_REQUEST', CarregarImagemAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest),\r\n takeLatest('BAIXAR_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MEDICAO_OCOR_REG_FOTO_REQUEST', BaixarAutorizacaoFornecimentoSubitemCustoMedicaoOcorRegFotoRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoResponse, Carregando } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(model){\r\n\r\n try {\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoOcorrenciaRegFoto/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimentoOcorrencia: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n \r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoResponse([]));\r\n yield put(Carregando(true)); \r\n yield put(ErrorResponse(e));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(model){\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var resultId = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoOcorrenciaRegFoto`, model.data, { headers:headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoOcorrenciaRegFoto/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimentoOcorrencia: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoResponse(result.data.result)); \r\n \r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ' );\r\n });\r\n \r\n yield put(Carregando(true));\r\n\r\n toast.success('Fotos id: ' + listaId + ' cadastrada com sucesso!');\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n }\r\n }\r\n \r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoResponse([]));\r\n yield put(Carregando(true)); \r\n yield put(ErrorResponse(e));\r\n\r\n }\r\n}\r\n\r\nfunction* AlterarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(model){\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/MedicaoAutorizacaoFornecimentoOcorrenciaRegFoto`, model.data, { headers:headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoOcorrenciaRegFoto/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimentoOcorrencia: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n toast.success(`Ocorrência Registro Fotográfico foi atualizado com sucesso!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n }\r\n }\r\n \r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoResponse([]));\r\n yield put(Carregando(true)); \r\n yield put(ErrorResponse(e));\r\n }\r\n}\r\n\r\nfunction* ExcluirMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(model){\r\n\r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/MedicaoAutorizacaoFornecimentoOcorrenciaRegFoto/${model.idFoto}/${'0'}`, { headers:headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/MedicaoAutorizacaoFornecimentoOcorrenciaRegFoto/listarCompleto`,\r\n { IdMedicaoAutorizacaoFornecimentoOcorrencia: parseInt(model.data) }, { headers: headerParams.token });\r\n\r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Ocorrência Registro Fotográfico id: ${model.idFoto} foi excluido!`);\r\n \r\n } catch (e) {\r\n \r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoResponse([]));\r\n yield put(Carregando(true)); \r\n yield put(ErrorResponse(e));\r\n\r\n }\r\n}\r\n\r\nfunction* CarregarImagemMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/MedicaoAutorizacaoFornecimentoOcorrenciaRegFoto/${model.id}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('img');\r\n elem.src = window.URL.createObjectURL(myBlob);\r\n document.getElementById(\"divImagemFotoMedicaoAutorizacaoFornecimentoOcorrenciaRegFoto\").appendChild(elem).style.width = \"100%\"; \r\n });\r\n \r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* BaixarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/MedicaoAutorizacaoFornecimentoOcorrenciaRegFoto/${model.id}`, { headers:headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result.nomeRegistroFotografico}${result.data.result.descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/MedicaoAutorizacaoFornecimentoOcorrenciaRegFoto/${model.id}/${'0'}/baixar`, {headers: headerParams.token})\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_REQUEST', ListarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest),\r\n takeLatest('INSERIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_REQUEST', InserirMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest),\r\n takeLatest('EXCLUIR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_REQUEST', ExcluirMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest),\r\n takeLatest('ALTERAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_REQUEST', AlterarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest),\r\n takeLatest('CARREGAR_IMAGEM_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_REQUEST', CarregarImagemMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest),\r\n takeLatest('BAIXAR_MEDICAO_AUTORIZACAO_FORNECIMENTO_OCORRENCIA_REG_FOTO_REQUEST', BaixarMedicaoAutorizacaoFornecimentoOcorrenciaRegFotoRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarUsuarioFornecedorResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarUsuarioFornecedorRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/UsuarioFornecedor`, { headers: headerParams.token });\r\n\r\n yield put(ListarUsuarioFornecedorResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarUsuarioFornecedorResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* InserirUsuarioFornecedorRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/UsuarioFornecedor`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`UsuÁrio Fornecedor de Medida foi cadastrada com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/UsuarioFornecedor`, { headers: headerParams.token });\r\n\r\n yield put(ListarUsuarioFornecedorResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarUsuarioFornecedorRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/UsuarioFornecedor`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Usuário Fornecedor de Medida foi atualizada com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/UsuarioFornecedor`, { headers: headerParams.token });\r\n\r\n yield put(ListarUsuarioFornecedorResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirUsuarioFornecedorRequest(model) {\r\n\r\n try {\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/UsuarioFornecedor/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Usuário Fornecedor de Medida id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/UsuarioFornecedor`, { headers: headerParams.token });\r\n\r\n yield put(ListarUsuarioFornecedorResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarCompletoUsuarioFornecedorRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/UsuarioFornecedor/listarCompleto`,\r\n { IdUsuario: parseInt(model.idUsuario) }, { headers: headerParams.token });\r\n \r\n yield put(ListarUsuarioFornecedorResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ListarUsuarioFornecedorResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n \r\n }\r\n}\r\n\r\n\r\nexport default all([\r\n takeLatest('LISTAR_USUARIO_FORNECEDOR_REQUEST', ListarUsuarioFornecedorRequest),\r\n takeLatest('INSERIR_USUARIO_FORNECEDOR_REQUEST', InserirUsuarioFornecedorRequest),\r\n takeLatest('ALTERAR_USUARIO_FORNECEDOR_REQUEST', AlterarUsuarioFornecedorRequest),\r\n takeLatest('EXCLUIR_USUARIO_FORNECEDOR_REQUEST', ExcluirUsuarioFornecedorRequest),\r\n takeLatest('LISTAR_COMPLETO_USUARIO_FORNECEDOR_REQUEST', ListarCompletoUsuarioFornecedorRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { ListarContratoFornecedorResponse, BuscarContratoFornecedorPorIdResponse, Carregando } from './actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarContratoFornecedorRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/ContratoFornecedor/`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoFornecedorResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarContratoFornecedorResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarCompletoContratoFornecedorRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/ContratoFornecedor/listarCompleto`,\r\n { IdContrato: model.idContratoVersao }, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoFornecedorResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarContratoFornecedorResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BuscarContratoFornecedorPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/ContratoFornecedor/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoFornecedorPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarContratoFornecedorPorIdResponse(null));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirContratoFornecedorRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/ContratoFornecedor`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/ContratoFornecedor`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoFornecedorResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Fornecedor foi inserido com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarContratoFornecedorRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/ContratoFornecedor`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Fornecedor foi alterado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/ContratoFornecedor/${model.data.Id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarContratoFornecedorPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirContratoFornecedorRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/ContratoFornecedor/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`O Fornecedor foi excluido com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/ContratoFornecedor`, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoFornecedorResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CONTRATO_FORNECEDOR_REQUEST', ListarContratoFornecedorRequest),\r\n takeLatest('BUSCAR_CONTRATO_FORNECEDOR_POR_ID_REQUEST', BuscarContratoFornecedorPorIdRequest),\r\n takeLatest('INSERIR_CONTRATO_FORNECEDOR_REQUEST', InserirContratoFornecedorRequest),\r\n takeLatest('ALTERAR_CONTRATO_FORNECEDOR_REQUEST', AlterarContratoFornecedorRequest),\r\n takeLatest('EXCLUIR_CONTRATO_FORNECEDOR_REQUEST', ExcluirContratoFornecedorRequest),\r\n takeLatest('LISTAR_COMPLETO_CONTRATO_FORNECEDOR_REQUEST', ListarCompletoContratoFornecedorRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { Carregando, ListarContratoDocumentoArquivoResponse } from './actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\n\r\nfunction* ListarContratoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/ContratoDocumentoArquivo/listarCompleto`,\r\n { IdContrato: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarContratoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirContratoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const resultId = yield call(api.post, `/api/ContratoDocumentoArquivo`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/ContratoDocumentoArquivo/listarCompleto`,\r\n { IdContrato: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoDocumentoArquivoResponse(result.data.result));\r\n \r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ' );\r\n });\r\n \r\n toast.success('Documento(s) id: ' + listaId + 'cadastrado(s) com sucesso!');\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarContratoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/ContratoDocumentoArquivo`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`O documento foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.post, `/api/ContratoDocumentoArquivo/listarCompleto`,\r\n { IdContrato: parseInt(model.id) }, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirContratoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/ContratoDocumentoArquivo/${model.id}/${'0'}`, { headers: headerParams.token });\r\n\r\n toast.success(`O documento id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.post, `/api/ContratoDocumentoArquivo/listarCompleto`,\r\n { IdContrato: parseInt(model.idContrato) }, { headers: headerParams.token });\r\n\r\n yield put(ListarContratoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BaixarContratoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/ContratoDocumentoArquivo/${model.id}`, { headers:headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result.nomeArquivo}${result.data.result.descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/ContratoDocumentoArquivo/${model.id}/${'0'}/baixar`, {headers: headerParams.token})\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CONTRATO_DOCUMENTO_ARQUIVO_REQUEST', ListarContratoDocumentoArquivoRequest),\r\n takeLatest('INSERIR_CONTRATO_DOCUMENTO_ARQUIVO_REQUEST', InserirContratoDocumentoArquivoRequest),\r\n takeLatest('ALTERAR_CONTRATO_DOCUMENTO_ARQUIVO_REQUEST', AlterarContratoDocumentoArquivoRequest),\r\n takeLatest('EXCLUIR_CONTRATO_DOCUMENTO_ARQUIVO_REQUEST', ExcluirContratoDocumentoArquivoRequest),\r\n takeLatest('BAIXAR_CONTRATO_DOCUMENTO_ARQUIVO_REQUEST', BaixarContratoDocumentoArquivoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarPrioridadeResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarPrioridadeRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/Prioridade`, { headers: headerParams.token });\r\n\r\n yield put(ListarPrioridadeResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarPrioridadeResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirPrioridadeRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/Prioridade`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Prioridade ${model.data.Descricao} foi cadastrada com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Prioridade`, { headers: headerParams.token });\r\n\r\n yield put(ListarPrioridadeResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarPrioridadeRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/Prioridade`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Prioridade foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Prioridade`, { headers: headerParams.token });\r\n\r\n yield put(ListarPrioridadeResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirPrioridadeRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/Prioridade/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Prioridade id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.get, `/api/Prioridade`, { headers: headerParams.token });\r\n\r\n yield put(ListarPrioridadeResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)) \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_PRIORIDADE_REQUEST', ListarPrioridadeRequest),\r\n takeLatest('INSERIR_PRIORIDADE_REQUEST', InserirPrioridadeRequest),\r\n takeLatest('ALTERAR_PRIORIDADE_REQUEST', AlterarPrioridadeRequest),\r\n takeLatest('EXCLUIR_PRIORIDADE_REQUEST', ExcluirPrioridadeRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarEmpenhoResponse, BuscarEmpenhoPorIdResponse } from './actions';\r\nimport { ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse } from '../empenhoAutorizacaoFornecimentoSubitemCustoMed/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarEmpenhoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Empenho/listarCompleto`, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarEmpenhoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BuscarEmpenhoPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Empenho/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEmpenhoPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarEmpenhoPorIdResponse(null));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirEmpenhoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var resultId = yield call(api.post, `/api/Empenho`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Empenho id: ${resultId.data.result} foi cadastrada com sucesso!`);\r\n\r\n // Alterar Rota\r\n history.push(`/alterarGeralEmpenho/${resultId.data.result}`);\r\n\r\n const result = yield call(api.get, `/api/Empenho/${resultId.data.result}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEmpenhoPorIdResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarEmpenhoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/Empenho`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/Empenho/listarCompleto`, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n toast.success(`Empenho foi atualizado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirEmpenhoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/Empenho/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Empenho id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.get, `/api/Empenho/listarCompleto`, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true))\r\n }\r\n}\r\n\r\nfunction* TransferirAfRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var resultId = yield call(api.post, `/api/Empenho/TransferirAf`, model.data, { headers: headerParams.token });\r\n\r\n // Buscar empenho pra atualizar valores pagos\r\n const resultEmp = yield call(api.get, `/api/Empenho/${model.data.idEmpenhoOrigem}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEmpenhoPorIdResponse(resultEmp.data.result));\r\n\r\n toast.success(`A autorização de id: ${model.data.IdAutorizacao} foi transferida com sucesso!`);\r\n\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* TransferirAfDefinitivaParcialRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/Empenho/TransferirAfDefinitivaParcial`, model.data,\r\n { headers: headerParams.token });\r\n\r\n // Buscar empenho pra atualizar valores pagos\r\n const resultEmp = yield call(api.get, `/api/Empenho/${model.data.IdEmpenhoOrigem}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEmpenhoPorIdResponse(resultEmp.data.result));\r\n\r\n toast.success(`A autorização de id: ${model.data.IdAutorizacao} foi transferida com sucesso!`);\r\n\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_EMPENHO_REQUEST', ListarEmpenhoRequest),\r\n takeLatest('BUSCAR_EMPENHO_POR_ID_REQUEST', BuscarEmpenhoPorIdRequest),\r\n takeLatest('INSERIR_EMPENHO_REQUEST', InserirEmpenhoRequest),\r\n takeLatest('ALTERAR_EMPENHO_REQUEST', AlterarEmpenhoRequest),\r\n takeLatest('EXCLUIR_EMPENHO_REQUEST', ExcluirEmpenhoRequest),\r\n takeLatest('TRANSFERIR_AF_REQUEST', TransferirAfRequest),\r\n takeLatest('TRANSFERIR_AF_DEFINITIVA_PARCIAL_REQUEST', TransferirAfDefinitivaParcialRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarStatusEmpenhoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarStatusEmpenhoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/StatusEmpenho`, { headers: headerParams.token });\r\n\r\n yield put(ListarStatusEmpenhoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ListarStatusEmpenhoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirStatusEmpenhoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/StatusEmpenho`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`StatusEmpenho ${model.data.Descricao} foi cadastrada com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/StatusEmpenho`, { headers: headerParams.token });\r\n\r\n yield put(ListarStatusEmpenhoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)) \r\n }\r\n}\r\n\r\nfunction* AlterarStatusEmpenhoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/StatusEmpenho`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`StatusEmpenho foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/StatusEmpenho`, { headers: headerParams.token });\r\n\r\n yield put(ListarStatusEmpenhoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)) \r\n }\r\n}\r\n\r\nfunction* ExcluirStatusEmpenhoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/StatusEmpenho/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`StatusEmpenho id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.get, `/api/StatusEmpenho`, { headers: headerParams.token });\r\n\r\n yield put(ListarStatusEmpenhoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)) \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_STATUS_EMPENHO_REQUEST', ListarStatusEmpenhoRequest),\r\n takeLatest('INSERIR_STATUS_EMPENHO_REQUEST', InserirStatusEmpenhoRequest),\r\n takeLatest('ALTERAR_STATUS_EMPENHO_REQUEST', AlterarStatusEmpenhoRequest),\r\n takeLatest('EXCLUIR_STATUS_EMPENHO_REQUEST', ExcluirStatusEmpenhoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarEmpenhoStatusResponse, ListarCompletoEmpenhoStatusResponse, ValidarEmpenhoStatusResponse, ListarMultaEmpenhoResponse, ListarDiferencaEmpenhoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { BuscarEmpenhoPorIdResponse } from '../empenho/actions';\r\nimport { ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse } from '../empenhoAutorizacaoFornecimentoSubitemCustoMed/actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarEmpenhoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdEmpenho': parseInt(model.idEmpenho)\r\n }\r\n\r\n const result = yield call(api.post, `/api/EmpenhoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoStatusResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarEmpenhoStatusResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirEmpenhoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n if (model.validacaoFinalizado) {\r\n\r\n yield call(api.post, `/api/EmpenhoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status inserido!`);\r\n\r\n var data = {\r\n 'IdEmpenho': parseInt(model.idEmpenho)\r\n }\r\n\r\n // Carrega lista de status atuais\r\n const result = yield call(api.post, `/api/EmpenhoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoStatusResponse(result.data.result));\r\n\r\n // Carregar a lista completa para a aba de histórico\r\n const resultCompleto = yield call(api.post, `/api/EmpenhoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoEmpenhoStatusResponse(resultCompleto.data.result));\r\n\r\n // Buscar empenho pra atualizar valores pagos\r\n const resultEmp = yield call(api.get, `/api/Empenho/${model.idEmpenho}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEmpenhoPorIdResponse(resultEmp.data.result));\r\n\r\n // Lista de subitem atualizadas\r\n const resultEmpSub = yield call(api.post, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed/ListarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse(resultEmpSub.data.result));\r\n\r\n } else {\r\n\r\n // Validar saldo quantidade\r\n const resultValidar = yield call(api.post, `/api/EmpenhoStatus/validar`, model.data, { headers: headerParams.token });\r\n\r\n var valida = false;\r\n var lista = resultValidar.data.result;\r\n lista.forEach(element => {\r\n if (element.saldoContratoAlemExcedente === true)\r\n valida = true;\r\n if (element.saldoAutorizacaoExcedente === true)\r\n valida = true;\r\n });\r\n\r\n if (valida) {\r\n\r\n yield put(ValidarEmpenhoStatusResponse(resultValidar.data.result));\r\n\r\n } else {\r\n\r\n //Inserir Status\r\n yield call(api.post, `/api/EmpenhoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status inserido!`);\r\n\r\n var data = {\r\n 'IdEmpenho': parseInt(model.idEmpenho)\r\n }\r\n\r\n // Carrega lista de status atuais\r\n const result = yield call(api.post, `/api/EmpenhoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoStatusResponse(result.data.result));\r\n\r\n // Carregar a lista completa para a aba de histórico\r\n const resultCompleto = yield call(api.post, `/api/EmpenhoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoEmpenhoStatusResponse(resultCompleto.data.result));\r\n\r\n // Buscar empenho pra atualizar valores pagos\r\n const resultEmp = yield call(api.get, `/api/Empenho/${model.idEmpenho}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEmpenhoPorIdResponse(resultEmp.data.result));\r\n\r\n // Lista de subitem atualizadas\r\n const resultEmpSub = yield call(api.post, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed/ListarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse(resultEmpSub.data.result));\r\n\r\n yield put(ValidarEmpenhoStatusResponse(null));\r\n }\r\n\r\n }\r\n\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarEmpenhoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n if (model.validacaoFinalizado) {\r\n\r\n yield call(api.put, `/api/EmpenhoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status foi atualizado com sucesso!`);\r\n\r\n var data = {\r\n 'IdEmpenho': parseInt(model.idEmpenho)\r\n }\r\n\r\n const result = yield call(api.post, `/api/EmpenhoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoStatusResponse(result.data.result));\r\n\r\n // Carregar a lista completa para a aba de historico\r\n const resultCompleto = yield call(api.post, `/api/EmpenhoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoEmpenhoStatusResponse(resultCompleto.data.result));\r\n\r\n // Buscar empenho pra atualizar valores pagos\r\n const resultEmp = yield call(api.get, `/api/Empenho/${model.idEmpenho}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEmpenhoPorIdResponse(resultEmp.data.result));\r\n\r\n // Lista de subitem atualizadas\r\n const resultEmpSub = yield call(api.post, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed/ListarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse(resultEmpSub.data.result));\r\n\r\n } else {\r\n\r\n // Validar saldo quantidade\r\n const resultValidar = yield call(api.post, `/api/EmpenhoStatus/validar`, model.data, { headers: headerParams.token });\r\n\r\n var valida = false;\r\n var lista = resultValidar.data.result;\r\n lista.forEach(element => {\r\n if (element.saldoContratoAlemExcedente === true)\r\n valida = true;\r\n if (element.saldoAutorizacaoExcedente === true)\r\n valida = true;\r\n });\r\n\r\n if (valida) {\r\n\r\n yield put(ValidarEmpenhoStatusResponse(resultValidar.data.result));\r\n\r\n } else {\r\n\r\n yield call(api.put, `/api/EmpenhoStatus`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Status foi atualizado com sucesso!`);\r\n\r\n var data = {\r\n 'IdEmpenho': parseInt(model.idEmpenho)\r\n }\r\n\r\n const result = yield call(api.post, `/api/EmpenhoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoStatusResponse(result.data.result));\r\n\r\n // Carregar a lista completa para a aba de historico\r\n const resultCompleto = yield call(api.post, `/api/EmpenhoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoEmpenhoStatusResponse(resultCompleto.data.result));\r\n\r\n // Buscar empenho pra atualizar valores pagos\r\n const resultEmp = yield call(api.get, `/api/Empenho/${model.idEmpenho}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEmpenhoPorIdResponse(resultEmp.data.result));\r\n\r\n // Lista de subitem atualizadas\r\n const resultEmpSub = yield call(api.post, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed/ListarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse(resultEmpSub.data.result));\r\n }\r\n\r\n }\r\n\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirEmpenhoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/EmpenhoStatus/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`EmpenhoStatus id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.get, `/api/EmpenhoStatus`, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoStatusResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true))\r\n }\r\n}\r\n\r\nfunction* ListarCompletoEmpenhoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdEmpenho': parseInt(model.idEmpenho)\r\n }\r\n\r\n const result = yield call(api.post, `/api/EmpenhoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoEmpenhoStatusResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarCompletoEmpenhoStatusResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarMultaEmpenhoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdEmpenho': parseInt(model.idEmpenho)\r\n }\r\n\r\n const result = yield call(api.get, `/api/Empenho/ListaMulta/${parseInt(model.idEmpenho)}`, { headers: headerParams.token });\r\n\r\n yield put(ListarMultaEmpenhoResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarCompletoEmpenhoStatusResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarDiferencaEmpenhoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdEmpenho': parseInt(model.idEmpenho)\r\n }\r\n\r\n const result = yield call(api.get, `/api/Empenho/ListaDiferenca/${parseInt(model.idEmpenho)}`, { headers: headerParams.token });\r\n\r\n yield put(ListarDiferencaEmpenhoResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarCompletoEmpenhoStatusResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* VoltarStatusEmpenhoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/EmpenhoStatus/VoltarStatus/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`O status foi excluido!`);\r\n\r\n var data = {\r\n 'IdEmpenho': parseInt(model.id)\r\n }\r\n\r\n // Carrega lista de status atuais\r\n const result = yield call(api.post, `/api/EmpenhoStatus/listarStatusAtuais`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoStatusResponse(result.data.result));\r\n\r\n // Carregar a lista completa para a aba de histórico\r\n const resultCompleto = yield call(api.post, `/api/EmpenhoStatus/ListarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoEmpenhoStatusResponse(resultCompleto.data.result));\r\n \r\n // Buscar empenho pra atualizar valores pagos\r\n const resultEmp = yield call(api.get, `/api/Empenho/${model.idEmpenho}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEmpenhoPorIdResponse(resultEmp.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true))\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_EMPENHO_STATUS_REQUEST', ListarEmpenhoStatusRequest),\r\n takeLatest('INSERIR_EMPENHO_STATUS_REQUEST', InserirEmpenhoStatusRequest),\r\n takeLatest('ALTERAR_EMPENHO_STATUS_REQUEST', AlterarEmpenhoStatusRequest),\r\n takeLatest('EXCLUIR_EMPENHO_STATUS_REQUEST', ExcluirEmpenhoStatusRequest),\r\n takeLatest('LISTAR_COMPLETO_EMPENHO_STATUS_REQUEST', ListarCompletoEmpenhoStatusRequest),\r\n takeLatest('LISTAR_MULTA_EMPENHO_REQUEST', ListarMultaEmpenhoRequest),\r\n takeLatest('LISTAR_DIFERENCA_EMPENHO_REQUEST',ListarDiferencaEmpenhoRequest),\r\n takeLatest('VOLTAR_STATUS_EMPENHO_REQUEST', VoltarStatusEmpenhoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarFaturamentoResponse, ListarCompletoFaturamentoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarFaturamentoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/Faturamento`, { headers: headerParams.token });\r\n\r\n yield put(ListarFaturamentoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n yield put(ListarFaturamentoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarCompletoFaturamentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/Faturamento/listarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoFaturamentoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n yield put(ListarCompletoFaturamentoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirFaturamentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const resultFatu = yield call(api.post, `/api/Faturamento`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Faturamento ${resultFatu.data.result} foi cadastrado com sucesso!`);\r\n\r\n // Listar completo\r\n const resultComFiltro = yield call(api.post, `/api/Faturamento/listarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoFaturamentoResponse(resultComFiltro.data.result));\r\n\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarFaturamentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/Faturamento`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Faturamento foi atualizado com sucesso!`);\r\n\r\n // Listar completo\r\n const resultComFiltro = yield call(api.post, `/api/Faturamento/listarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoFaturamentoResponse(resultComFiltro.data.result));\r\n\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirFaturamentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/Faturamento/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Faturamento id: ${model.id} foi excluido!`);\r\n\r\n // Listar completo\r\n const resultComFiltro = yield call(api.post, `/api/Faturamento/listarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoFaturamentoResponse(resultComFiltro.data.result));\r\n \r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)) \r\n toast.error(e.response.data.message);\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_FATURAMENTO_REQUEST', ListarFaturamentoRequest),\r\n takeLatest('LISTAR_COMPLETO_FATURAMENTO_REQUEST', ListarCompletoFaturamentoRequest),\r\n takeLatest('INSERIR_FATURAMENTO_REQUEST', InserirFaturamentoRequest),\r\n takeLatest('ALTERAR_FATURAMENTO_REQUEST', AlterarFaturamentoRequest),\r\n takeLatest('EXCLUIR_FATURAMENTO_REQUEST', ExcluirFaturamentoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse, ListarHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse } from './actions';\r\nimport { ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemResponse } from '../autorizacaoFornecimento/actions';\r\nimport { BuscarEmpenhoPorIdResponse } from '../empenho/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed/listarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var dados = {\r\n ListaEmpenhoAutorizacaoFornecimentoSubitemCustoMed: model.data\r\n }\r\n\r\n yield call(api.post, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed`, dados, { headers: headerParams.token });\r\n\r\n toast.success(`Itens cadastrado(s) com sucesso!`);\r\n\r\n const result = yield call(api.post, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed/listarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse(result.data.result));\r\n\r\n const resultListaModal = yield call(api.post, `/api/AutorizacaoFornecimento/ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitem`,\r\n {\r\n IdEmpenho: model.idEmpenho,\r\n IdContrato: model.idContrato,\r\n IdFornecedor: model.idFornecedor\r\n }, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemResponse(resultListaModal.data.result))\r\n\r\n // Buscar empenho pra atualizar valores pagos\r\n const resultEmp = yield call(api.get, `/api/Empenho/${model.idEmpenho}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEmpenhoPorIdResponse(resultEmp.data.result));\r\n\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`EmpenhoAutorizacaoFornecimentoSubitemCustoMed foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed`, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true))\r\n }\r\n}\r\n\r\nfunction* ExcluirEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Empenho item id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.post, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed/listarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse(result.data.result));\r\n\r\n // Listar op��es do modal de inser��o de subitem\r\n const resultListaModal = yield call(api.post, `/api/AutorizacaoFornecimento/ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitem`,\r\n {\r\n IdEmpenho: model.idEmpenho,\r\n IdContrato: model.idContrato,\r\n IdFornecedor: model.idFornecedor\r\n }, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemResponse(resultListaModal.data.result))\r\n\r\n // Buscar empenho pra atualizar valores pagos\r\n const resultEmp = yield call(api.get, `/api/Empenho/${model.idEmpenho}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEmpenhoPorIdResponse(resultEmp.data.result));\r\n\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true))\r\n }\r\n}\r\n\r\nfunction* ExcluirListaSubitensAutorizacaoMedicaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var dados = {\r\n Id: model.listaId\r\n }\r\n\r\n yield call(api.post, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed/listaId`, dados, { headers: headerParams.token });\r\n\r\n //toast.success(`Empenho item id: ${model.id} foi excluido!`);\r\n toast.success(`Itens excluídos com sucesso!`);\r\n\r\n const result = yield call(api.post, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed/listarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse(result.data.result));\r\n\r\n // Listar opções do modal de inserção de subitem\r\n const resultListaModal = yield call(api.post, `/api/AutorizacaoFornecimento/ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitem`,\r\n {\r\n IdEmpenho: model.idEmpenho,\r\n IdContrato: model.idContrato,\r\n IdFornecedor: model.idFornecedor\r\n }, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoHierarquiaAutorizacaoMedicaoFinalizadaSubitemResponse(resultListaModal.data.result))\r\n\r\n // Buscar empenho pra atualizar valores pagos\r\n const resultEmp = yield call(api.get, `/api/Empenho/${model.idEmpenho}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEmpenhoPorIdResponse(resultEmp.data.result));\r\n\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true))\r\n }\r\n}\r\n\r\nfunction* ListarHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/EmpenhoAutorizacaoFornecimentoSubitemCustoMed/ListarCompletoHierarquiaEmpenhoAutorizacaoSubitem`,\r\n {\r\n IdEmpenho: model.idEmpenho,\r\n IdContrato: model.idContrato,\r\n IdFornecedor: model.idFornecedor\r\n }, { headers: headerParams.token });\r\n\r\n yield put(ListarHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse(result.data.result))\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMedResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_EMPENHO_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_REQUEST', ListarEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest),\r\n takeLatest('INSERIR_EMPENHO_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_REQUEST', InserirEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest),\r\n takeLatest('ALTERAR_EMPENHO_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_REQUEST', AlterarEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest),\r\n takeLatest('EXCLUIR_EMPENHO_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_REQUEST', ExcluirEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest),\r\n takeLatest('EXCLUIR_LISTA_SUBITENS_AUTORIZACAO_MEDICAO_REQUEST', ExcluirListaSubitensAutorizacaoMedicaoRequest),\r\n takeLatest('LISTAR_HIERARQUIA_EMPENHO_AUTORIZACAO_FORNECIMENTO_SUBITEM_CUSTO_MED_REQUEST', ListarHierarquiaEmpenhoAutorizacaoFornecimentoSubitemCustoMedRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarEmpenhoDocumentoArquivoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\n\r\nfunction* ListarEmpenhoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/EmpenhoDocumentoArquivo/listarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ListarEmpenhoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirEmpenhoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var resultId = yield call(api.post, `/api/EmpenhoDocumentoArquivo`, model.data, { headers: headerParams.token });\r\n\r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ');\r\n });\r\n\r\n toast.success('Documento id: ' + listaId + 'cadastrados com sucesso!');\r\n\r\n const result = yield call(api.post, `/api/EmpenhoDocumentoArquivo/listarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoDocumentoArquivoResponse(result.data.result));\r\n\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarEmpenhoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/EmpenhoDocumentoArquivo`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Documento foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.post, `/api/EmpenhoDocumentoArquivo/listarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirEmpenhoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false))\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/EmpenhoDocumentoArquivo/${model.id}/${'0'}`, { headers: headerParams.token });\r\n\r\n toast.success(`Empenho Documento Arquivo id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.post, `/api/EmpenhoDocumentoArquivo/listarCompleto`,\r\n { IdEmpenho: parseInt(model.idEmpenho) }, { headers: headerParams.token });\r\n\r\n yield put(ListarEmpenhoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true))\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true))\r\n }\r\n}\r\n\r\nfunction* BaixarEmpenhoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/EmpenhoDocumentoArquivo/${model.id}`, { headers: headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result.nomeArquivo}${result.data.result.descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/EmpenhoDocumentoArquivo/${model.id}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_EMPENHO_DOCUMENTO_ARQUIVO_REQUEST', ListarEmpenhoDocumentoArquivoRequest),\r\n takeLatest('INSERIR_EMPENHO_DOCUMENTO_ARQUIVO_REQUEST', InserirEmpenhoDocumentoArquivoRequest),\r\n takeLatest('ALTERAR_EMPENHO_DOCUMENTO_ARQUIVO_REQUEST', AlterarEmpenhoDocumentoArquivoRequest),\r\n takeLatest('EXCLUIR_EMPENHO_DOCUMENTO_ARQUIVO_REQUEST', ExcluirEmpenhoDocumentoArquivoRequest),\r\n takeLatest('BAIXAR_EMPENHO_DOCUMENTO_ARQUIVO_REQUEST', BaixarEmpenhoDocumentoArquivoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarFaturamentoDocumentoArquivoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\n\r\nfunction* ListarFaturamentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/FaturamentoDocumentoArquivo/listarCompleto`,\r\n { IdFaturamento: parseInt(model.idFaturamento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarFaturamentoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n yield put(ListarFaturamentoDocumentoArquivoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirFaturamentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var resultId = yield call(api.post, `/api/FaturamentoDocumentoArquivo`, model.data, { headers: headerParams.token });\r\n\r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ');\r\n });\r\n\r\n toast.success('Documento id: ' + listaId + 'cadastrados com sucesso!');\r\n\r\n const result = yield call(api.post, `/api/FaturamentoDocumentoArquivo/listarCompleto`,\r\n { IdFaturamento: parseInt(model.idFaturamento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarFaturamentoDocumentoArquivoResponse(result.data.result));\r\n \r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarFaturamentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/FaturamentoDocumentoArquivo`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`FaturamentoDocumentoArquivo foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.post, `/api/FaturamentoDocumentoArquivo/listarCompleto`,\r\n { IdFaturamento: parseInt(model.idFaturamento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarFaturamentoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirFaturamentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/FaturamentoDocumentoArquivo/${model.id}/${'0'}`, { headers: headerParams.token });\r\n\r\n toast.success(`FaturamentoDocumentoArquivo id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.post, `/api/FaturamentoDocumentoArquivo/listarCompleto`,\r\n { IdFaturamento: parseInt(model.idFaturamento) }, { headers: headerParams.token });\r\n\r\n yield put(ListarFaturamentoDocumentoArquivoResponse(result.data.result));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)) \r\n toast.error(e.response.data.message);\r\n }\r\n}\r\n\r\nfunction* BaixarFaturamentoDocumentoArquivoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/FaturamentoDocumentoArquivo/${model.id}`, { headers:headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result.nomeArquivo}${result.data.result.descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/FaturamentoDocumentoArquivo/${model.id}/${'0'}/baixar`, {headers: headerParams.token})\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n toast.error(e.response.data.message);\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_FATURAMENTO_DOCUMENTO_ARQUIVO_REQUEST', ListarFaturamentoDocumentoArquivoRequest),\r\n takeLatest('INSERIR_FATURAMENTO_DOCUMENTO_ARQUIVO_REQUEST', InserirFaturamentoDocumentoArquivoRequest),\r\n takeLatest('ALTERAR_FATURAMENTO_DOCUMENTO_ARQUIVO_REQUEST', AlterarFaturamentoDocumentoArquivoRequest),\r\n takeLatest('EXCLUIR_FATURAMENTO_DOCUMENTO_ARQUIVO_REQUEST', ExcluirFaturamentoDocumentoArquivoRequest),\r\n takeLatest('BAIXAR_FATURAMENTO_DOCUMENTO_ARQUIVO_REQUEST', BaixarFaturamentoDocumentoArquivoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarCategoriaItemResponse } from './actions';\r\nimport { ListarCategoriaItemSubitemCustoPrimarioResponse } from '../categoriaItemSubitemCustoPrimario/actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarCategoriaItemRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/CategoriaItem`, { headers: headerParams.token });\r\n\r\n yield put(ListarCategoriaItemResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarCategoriaItemResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* InserirCategoriaItemRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/CategoriaItem`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`A Solicitacao foi cadastrada com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/CategoriaItem`, { headers: headerParams.token });\r\n\r\n yield put(ListarCategoriaItemResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarCategoriaItemRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global); \r\n\r\n yield call(api.put, `/api/CategoriaItem`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Categoria item foi atualizado com sucesso!`);\r\n\r\n // Listar Catgoria Item\r\n const result = yield call(api.get, `/api/CategoriaItem`, { headers: headerParams.token });\r\n\r\n yield put(ListarCategoriaItemResponse(result.data.result));\r\n \r\n yield put(Carregando(true)); \r\n \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirCategoriaItemRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global); \r\n\r\n yield call(api.delete, `/api/CategoriaItem/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Categoria item id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/CategoriaItem`, { headers: headerParams.token });\r\n\r\n yield put(ListarCategoriaItemResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CATEGORIA_ITEM_REQUEST', ListarCategoriaItemRequest),\r\n takeLatest('INSERIR_CATEGORIA_ITEM_REQUEST', InserirCategoriaItemRequest),\r\n takeLatest('ALTERAR_CATEGORIA_ITEM_REQUEST', AlterarCategoriaItemRequest),\r\n takeLatest('EXCLUIR_CATEGORIA_ITEM_REQUEST', ExcluirCategoriaItemRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarCategoriaItemSubitemCustoPrimarioResponse, ListarCompletoCategoriaItemSubitemCustoPrimarioResponse } from './actions';\r\nimport { ListarSubitemCustoCompletoResponse } from '../subitemCusto/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarCategoriaItemSubitemCustoPrimarioRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/CategoriaItemSubitemCustoPrimario`, { headers: headerParams.token });\r\n\r\n yield put(ListarCategoriaItemSubitemCustoPrimarioResponse(result.data.result));\r\n yield put(Carregando(true));\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarCategoriaItemSubitemCustoPrimarioResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n\r\n}\r\n\r\nfunction* InserirCategoriaItemSubitemCustoPrimarioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global); \r\n\r\n let data = {\r\n ListaCategoriaItemSubitemCustoPrimario: model.data\r\n }\r\n\r\n yield call(api.post, `/api/CategoriaItemSubitemCustoPrimario`, data, { headers: headerParams.token });\r\n\r\n var dados = {\r\n 'IdCategoriaItem': parseInt(model.idCategoriaItem)\r\n }\r\n\r\n const result = yield call(api.post, `/api/CategoriaItemSubitemCustoPrimario/listarCompleto`, dados, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoCategoriaItemSubitemCustoPrimarioResponse(result.data.result));\r\n \r\n var dataS = {\r\n 'IdContrato': parseInt(model.idContrato)\r\n }\r\n\r\n const resultSubitem = yield call(api.post, `/api/subItemCusto/listarCompleto`, dataS, { headers: headerParams.token });\r\n\r\n if (result.data.result == null) {\r\n yield put(ListarSubitemCustoCompletoResponse([]));\r\n } else {\r\n yield put(ListarSubitemCustoCompletoResponse(resultSubitem.data.result));\r\n }\r\n\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`O item foi incluido com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarCategoriaItemSubitemCustoPrimarioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global); \r\n\r\n yield call(api.put, `/api/CategoriaItemSubitemCustoPrimario`, model.data, { headers: headerParams.token });\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Relação categoria com item foi alterado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n\r\n}\r\n\r\nfunction* ExcluirCategoriaItemSubitemCustoPrimarioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/CategoriaItemSubitemCustoPrimario/${model.id}`, { headers: headerParams.token });\r\n\r\n var data = {\r\n 'IdCategoriaItem': parseInt(model.idCategoriaItem)\r\n }\r\n\r\n const result = yield call(api.post, `/api/CategoriaItemSubitemCustoPrimario/listarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoCategoriaItemSubitemCustoPrimarioResponse(result.data.result));\r\n\r\n yield put(Carregando(true)); \r\n \r\n toast.success(`Relação categoria com item foi excluido com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ListarCompletoCategoriaItemSubitemCustoPrimarioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var data = {\r\n 'IdCategoriaItem': parseInt(model.data.IdCategoriaItem)\r\n }\r\n\r\n const result = yield call(api.post, `/api/CategoriaItemSubitemCustoPrimario/listarCompleto`, data,{ headers: headerParams.token });\r\n\r\n yield put(ListarCompletoCategoriaItemSubitemCustoPrimarioResponse(result.data.result));\r\n\r\n yield put(Carregando(true)); \r\n } catch (e) {\r\n\r\n if (e.response != null && e.response.data != null) {\r\n if(e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n\r\n yield put(ListarCompletoCategoriaItemSubitemCustoPrimarioResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_REQUEST', ListarCategoriaItemSubitemCustoPrimarioRequest),\r\n takeLatest('INSERIR_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_REQUEST', InserirCategoriaItemSubitemCustoPrimarioRequest),\r\n takeLatest('ALTERAR_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_REQUEST', AlterarCategoriaItemSubitemCustoPrimarioRequest),\r\n takeLatest('EXCLUIR_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_REQUEST', ExcluirCategoriaItemSubitemCustoPrimarioRequest),\r\n takeLatest('LISTAR_COMPLETO_CATEGORIA_ITEM_SUBITEM_CUSTO_PRIMARIO_REQUEST', ListarCompletoCategoriaItemSubitemCustoPrimarioRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarBairroResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarBairroRequest() {\r\n\r\n try {\r\n\r\n //yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Bairro`, { headers: headerParams.token });\r\n\r\n yield put(ListarBairroResponse(result.data.result));\r\n // yield put(Carregando(true)); \r\n var teste = 'a'\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarBairroResponse([]));\r\n yield put(ErrorResponse(e));\r\n //yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirBairroRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/Bairro`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`O Bairro foi cadastrada com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Bairro`, { headers: headerParams.token });\r\n\r\n yield put(ListarBairroResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* AlterarBairroRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/Bairro`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Bairro foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Bairro`, { headers: headerParams.token });\r\n\r\n yield put(ListarBairroResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirBairroRequest(model) {\r\n\r\n try {\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/Bairro/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Bairro id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/Bairro`, { headers: headerParams.token });\r\n\r\n yield put(ListarBairroResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_BAIRRO_REQUEST', ListarBairroRequest),\r\n takeLatest('INSERIR_BAIRRO_REQUEST', InserirBairroRequest),\r\n takeLatest('ALTERAR_BAIRRO_REQUEST', AlterarBairroRequest),\r\n takeLatest('EXCLUIR_BAIRRO_REQUEST', ExcluirBairroRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport {\r\n ListarDashboardSolicitacaoStatusResponse, ListarDashboardAutorizacaoStatusResponse, ListarDashboardAutorizacaoPorRegionalResponse,\r\n ListarDashboardAutorizacaoFinalizadaPorMesResponse, ListarDashboardAutorizacaoValorPorMesResponse,\r\n ListarDashboardValorContratoPorCategoriaResponse, ListarDashboardCategoriaGastaPorAutorizacaoFornecimentoResponse,\r\n ListarDashboardMedicaoStatusResponse, ListarDashboardObrasIntervencoesPorMesResponse, ListarDashboardManutencoesPorMesResponse\r\n} from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { Carregando } from '../perfil/actions';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\nimport Cookies from 'universal-cookie';\r\n\r\nfunction* ListarDashboardSolicitacaoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n let data = {\r\n dataInicio: model.dataInicio,\r\n dataFinal: model.dataFinal,\r\n visualizarTudo: model.visualizarTudoSolicitacao\r\n }\r\n\r\n const result = yield call(api.post, `/api/Dashboard/ListarDashboardSolicitacaoStatus`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarDashboardSolicitacaoStatusResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarDashboardAutorizacaoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n let data = {\r\n dataInicio: model.inicio,\r\n dataFinal: model.final,\r\n visualizarTudo: model.visualizarTudoAutorizacao\r\n }\r\n\r\n const result = yield call(api.post, `/api/Dashboard/ListarDashboardAutorizacaoStatus`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarDashboardAutorizacaoStatusResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarDashboardMedicaoStatusRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n let data = {\r\n dataInicio: model.dataInicio,\r\n dataFinal: model.dataFinal,\r\n visualizarTudo: model.visualizarTudoMedicao\r\n }\r\n\r\n const result = yield call(api.post, `/api/Dashboard/ListarDashboardMedicaoStatus`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarDashboardMedicaoStatusResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarDashboardAutorizacaoPorRegionalRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Dashboard/ListarDashboardAutorizacaoPorRegional`, { headers: headerParams.token });\r\n\r\n yield put(ListarDashboardAutorizacaoPorRegionalResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarDashboardAutorizacaoFinalizadaPorMesRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Dashboard/ListarDashboardAutorizacaoFinalizadaPorMes`, { headers: headerParams.token });\r\n\r\n yield put(ListarDashboardAutorizacaoFinalizadaPorMesResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarDashboardAutorizacaoValorPorMesRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Dashboard/ListarDashboardAutorizacaoValorPorMes`, { headers: headerParams.token });\r\n\r\n yield put(ListarDashboardAutorizacaoValorPorMesResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarDashboardValorContratoPorCategoriaRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Dashboard/ListarDashboardValorContratoPorCategoria`, { headers: headerParams.token });\r\n\r\n yield put(ListarDashboardValorContratoPorCategoriaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarDashboardCategoriaGastaPorAutorizacaoFornecimentoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Dashboard/ListarDashboardCategoriaGastaPorAutorizacaoFornecimento`, { headers: headerParams.token });\r\n\r\n yield put(ListarDashboardCategoriaGastaPorAutorizacaoFornecimentoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarRelatorioDashboardAutorizacaoFinalizadaPorMesRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/Dashboard/BaixarRelatorioDashboardAutorizacaoFinalizadaPorMes`,\r\n { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório do total de autorizações finalizadas por mês'\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarRelatorioDashboardAutorizacaoPorRegionalRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/Dashboard/BaixarRelatorioDashboardAutorizacaoPorRegional`,\r\n { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório do total de autorizações por região'\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarRelatorioDashboardValorTotalContratoPorCategoriaRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/Dashboard/BaixarRelatorioDashboardValorTotalContratoPorCategoria`,\r\n { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório do total de valor contrato por categoria'\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarRelatorioDashboardValorTotalCategoriaGastaPorAutorizacaoFornecimentoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/Dashboard/BaixarRelatorioDashboardValorTotalCategoriaGastaPorAutorizacaoFornecimento`,\r\n { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório do total de categoria gasta por autorização fornecimento'\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarRelatorioDashboardStatusSolicitacaoFornecimentoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/Dashboard/BaixarRelatorioDashboardStatusSolicitacaoFornecimento`,\r\n { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório do total de Solicitação Fornecimento por Status'\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ListarDashboardObrasIntervencoesPorMesRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data ={\r\n \"VisualizarCompleto\": model.visualizarTudo,\r\n \"Ano\": model.ano\r\n }\r\n\r\n const result = yield call(api.post, `/api/Dashboard/ListarDashboardObrasIntervencoesMes`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarDashboardObrasIntervencoesPorMesResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarRelatorioDashboardObrasIntervencoesPorMesRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n const cookies = new Cookies();\r\n\r\n fetch(`${urlBase}/api/Dashboard/BaixarRelatorioDashboardObrasIntervencoesPorMesRequest`,{\r\n method: \"POST\",\r\n headers: new Headers({\r\n 'Authorization': JSON.parse(localStorage.getItem('token')) !== null ?\r\n `Bearer ${cookies.get('token')}${JSON.parse(localStorage.getItem('token')).tokenCodificado}`\r\n : '',\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }),\r\n body: JSON.stringify({\r\n VisualizarCompleto: model.visualizarTudo,\r\n Ano: model.ano\r\n }),\r\n })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório de Obras e Intervenções por Mês'\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\n\r\nfunction* ListarDashboardManutencoesPorMesRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data ={\r\n \"VisualizarCompleto\": model.visualizarTudo,\r\n \"Ano\": model.ano\r\n }\r\n\r\n const result = yield call(api.post, `/api/Dashboard/ListarDashboardManutencoesPorMes`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarDashboardManutencoesPorMesResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* BaixarRelatorioDashboardManutencoesPorMesRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n const cookies = new Cookies();\r\n\r\n fetch(`${urlBase}/api/Dashboard/BaixarRelatorioDashboardManutencoesPorMesRequest`,{\r\n method: \"POST\",\r\n headers: new Headers({\r\n 'Authorization': JSON.parse(localStorage.getItem('token')) !== null ?\r\n `Bearer ${cookies.get('token')}${JSON.parse(localStorage.getItem('token')).tokenCodificado}`\r\n : '',\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json'\r\n }),\r\n body: JSON.stringify({\r\n VisualizarCompleto: model.visualizarTudo,\r\n Ano: model.ano\r\n }),\r\n })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Relatório de Manutenções por Mês'\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_DASHBOARD_SOLICITACAO_STATUS_REQUEST', ListarDashboardSolicitacaoStatusRequest),\r\n takeLatest('LISTAR_DASHBOARD_AUTORIZACAO_STATUS_REQUEST', ListarDashboardAutorizacaoStatusRequest),\r\n takeLatest('LISTAR_DASHBOARD_AUTORIZACAO_POR_REGIONAL_REQUEST', ListarDashboardAutorizacaoPorRegionalRequest),\r\n takeLatest('LISTAR_DASHBOARD_AUTORIZACAO_FINALIZADA_POR_MES_REQUEST', ListarDashboardAutorizacaoFinalizadaPorMesRequest),\r\n takeLatest('LISTAR_DASHBOARD_AUTORIZACAO_VALOR_POR_MES_REQUEST', ListarDashboardAutorizacaoValorPorMesRequest),\r\n takeLatest('LISTAR_DASHBOARD_VALOR_CONTRATO_POR_CATEGORIA_REQUEST', ListarDashboardValorContratoPorCategoriaRequest),\r\n takeLatest('LISTAR_DASHBOARD_CATEGORIA_GASTA_POR_AUTORIZACAO_FORNECIMENTO_REQUEST', ListarDashboardCategoriaGastaPorAutorizacaoFornecimentoRequest),\r\n takeLatest('BAIXAR_RELATORIO_DASHBOARD_AUTORIZACAO_FINALIZADA_POR_MES_REQUEST', BaixarRelatorioDashboardAutorizacaoFinalizadaPorMesRequest),\r\n takeLatest('BAIXAR_RELATORIO_DASHBOARD_AUTORIZACAO_POR_REGIONAL_REQUEST', BaixarRelatorioDashboardAutorizacaoPorRegionalRequest),\r\n takeLatest('BAIXAR_RELATORIO_DASHBOARD_VALOR_TOTAL_CONTRATO_POR_CATEGORIA_REQUEST', BaixarRelatorioDashboardValorTotalContratoPorCategoriaRequest),\r\n takeLatest('BAIXAR_RELATORIO_DASHBOARD_VALOR_TOTAL_CATEGORIA_GASTA_POR_AUTORIZACAO_FORNECIMENTO_REQUEST', BaixarRelatorioDashboardValorTotalCategoriaGastaPorAutorizacaoFornecimentoRequest),\r\n takeLatest('BAIXAR_RELATORIO_DASHBOARD_STATUS_SOLICITACAO_FORNECIMENTO_REQUEST', BaixarRelatorioDashboardStatusSolicitacaoFornecimentoRequest),\r\n takeLatest('LISTAR_DASHBOARD_MEDICAO_STATUS_REQUEST', ListarDashboardMedicaoStatusRequest),\r\n takeLatest('LISTAR_DASHBOARD_OBRAS_INTERVENCOES_POR_MES_REQUEST', ListarDashboardObrasIntervencoesPorMesRequest),\r\n takeLatest('BAIXAR_RELATORIO_DASHBOARD_OBRAS_INTERVENCOES_POR_MES_REQUEST', BaixarRelatorioDashboardObrasIntervencoesPorMesRequest),\r\n takeLatest('LISTAR_DASHBOARD_MANUTENCOES_POR_MES_REQUEST', ListarDashboardManutencoesPorMesRequest),\r\n takeLatest('BAIXAR_RELATORIO_DASHBOARD_MANUTENCOES_POR_MES_REQUEST', BaixarRelatorioDashboardManutencoesPorMesRequest)\r\n])\r\n\r\n","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { BuscarInteressadoPorNomeResponse, Carregando, ListarInteressadoResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarInteressadoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Interessado`, { headers: headerParams.token });\r\n\r\n yield put(ListarInteressadoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarInteressadoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirInteressadoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/Interessado`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`O interessado foi cadastrado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Interessado`, { headers: headerParams.token });\r\n\r\n yield put(ListarInteressadoResponse(result.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarInteressadoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/Interessado`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Interessado foi atualizado com sucesso!`);\r\n\r\n // Listar Interessado\r\n const result = yield call(api.get, `/api/Interessado`, { headers: headerParams.token });\r\n\r\n yield put(ListarInteressadoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirInteressadoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/Interessado/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Tipo solicitacao id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/Interessado`, { headers: headerParams.token });\r\n\r\n yield put(ListarInteressadoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BuscarInteressadoPorNomeRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Interessado/BuscarPorNome/${model.interessado}`,\r\n { headers: headerParams.token });\r\n\r\n yield put(BuscarInteressadoPorNomeResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(BuscarInteressadoPorNomeResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_INTERESSADO_REQUEST', ListarInteressadoRequest),\r\n takeLatest('INSERIR_INTERESSADO_REQUEST', InserirInteressadoRequest),\r\n takeLatest('ALTERAR_INTERESSADO_REQUEST', AlterarInteressadoRequest),\r\n takeLatest('EXCLUIR_INTERESSADO_REQUEST', ExcluirInteressadoRequest),\r\n takeLatest('BUSCAR_INTERESSADO_POR_NOME_REQUEST', BuscarInteressadoPorNomeRequest),\r\n])","export function ListarTipoCaracteristicaRequest() {\r\n return {\r\n type: 'LISTAR_TIPO_CARACTERISTICA_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarTipoCaracteristicaResponse(listaTipoCaracteristica) {\r\n return {\r\n type: 'LISTAR_TIPO_CARACTERISTICA_RESPONSE',\r\n listaTipoCaracteristica\r\n }\r\n}\r\n\r\nexport function InserirTipoCaracteristicaRequest(data) {\r\n return {\r\n type: 'INSERIR_TIPO_CARACTERISTICA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarTipoCaracteristicaRequest(data) {\r\n return {\r\n type: 'ALTERAR_TIPO_CARACTERISTICA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirTipoCaracteristicaRequest(id) {\r\n return {\r\n type: 'EXCLUIR_TIPO_CARACTERISTICA_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarTipoCaracteristicaResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarTipoCaracteristicaRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/TipoCaracteristica`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoCaracteristicaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarTipoCaracteristicaResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirTipoCaracteristicaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/TipoCaracteristica`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`O interessado foi cadastrado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/TipoCaracteristica`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoCaracteristicaResponse(result.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarTipoCaracteristicaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/TipoCaracteristica`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`TipoCaracteristica foi atualizado com sucesso!`);\r\n\r\n // Listar TipoCaracteristica\r\n const result = yield call(api.get, `/api/TipoCaracteristica`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoCaracteristicaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirTipoCaracteristicaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/TipoCaracteristica/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Tipo solicitacao id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/TipoCaracteristica`, { headers: headerParams.token });\r\n\r\n yield put(ListarTipoCaracteristicaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_TIPO_CARACTERISTICA_REQUEST', ListarTipoCaracteristicaRequest),\r\n takeLatest('INSERIR_TIPO_CARACTERISTICA_REQUEST', InserirTipoCaracteristicaRequest),\r\n takeLatest('ALTERAR_TIPO_CARACTERISTICA_REQUEST', AlterarTipoCaracteristicaRequest),\r\n takeLatest('EXCLUIR_TIPO_CARACTERISTICA_REQUEST', ExcluirTipoCaracteristicaRequest)\r\n])","export function ListarCaracteristicaRequest() {\r\n return {\r\n type: 'LISTAR_CARACTERISTICA_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarCaracteristicaResponse(listaCaracteristica) {\r\n return {\r\n type: 'LISTAR_CARACTERISTICA_RESPONSE',\r\n listaCaracteristica\r\n }\r\n}\r\n\r\nexport function InserirCaracteristicaRequest(data) {\r\n return {\r\n type: 'INSERIR_CARACTERISTICA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarCaracteristicaRequest(data) {\r\n return {\r\n type: 'ALTERAR_CARACTERISTICA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirCaracteristicaRequest(id) {\r\n return {\r\n type: 'EXCLUIR_CARACTERISTICA_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarCaracteristicaResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarCaracteristicaRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Caracteristica`, { headers: headerParams.token });\r\n\r\n yield put(ListarCaracteristicaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarCaracteristicaResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirCaracteristicaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/Caracteristica`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`O interessado foi cadastrado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Caracteristica`, { headers: headerParams.token });\r\n\r\n yield put(ListarCaracteristicaResponse(result.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarCaracteristicaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/Caracteristica`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Caracteristica foi atualizado com sucesso!`);\r\n\r\n // Listar Caracteristica\r\n const result = yield call(api.get, `/api/Caracteristica`, { headers: headerParams.token });\r\n\r\n yield put(ListarCaracteristicaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirCaracteristicaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/Caracteristica/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Tipo solicitacao id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/Caracteristica`, { headers: headerParams.token });\r\n\r\n yield put(ListarCaracteristicaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CARACTERISTICA_REQUEST', ListarCaracteristicaRequest),\r\n takeLatest('INSERIR_CARACTERISTICA_REQUEST', InserirCaracteristicaRequest),\r\n takeLatest('ALTERAR_CARACTERISTICA_REQUEST', AlterarCaracteristicaRequest),\r\n takeLatest('EXCLUIR_CARACTERISTICA_REQUEST', ExcluirCaracteristicaRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarFormularioResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarFormularioRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Formulario`, { headers: headerParams.token });\r\n\r\n yield put(ListarFormularioResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarFormularioResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirFormularioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/Formulario`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`O interessado foi cadastrado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Formulario`, { headers: headerParams.token });\r\n\r\n yield put(ListarFormularioResponse(result.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarFormularioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/Formulario`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Formulario foi atualizado com sucesso!`);\r\n\r\n // Listar Formulario\r\n const result = yield call(api.get, `/api/Formulario`, { headers: headerParams.token });\r\n\r\n yield put(ListarFormularioResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirFormularioRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/Formulario/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Tipo solicitacao id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/Formulario`, { headers: headerParams.token });\r\n\r\n yield put(ListarFormularioResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_FORMULARIO_REQUEST', ListarFormularioRequest),\r\n takeLatest('INSERIR_FORMULARIO_REQUEST', InserirFormularioRequest),\r\n takeLatest('ALTERAR_FORMULARIO_REQUEST', AlterarFormularioRequest),\r\n takeLatest('EXCLUIR_FORMULARIO_REQUEST', ExcluirFormularioRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarCaracteristicaRespostaResponse, BuscarCaracteristicaRespostaPorNomeResponse } from './actions';\r\nimport { BuscarTipoSolicitacaoResponse } from '../tipoSolicitacao/actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarCaracteristicaRespostaRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/CaracteristicaResposta`, { headers: headerParams.token });\r\n\r\n yield put(ListarCaracteristicaRespostaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarCaracteristicaRespostaResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirCaracteristicaRespostaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/CaracteristicaResposta`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Cadastrado realizado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/CaracteristicaResposta`, { headers: headerParams.token });\r\n\r\n yield put(ListarCaracteristicaRespostaResponse(result.data.result));\r\n\r\n var data = {\r\n 'Id': parseInt(model.idTipoSolicitacao),\r\n 'IdSolicitacaoFornecimento': parseInt(model.idSolicitacaoFornecimento)\r\n }\r\n\r\n const resultTipo = yield call(api.post, `/api/TipoSolicitacao/BuscarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(BuscarTipoSolicitacaoResponse(resultTipo.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarCaracteristicaRespostaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/CaracteristicaResposta`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`CaracteristicaResposta foi atualizado com sucesso!`);\r\n\r\n // Listar CaracteristicaResposta\r\n const result = yield call(api.get, `/api/CaracteristicaResposta`, { headers: headerParams.token });\r\n\r\n yield put(ListarCaracteristicaRespostaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirCaracteristicaRespostaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/CaracteristicaResposta/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Tipo solicitacao id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/CaracteristicaResposta`, { headers: headerParams.token });\r\n\r\n yield put(ListarCaracteristicaRespostaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BuscarCaracteristicaRespostaPorNomeRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/CaracteristicaResposta/BuscarPorNome/${model.descricao}`,\r\n { headers: headerParams.token });\r\n\r\n yield put(BuscarCaracteristicaRespostaPorNomeResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(BuscarCaracteristicaRespostaPorNomeResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_CARACTERISTICA_RESPOSTA_REQUEST', ListarCaracteristicaRespostaRequest),\r\n takeLatest('INSERIR_CARACTERISTICA_RESPOSTA_REQUEST', InserirCaracteristicaRespostaRequest),\r\n takeLatest('ALTERAR_CARACTERISTICA_RESPOSTA_REQUEST', AlterarCaracteristicaRespostaRequest),\r\n takeLatest('EXCLUIR_CARACTERISTICA_RESPOSTA_REQUEST', ExcluirCaracteristicaRespostaRequest),\r\n takeLatest('BUSCAR_CARACTERISTICA_RESPOSTA_POR_NOME_REQUEST', BuscarCaracteristicaRespostaPorNomeRequest)\r\n])","export function ListarFormularioCaracteristicaRequest() {\r\n return {\r\n type: 'LISTAR_FORMULARIO_CARACTERISTICA_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarFormularioCaracteristicaResponse(listaFormularioCaracteristica) {\r\n return {\r\n type: 'LISTAR_FORMULARIO_CARACTERISTICA_RESPONSE',\r\n listaFormularioCaracteristica\r\n }\r\n}\r\n\r\nexport function InserirFormularioCaracteristicaRequest(data) {\r\n return {\r\n type: 'INSERIR_FORMULARIO_CARACTERISTICA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarFormularioCaracteristicaRequest(data) {\r\n return {\r\n type: 'ALTERAR_FORMULARIO_CARACTERISTICA_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirFormularioCaracteristicaRequest(id) {\r\n return {\r\n type: 'EXCLUIR_FORMULARIO_CARACTERISTICA_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarFormularioCaracteristicaResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarFormularioCaracteristicaRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/FormularioCaracteristica`, { headers: headerParams.token });\r\n\r\n yield put(ListarFormularioCaracteristicaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarFormularioCaracteristicaResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirFormularioCaracteristicaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/FormularioCaracteristica`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`O interessado foi cadastrado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/FormularioCaracteristica`, { headers: headerParams.token });\r\n\r\n yield put(ListarFormularioCaracteristicaResponse(result.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarFormularioCaracteristicaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/FormularioCaracteristica`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`FormularioCaracteristica foi atualizado com sucesso!`);\r\n\r\n // Listar FormularioCaracteristica\r\n const result = yield call(api.get, `/api/FormularioCaracteristica`, { headers: headerParams.token });\r\n\r\n yield put(ListarFormularioCaracteristicaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirFormularioCaracteristicaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/FormularioCaracteristica/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Tipo solicitacao id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/FormularioCaracteristica`, { headers: headerParams.token });\r\n\r\n yield put(ListarFormularioCaracteristicaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_FORMULARIO_CARACTERISTICA_REQUEST', ListarFormularioCaracteristicaRequest),\r\n takeLatest('INSERIR_FORMULARIO_CARACTERISTICA_REQUEST', InserirFormularioCaracteristicaRequest),\r\n takeLatest('ALTERAR_FORMULARIO_CARACTERISTICA_REQUEST', AlterarFormularioCaracteristicaRequest),\r\n takeLatest('EXCLUIR_FORMULARIO_CARACTERISTICA_REQUEST', ExcluirFormularioCaracteristicaRequest)\r\n])","export function ListarSolicitacaoFornecimentoCaracteristicaRespostaRequest() {\r\n return {\r\n type: 'LISTAR_INTERESSADO_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarSolicitacaoFornecimentoCaracteristicaRespostaResponse(listaSolicitacaoFornecimentoCaracteristicaResposta) {\r\n return {\r\n type: 'LISTAR_INTERESSADO_RESPONSE',\r\n listaSolicitacaoFornecimentoCaracteristicaResposta\r\n }\r\n}\r\n\r\nexport function InserirSolicitacaoFornecimentoCaracteristicaRespostaRequest(data) {\r\n return {\r\n type: 'INSERIR_INTERESSADO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarSolicitacaoFornecimentoCaracteristicaRespostaRequest(data) {\r\n return {\r\n type: 'ALTERAR_INTERESSADO_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirSolicitacaoFornecimentoCaracteristicaRespostaRequest(id) {\r\n return {\r\n type: 'EXCLUIR_INTERESSADO_REQUEST',\r\n id\r\n }\r\n}\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarSolicitacaoFornecimentoCaracteristicaRespostaResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarSolicitacaoFornecimentoCaracteristicaRespostaRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/SolicitacaoFornecimentoCaracteristicaResposta`, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoCaracteristicaRespostaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarSolicitacaoFornecimentoCaracteristicaRespostaResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirSolicitacaoFornecimentoCaracteristicaRespostaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/SolicitacaoFornecimentoCaracteristicaResposta`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`O interessado foi cadastrado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/SolicitacaoFornecimentoCaracteristicaResposta`, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoCaracteristicaRespostaResponse(result.data.result));\r\n\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarSolicitacaoFornecimentoCaracteristicaRespostaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/SolicitacaoFornecimentoCaracteristicaResposta`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`SolicitacaoFornecimentoCaracteristicaResposta foi atualizado com sucesso!`);\r\n\r\n // Listar SolicitacaoFornecimentoCaracteristicaResposta\r\n const result = yield call(api.get, `/api/SolicitacaoFornecimentoCaracteristicaResposta`, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoCaracteristicaRespostaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirSolicitacaoFornecimentoCaracteristicaRespostaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/SolicitacaoFornecimentoCaracteristicaResposta/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Tipo solicitacao id: ${model.id} foi excluida!`);\r\n\r\n const result = yield call(api.get, `/api/SolicitacaoFornecimentoCaracteristicaResposta`, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoCaracteristicaRespostaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_SOLICITACAO_FORNECIMENTO_CARACTERISTICA_RESPOSTA_REQUEST', ListarSolicitacaoFornecimentoCaracteristicaRespostaRequest),\r\n takeLatest('INSERIR_SOLICITACAO_FORNECIMENTO_CARACTERISTICA_RESPOSTA_REQUEST', InserirSolicitacaoFornecimentoCaracteristicaRespostaRequest),\r\n takeLatest('ALTERAR_SOLICITACAO_FORNECIMENTO_CARACTERISTICA_RESPOSTA_REQUEST', AlterarSolicitacaoFornecimentoCaracteristicaRespostaRequest),\r\n takeLatest('EXCLUIR_SOLICITACAO_FORNECIMENTO_CARACTERISTICA_RESPOSTA_REQUEST', ExcluirSolicitacaoFornecimentoCaracteristicaRespostaRequest)\r\n])","export function ListarLimiteValorRequest() {\r\n return {\r\n type: 'LISTAR_LIMITE_VALOR_REQUEST'\r\n }\r\n}\r\n\r\nexport function ListarLimiteValorResponse(listaLimiteValor) {\r\n return {\r\n type: 'LISTAR_LIMITE_VALOR_SUCCESS',\r\n listaLimiteValor\r\n }\r\n}\r\n\r\nexport function InserirLimiteValorRequest(data) {\r\n return {\r\n type: 'INSERIR_LIMITE_VALOR_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function AlterarLimiteValorRequest(data) {\r\n return {\r\n type: 'ALTERAR_LIMITE_VALOR_REQUEST',\r\n data\r\n }\r\n}\r\n\r\nexport function ExcluirLimiteValorRequest(id) {\r\n return {\r\n type: 'EXCLUIR_LIMITE_VALOR_REQUEST',\r\n id\r\n }\r\n}\r\n\r\n\r\nexport function Carregando(status) {\r\n return {\r\n type: 'CARREGANDO',\r\n status\r\n }\r\n}","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { ListarLimiteValorResponse, Carregando } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarLimiteValorRequest(){\r\n\r\n try{\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/limiteValor`, { headers:headerParams.token });\r\n\r\n yield put(ListarLimiteValorResponse(result.data.result)); \r\n yield put(Carregando(true)); \r\n \r\n }catch(e){\r\n\r\n if (e.response != null && e.response.data != null) {\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n \r\n yield put(ListarLimiteValorResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* InserirLimiteValorRequest(model){\r\n\r\n try{\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/limiteValor`, model.data, { headers:headerParams.token });\r\n \r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Limite Valor foi cadastrado com sucesso!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nfunction* AlterarLimiteValorRequest(model){\r\n\r\n try{\r\n \r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/limiteValor`, model.data, { headers: headerParams.token });\r\n\r\n yield put(Carregando(true));\r\n \r\n toast.success(`Limite valor foi atualizado com sucesso!`);\r\n \r\n }catch(e){\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* ExcluirLimiteValorRequest(model){\r\n\r\n try{ \r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/limiteValor/${model.id}`, { headers: headerParams.token });\r\n yield put(Carregando(true)); \r\n\r\n toast.success(`Limite Valor id: ${model.id} foi excluido!`);\r\n \r\n }catch(e){\r\n\r\n if (e.response != null && e.response.data != null) {\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n }\r\n \r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_LIMITE_VALOR_REQUEST', ListarLimiteValorRequest),\r\n takeLatest('INSERIR_LIMITE_VALOR_REQUEST', InserirLimiteValorRequest),\r\n takeLatest('ALTERAR_LIMITE_VALOR_REQUEST', AlterarLimiteValorRequest),\r\n takeLatest('EXCLUIR_LIMITE_VALOR_REQUEST', ExcluirLimiteValorRequest), \r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { BuscarOrgaoPorNomeResponse, Carregando, ListarOrgaoResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarOrgaoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Orgao`, { headers: headerParams.token });\r\n\r\n yield put(ListarOrgaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ListarOrgaoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirOrgaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/Orgao`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`O Orgao foi cadastrado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Orgao`, { headers: headerParams.token });\r\n\r\n yield put(ListarOrgaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarOrgaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/Orgao`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Orgao atualizado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Orgao`, { headers: headerParams.token });\r\n\r\n yield put(ListarOrgaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirOrgaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/Orgao/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Orgao id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.get, `/api/Orgao`, { headers: headerParams.token });\r\n\r\n yield put(ListarOrgaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BuscarOrgaoPorNomeRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Orgao/BuscarPorNome/${model.orgao}`,\r\n { headers: headerParams.token });\r\n\r\n yield put(BuscarOrgaoPorNomeResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(BuscarOrgaoPorNomeResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_ORGAO_REQUEST', ListarOrgaoRequest),\r\n takeLatest('INSERIR_ORGAO_REQUEST', InserirOrgaoRequest),\r\n takeLatest('ALTERAR_ORGAO_REQUEST', AlterarOrgaoRequest),\r\n takeLatest('EXCLUIR_ORGAO_REQUEST', ExcluirOrgaoRequest),\r\n takeLatest('BUSCAR_ORGAO_POR_NOME_REQUEST', BuscarOrgaoPorNomeRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarMultaResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarMultaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/Multa/ListarComFiltro`, { 'IdEmpenho': model.idEmpenho }, { headers: headerParams.token });\r\n\r\n yield put(ListarMultaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ListarMultaResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirMultaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/Multa`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`A Multa foi cadastrada com sucesso!`);\r\n\r\n const result = yield call(api.post, `/api/Multa/ListarComFiltro`, { 'IdEmpenho': model.data.IdEmpenho }, { headers: headerParams.token });\r\n\r\n yield put(ListarMultaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarMultaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/Multa`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Multa foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.post, `/api/Multa/ListarComFiltro`, { 'IdEmpenho': model.data.IdEmpenho }, { headers: headerParams.token });\r\n\r\n yield put(ListarMultaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n }\r\n else\r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirMultaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/Multa/${model.id}`, { headers: headerParams.token });\r\n\r\n toast.success(`Multa id: ${model.id} foi excluido!`);\r\n\r\n const result = yield call(api.post, `/api/Multa/ListarComFiltro`, { 'IdEmpenho': model.idEmpenho }, { headers: headerParams.token });\r\n\r\n yield put(ListarMultaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_MULTA_REQUEST', ListarMultaRequest),\r\n takeLatest('INSERIR_MULTA_REQUEST', InserirMultaRequest),\r\n takeLatest('ALTERAR_MULTA_REQUEST', AlterarMultaRequest),\r\n takeLatest('EXCLUIR_MULTA_REQUEST', ExcluirMultaRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarEventoAdicionalResponse, BuscarEventoAdicionalPorIdResponse } from './actions';\r\nimport { BuscarSolicitacaoFornecimentoPorIdResponse } from '../solicitacaoFornecimento/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarEventoAdicionalRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/EventoAdicional/SolicitacaoFornecimento/${model.idSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(ListarEventoAdicionalResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarEventoAdicionalResponse([]));\r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nfunction* BuscarEventoAdicionalPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/EventoAdicional/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEventoAdicionalPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarEventoAdicionalPorIdResponse(null));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirEventoAdicionalRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/EventoAdicional`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/EventoAdicional/SolicitacaoFornecimento/${model.idSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(ListarEventoAdicionalResponse(result.data.result));\r\n\r\n const resultSoli = yield call(api.get, `/api/SolicitacaoFornecimento/${model.idSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(resultSoli.data.result));\r\n\r\n yield put(Carregando(true));\r\n \r\n toast.success(`Evento adicional foi cadastrado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nfunction* AlterarEventoAdicionalRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/EventoAdicional`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/EventoAdicional/SolicitacaoFornecimento/${model.idSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(ListarEventoAdicionalResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Evento adicional foi atualizado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* ExcluirEventoAdicionalRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/EventoAdicional/${model.id}`, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/EventoAdicional/SolicitacaoFornecimento/${model.idSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(ListarEventoAdicionalResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Evento adicional id: ${model.id} foi excluido!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_EVENTO_ADICIONAL_REQUEST', ListarEventoAdicionalRequest),\r\n takeLatest('BUSCAR_EVENTO_ADICIONAL_POR_ID_REQUEST', BuscarEventoAdicionalPorIdRequest),\r\n takeLatest('INSERIR_EVENTO_ADICIONAL_REQUEST', InserirEventoAdicionalRequest),\r\n takeLatest('ALTERAR_EVENTO_ADICIONAL_REQUEST', AlterarEventoAdicionalRequest),\r\n takeLatest('EXCLUIR_EVENTO_ADICIONAL_REQUEST', ExcluirEventoAdicionalRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarEventoRespostaResponse, BuscarEventoRespostaPorIdResponse } from './actions';\r\nimport { BuscarSolicitacaoFornecimentoPorIdResponse } from '../solicitacaoFornecimento/actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarEventoRespostaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/EventoResposta/SolicitacaoFornecimento/${model.idSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(ListarEventoRespostaResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarEventoRespostaResponse([]));\r\n yield put(ErrorResponse(e)); \r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nfunction* BuscarEventoRespostaPorIdRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/EventoResposta/${model.id}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEventoRespostaPorIdResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(BuscarEventoRespostaPorIdResponse(null));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirEventoRespostaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/EventoResposta`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/EventoResposta/SolicitacaoFornecimento/${model.idSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(ListarEventoRespostaResponse(result.data.result));\r\n\r\n const resultSoli = yield call(api.get, `/api/SolicitacaoFornecimento/${model.idSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarSolicitacaoFornecimentoPorIdResponse(resultSoli.data.result));\r\n\r\n const resultEv = yield call(api.get, `/api/EventoResposta/${model.idSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(BuscarEventoRespostaPorIdResponse(resultEv.data.result));\r\n\r\n yield put(Carregando(true));\r\n \r\n toast.success(`Evento resposta foi cadastrado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true)); \r\n\r\n }\r\n}\r\n\r\nfunction* AlterarEventoRespostaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/EventoResposta`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/EventoResposta/SolicitacaoFornecimento/${model.idSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(ListarEventoRespostaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Evento resposta foi atualizado com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`)\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* ExcluirEventoRespostaRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/EventoResposta/${model.id}`, { headers: headerParams.token });\r\n\r\n const result = yield call(api.get, `/api/EventoResposta/SolicitacaoFornecimento/${model.idSolicitacaoFornecimento}`, { headers: headerParams.token });\r\n\r\n yield put(ListarEventoRespostaResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Evento resposta id: ${model.id} foi excluido!`);\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_EVENTO_RESPOSTA_REQUEST', ListarEventoRespostaRequest),\r\n takeLatest('BUSCAR_EVENTO_RESPOSTA_POR_ID_REQUEST', BuscarEventoRespostaPorIdRequest),\r\n takeLatest('INSERIR_EVENTO_RESPOSTA_REQUEST', InserirEventoRespostaRequest),\r\n takeLatest('ALTERAR_EVENTO_RESPOSTA_REQUEST', AlterarEventoRespostaRequest),\r\n takeLatest('EXCLUIR_EVENTO_RESPOSTA_REQUEST', ExcluirEventoRespostaRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarHistoricoAutorizacaoFornecimentoEmpenhoResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarHistoricoAutorizacaoFornecimentoEmpenhoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdAutorizacaoFornecimento': parseInt(model.IdAutorizacaoFornecimento)\r\n }\r\n\r\n const result = yield call(api.post, `/api/HistoricoAutorizacaoFornecimentoEmpenho/listar`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarHistoricoAutorizacaoFornecimentoEmpenhoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarHistoricoAutorizacaoFornecimentoEmpenhoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\n\r\nexport default all([\r\n takeLatest('LISTAR_HISTORICO_AUTORIZACAO_FORNECIMENTO_EMPENHO_REQUEST', ListarHistoricoAutorizacaoFornecimentoEmpenhoRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarSolicitacaoFornecimentoHistoricoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarSolicitacaoFornecimentoHistoricoComRedirecionamentoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': parseInt(model.idSolicitacao)\r\n }\r\n \r\n history.push(`/historicoSolicitacao/${model.idSolicitacao}`); \r\n\r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoHistorico/listarCompleto`, data, { headers: headerParams.token });\r\n \r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarSolicitacaoFornecimentoHistoricoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\n\r\nfunction* ListarSolicitacaoFornecimentoHistoricoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)) \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n 'IdSolicitacaoFornecimento': parseInt(model.data)\r\n }\r\n \r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoHistorico/listarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoHistoricoResponse([result.data.result]));\r\n yield put(Carregando(true)) \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarSolicitacaoFornecimentoHistoricoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\n\r\nexport default all([\r\n takeLatest('LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_COM_REDIRECIONAMENTO_REQUEST', ListarSolicitacaoFornecimentoHistoricoComRedirecionamentoRequest),\r\n takeLatest('LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_REQUEST', ListarSolicitacaoFornecimentoHistoricoRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { Carregando, ListarSolicitacaoFornecimentoHistoricoRegFotoResponse } from './actions';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarCompletoSolicitacaoFornecimentoHistoricoRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoHistoricoRegFoto/listarCompleto`,\r\n { IdSolicitacaoFornecimentoHistorico: parseInt(model.idSolicitacaoHistorico) }, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoHistoricoRegFotoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ListarSolicitacaoFornecimentoHistoricoRegFotoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarSolicitacaoFornecimentoHistoricoRegFotoRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoHistoricoRegFoto`, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoHistoricoRegFotoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ListarSolicitacaoFornecimentoHistoricoRegFotoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BaixarSolicitacaoFornecimentoHistoricoRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/SolicitacaoFornecimentoHistoricoRegFoto/listar/${model.numeroSolicitacaoRegFoto}/${model.id}`, { headers:headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result[0].nomeRegistroFotografico}${result.data.result[0].descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/SolicitacaoFornecimentoHistoricoRegFoto/${model.numeroSolicitacaoRegFoto}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n\r\n yield put(Carregando(true));\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(Carregando(true));\r\n yield put(ErrorResponse(e));\r\n }\r\n}\r\n\r\nfunction* CarregarImagemSolicitacaoFornecimentoHistoricoRegFotoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n fetch(`${urlBase}/api/SolicitacaoFornecimentoHistoricoRegFoto/${model.id}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('img');\r\n elem.src = window.URL.createObjectURL(myBlob);\r\n document.getElementById(\"divImagemFotoSolicitacaoFornecimentoHistoricoRegFoto\").appendChild(elem).style.width = \"100%\"; \r\n });\r\n \r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_COMPLETO_SOLICITACAO_FORNECIMENTO_HISTORICO_REG_FOTO_REQUEST', ListarCompletoSolicitacaoFornecimentoHistoricoRegFotoRequest),\r\n takeLatest('LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_REG_FOTO_REQUEST', ListarSolicitacaoFornecimentoHistoricoRegFotoRequest),\r\n takeLatest('BAIXAR_SOLICITACAO_FORNECIMENTO_HISTORICO_REG_FOTO_REQUEST', BaixarSolicitacaoFornecimentoHistoricoRegFotoRequest),\r\n takeLatest('CARREGAR_IMAGEM_SOLICITACAO_FORNECIMENTO_HISTORICO_REG_FOTO_REQUEST', CarregarImagemSolicitacaoFornecimentoHistoricoRegFotoRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { Carregando, ListarSolicitacaoFornecimentoHistoricoDocArqResponse } from './actions';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarCompletoSolicitacaoFornecimentoHistoricoDocArqRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoHistoricoDocArq/listarCompleto`,\r\n { IdSolicitacaoFornecimentoHistorico: parseInt(model.idSolicitacaoHistorico) }, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoHistoricoDocArqResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ListarSolicitacaoFornecimentoHistoricoDocArqResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarSolicitacaoFornecimentoHistoricoDocArqRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/SolicitacaoFornecimentoHistoricoDocArq`, { headers: headerParams.token });\r\n\r\n yield put(ListarSolicitacaoFornecimentoHistoricoDocArqResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ListarSolicitacaoFornecimentoHistoricoDocArqResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BaixarSolicitacaoFornecimentoHistoricoDocArqRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/SolicitacaoFornecimentoHistoricoDocArq/listar/${model.numeroSolicitacaoDocArq}/${model.id}`, { headers:headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result[0].nomeArquivo}${result.data.result[0].descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/SolicitacaoFornecimentoHistoricoDocArq/${model.numeroSolicitacaoDocArq}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n\r\n yield put(Carregando(true));\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(Carregando(true));\r\n yield put(ErrorResponse(e));\r\n }\r\n}\r\n\r\nfunction* CarregarImagemSolicitacaoFornecimentoHistoricoDocArqRequest(model) {\r\n\r\n try {\r\n\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n fetch(`${urlBase}/api/SolicitacaoFornecimentoHistoricoDocArq/${model.id}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('img');\r\n elem.src = window.URL.createObjectURL(myBlob);\r\n document.getElementById(\"divImagemFotoSolicitacaoFornecimentoHistoricoDocArq\").appendChild(elem).style.width = \"100%\"; \r\n });\r\n \r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_COMPLETO_SOLICITACAO_FORNECIMENTO_HISTORICO_DOC_ARQ_REQUEST', ListarCompletoSolicitacaoFornecimentoHistoricoDocArqRequest),\r\n takeLatest('LISTAR_SOLICITACAO_FORNECIMENTO_HISTORICO_DOC_ARQ_REQUEST', ListarSolicitacaoFornecimentoHistoricoDocArqRequest),\r\n takeLatest('BAIXAR_SOLICITACAO_FORNECIMENTO_HISTORICO_DOC_ARQ_REQUEST', BaixarSolicitacaoFornecimentoHistoricoDocArqRequest),\r\n takeLatest('CARREGAR_IMAGEM_SOLICITACAO_FORNECIMENTO_HISTORICO_DOC_ARQ_REQUEST', CarregarImagemSolicitacaoFornecimentoHistoricoDocArqRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarNotificacaoResponse } from './actions';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarNotificacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.post, `/api/Notificacao/ListarCompleto`, { idUsuario: model.idUsuario },\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarNotificacaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n //toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarNotificacaoResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* InserirNotificacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post, `/api/Notificacao`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/Notificacao/ListarCompleto`, { 'IdUsuario': model.data.IdUsuario },\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarNotificacaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Uma notificação foi cadastrada com sucesso!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarNotificacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put, `/api/Notificacao`, model.data, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/Notificacao/ListarCompleto`, { 'IdUsuario': model.data.IdUsuario },\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarNotificacaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n yield put(ListarNotificacaoResponse([]));\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ExcluirNotificacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete, `/api/Notificacao/${model.id}`, { headers: headerParams.token });\r\n\r\n const result = yield call(api.post, `/api/Notificacao/ListarCompleto`, { 'IdUsuario': model.data.IdUsuario },\r\n { headers: headerParams.token });\r\n\r\n yield put(ListarNotificacaoResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n toast.success(`Notificação id: ${model.id} foi excluido!`);\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_NOTIFICACAO_REQUEST', ListarNotificacaoRequest),\r\n takeLatest('INSERIR_NOTIFICACAO_REQUEST', InserirNotificacaoRequest),\r\n takeLatest('ALTERAR_NOTIFICACAO_REQUEST', AlterarNotificacaoRequest),\r\n takeLatest('EXCLUIR_NOTIFICACAO_REQUEST', ExcluirNotificacaoRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarAssinanteResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport history from '../../../services/history';\r\nimport api from '../../../services/api';\r\n\r\nfunction* ListarAssinanteRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Assinante/Listar`, { headers: headerParams.token });\r\n\r\n yield put(ListarAssinanteResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ListarAssinanteResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirAssinanteRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.post,`api/Assinante/Inserir`, model.data, {headers : headerParams.token });\r\n\r\n toast.success(`Assinante cadastrado com sucesso!`);\r\n\r\n const result = yield call(api.get,`/api/Assinante/Listar`, {headers : headerParams.token });\r\n\r\n yield put(ListarAssinanteResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n \r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* AlterarAssinanteRequest(model){\r\n try{\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.put,`/api/Assinante/Alterar`, model.data,{headers : headerParams.token });\r\n\r\n toast.success('Assinante alterado com sucesso!');\r\n\r\n const result = yield call(api.get,`/api/Assinante/Listar`,{headers : headerParams.token });\r\n\r\n yield put(ListarAssinanteResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e){\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction * ExcluirAssinanteRequest(id){\r\n try{\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n yield call(api.delete,`/api/Assinante/Deletar/${id.id}`,{headers : headerParams.token });\r\n toast.success(\"Assinante deletado com sucesso!\");\r\n\r\n const result = yield call(api.get,`/api/Assinante/Listar`, {headers : headerParams.token });\r\n\r\n yield put(ListarAssinanteResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e){\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_ASSINANTE_REQUEST', ListarAssinanteRequest),\r\n takeLatest('INSERIR_ASSINANTE_REQUEST', InserirAssinanteRequest),\r\n takeLatest('ALTERAR_ASSINANTE_REQUEST', AlterarAssinanteRequest),\r\n takeLatest('EXCLUIR_ASSINANTE_REQUEST', ExcluirAssinanteRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { toast } from 'react-toastify';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { Carregando, ListarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemResponse,\r\n ListarCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemResponse } from './actions';\r\nimport api from '../../../services/api';\r\nimport urlBase from '../../../services/rotas';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest(model) {\r\n\r\n try {\r\n\r\n //yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var data = {\r\n 'IdAutorizacaoFornecimentoSubitem': model.idAutorizacaoSubitem,\r\n 'IdAutorizacaoFornecimentoMedicaoSubitem': model.idAutorizacaoSubitemMedicao\r\n }\r\n\r\n const result = yield call(api.post, `/api/RegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/listarCompleto`, data, { headers: headerParams.token });\r\n\r\n yield put(ListarCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemResponse(result.data.result));\r\n //yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ListarCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* ListarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.post, `/api/RegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem`, { headers: headerParams.token });\r\n\r\n yield put(ListarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ListarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BaixarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n const result = yield call(api.get, `/api/RegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/${model.id}`, { headers:headerParams.token });\r\n\r\n const nomeArquivo = `${result.data.result.nomeRegistroFotografico}${result.data.result.descricaoExtensaoArquivo}`\r\n\r\n fetch(`${urlBase}/api/RegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/${model.id}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(myBlob);\r\n elem.download = nomeArquivo;\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n\r\n yield put(Carregando(true));\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(Carregando(true));\r\n yield put(ErrorResponse(e));\r\n }\r\n}\r\n\r\nfunction* CarregarImagemRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest(model) {\r\n\r\n try {\r\n\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n fetch(`${urlBase}/api/RegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/${model.id}/${'0'}/baixar`, { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (myBlob) {\r\n let elem = window.document.createElement('img');\r\n elem.src = window.URL.createObjectURL(myBlob);\r\n document.getElementById(\"divImagemFotoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem\").appendChild(elem).style.width = \"100%\"; \r\n });\r\n \r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n }\r\n}\r\n\r\nfunction* InserirRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemAutorizacaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var resultId = yield call(api.post, `/api/RegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/${model.id}/AutorizacaoFornecimentoSubitem`, model.data, { headers: headerParams.token });\r\n \r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ' );\r\n });\r\n \r\n yield put(Carregando(true));\r\n\r\n toast.success('Foto id: ' + listaId + ' cadastrada com sucesso!');\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n }\r\n\r\n yield put(ListarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nfunction* InserirRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemMedicaoRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n var resultId = yield call(api.post, `/api/RegFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/${model.id}/AutorizacaoFornecimentoSubitemMedicao`, model.data, { headers: headerParams.token });\r\n \r\n var lista = resultId.data.result;\r\n var listaId = '';\r\n lista.forEach(element => {\r\n listaId = listaId.concat(element + ' ' );\r\n });\r\n \r\n yield put(Carregando(true));\r\n\r\n toast.success('Foto id: ' + listaId + ' cadastrada com sucesso!');\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n }\r\n }\r\n\r\n yield put(ListarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_COMPLETO_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_REQUEST', ListarCompletoRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest),\r\n takeLatest('LISTAR_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_REQUEST', ListarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest),\r\n takeLatest('BAIXAR_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_REQUEST', BaixarRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest),\r\n takeLatest('CARREGAR_IMAGEM_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_REQUEST', CarregarImagemRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemRequest),\r\n takeLatest('INSERIR_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_AUTORIZACAO_REQUEST', InserirRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemAutorizacaoRequest),\r\n takeLatest('INSERIR_REG_FOTO_SUBITEM_AUTORIZACAO_FORNECIMENTO_SUBITEM_MEDICAO_REQUEST', InserirRegFotoSubitemAutorizacaoMedicaoUltrapassarSubitemMedicaoRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarMesesResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\n\r\nfunction* ListarMesesRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/Meses`, { headers: headerParams.token });\r\n\r\n yield put(ListarMesesResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ListarMesesResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirMesesRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.post, `/api/Meses`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`O Mes foi cadastrado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Meses`, { headers: headerParams.token });\r\n\r\n yield put(ListarMesesResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* AlterarMesesRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.put, `/api/Meses`, model.data, { headers: headerParams.token });\r\n\r\n toast.success(`Mes foi atualizado com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/Meses`, { headers: headerParams.token });\r\n\r\n yield put(ListarMesesResponse(result.data.result));\r\n yield put(Carregando(true)); \r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } \r\n else \r\n if (e.response.data.errors != null && e.response.data.errors != undefined) {\r\n let erros = '';\r\n let apiErrors = e.response.data.errors;\r\n for (var modelProperty in apiErrors) {\r\n apiErrors[modelProperty].forEach(function (e) {\r\n erros = erros + e + ' ';\r\n });\r\n }\r\n toast.error(erros);\r\n } else {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\n\r\nexport default all([\r\n takeLatest('LISTAR_MESES_REQUEST', ListarMesesRequest),\r\n takeLatest('INSERIR_MESES_REQUEST', InserirMesesRequest),\r\n takeLatest('ALTERAR_MESES_REQUEST', AlterarMesesRequest),\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarObrasIntervencoesPorMesResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\nimport urlBase from '../../../services/rotas';\r\n\r\nfunction* ListarObrasIntervencoesPorMesRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/ObrasIntervencoesPorMes`, { headers: headerParams.token });\r\n\r\n yield put(ListarObrasIntervencoesPorMesResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ListarObrasIntervencoesPorMesResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirObrasIntervencoesPorMesRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n \"Lista\": model.data[0]\r\n }\r\n\r\n yield call(api.post, `/api/ObrasIntervencoesPorMes`, data, { headers: headerParams.token });\r\n\r\n toast.success(`As Obras/Intervenções Por Mês foram cadastradas com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/ObrasIntervencoesPorMes`, { headers: headerParams.token });\r\n\r\n yield put(ListarObrasIntervencoesPorMesResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.status == 500 || e.response.data.status == 400) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarObrasIntervencoesPorMesResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BaixarPadraoImportacaoObrasIntervencoesPorMesRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/ObrasIntervencoesPorMes/BaixarPadraoImportacaoObrasIntervencoesPorMesRequest`,\r\n { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Padrão Importação Obras e Intervenções por Mês'\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ExcluirObrasIntervencoesPorMesRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/ObrasIntervencoesPorMes/${parseInt(model.ano)}`, { headers: headerParams.token });\r\n\r\n toast.success(`Obras/Intervenções do ano: ${model.ano} foram excluidas!`);\r\n\r\n const result = yield call(api.get, `/api/ObrasIntervencoesPorMes`, { headers: headerParams.token });\r\n\r\n yield put(ListarObrasIntervencoesPorMesResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_OBRAS_INTERVENCOES_POR_MES_REQUEST', ListarObrasIntervencoesPorMesRequest),\r\n takeLatest('INSERIR_OBRAS_INTERVENCOES_POR_MES_REQUEST', InserirObrasIntervencoesPorMesRequest),\r\n takeLatest('BAIXAR_PADRAO_IMPORTACAO_OBRAS_INTERVENCOES_POR_MES_REQUEST', BaixarPadraoImportacaoObrasIntervencoesPorMesRequest),\r\n takeLatest('EXCLUIR_OBRAS_INTERVENCOES_POR_MES_REQUEST', ExcluirObrasIntervencoesPorMesRequest)\r\n])","import { call, put, all, takeLatest, select } from 'redux-saga/effects';\r\nimport { Carregando, ListarManutencoesPorMesResponse } from './actions';\r\nimport { AtualizarToken, ErrorResponse } from '../global/actions';\r\nimport { toast } from 'react-toastify';\r\nimport api from '../../../services/api';\r\nimport history from '../../../services/history';\r\nimport urlBase from '../../../services/rotas';\r\n\r\nfunction* ListarManutencoesPorMesRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n const result = yield call(api.get, `/api/ManutencoesPorMes`, { headers: headerParams.token });\r\n\r\n yield put(ListarManutencoesPorMesResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.statusCode == 500) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n\r\n yield put(ListarManutencoesPorMesResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* InserirManutencoesPorMesRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n var data = {\r\n \"Lista\": model.data[0]\r\n }\r\n\r\n yield call(api.post, `/api/ManutencoesPorMes`, data, { headers: headerParams.token });\r\n\r\n toast.success(`As Manutenções Por Mês foram cadastradas com sucesso!`);\r\n\r\n const result = yield call(api.get, `/api/ManutencoesPorMes`, { headers: headerParams.token });\r\n\r\n yield put(ListarManutencoesPorMesResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response == undefined || e.response.data.status == 500 || e.response.data.status == 400) {\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n\r\n yield put(ListarManutencoesPorMesResponse([]));\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n }\r\n}\r\n\r\nfunction* BaixarPadraoImportacaoManutencoesPorMesRequest() {\r\n\r\n try {\r\n\r\n yield put(Carregando(false));\r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n\r\n fetch(`${urlBase}/api/ManutencoesPorMes/BaixarPadraoImportacaoManutencoesPorMesRequest`,\r\n { headers: headerParams.token })\r\n .then(response => response.blob())\r\n .then(function (excel) {\r\n let elem = window.document.createElement('a');\r\n elem.href = window.URL.createObjectURL(excel);\r\n elem.download = 'Padrão Importação Manutenção por Mês'\r\n document.body.appendChild(elem);\r\n elem.click();\r\n document.body.removeChild(elem);\r\n });\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if (e.response != null) {\r\n if (e.response.data != null) {\r\n if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message);\r\n }\r\n }\r\n }\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true));\r\n\r\n }\r\n}\r\n\r\nfunction* ExcluirManutencoesPorMesRequest(model) {\r\n\r\n try {\r\n\r\n yield put(Carregando(false)); \r\n yield put(AtualizarToken());\r\n var headerParams = yield select((state) => state.global);\r\n \r\n yield call(api.delete, `/api/ManutencoesPorMes/${parseInt(model.ano)}`, { headers: headerParams.token });\r\n\r\n toast.success(`Manutenções do ano: ${model.ano} foram excluidas!`);\r\n\r\n const result = yield call(api.get, `/api/ManutencoesPorMes`, { headers: headerParams.token });\r\n\r\n yield put(ListarManutencoesPorMesResponse(result.data.result));\r\n yield put(Carregando(true));\r\n\r\n } catch (e) {\r\n\r\n if(e.response == undefined || e.response.data.statusCode == 500){\r\n history.push(`/erro`);\r\n } else if (e.response.data.statusCode != 404) {\r\n toast.error(e.response.data.message); \r\n } \r\n\r\n yield put(ErrorResponse(e));\r\n yield put(Carregando(true)); \r\n \r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest('LISTAR_MANUTENCOES_POR_MES_REQUEST', ListarManutencoesPorMesRequest),\r\n takeLatest('INSERIR_MANUTENCOES_POR_MES_REQUEST', InserirManutencoesPorMesRequest),\r\n takeLatest('BAIXAR_PADRAO_IMPORTACAO_MANUTENCOES_POR_MES_REQUEST', BaixarPadraoImportacaoManutencoesPorMesRequest),\r\n takeLatest('EXCLUIR_MANUTENCOES_POR_MES_REQUEST', ExcluirManutencoesPorMesRequest)\r\n])","import { all } from 'redux-saga/effects';\r\n\r\nimport usuario from './usuario/saga';\r\nimport grupoAcesso from './grupoAcesso/saga';\r\nimport perfil from './perfil/saga'\r\nimport municipio from './municipio/saga';\r\nimport grupoFuncaoAcesso from './grupoFuncaoAcesso/saga';\r\nimport cliente from './cliente/saga';\r\nimport tipoDocumento from './tipoDocumento/saga';\r\nimport subitemCusto from './subitemCusto/saga';\r\nimport itemCusto from './itemCusto/saga';\r\nimport grupoCusto from './grupoCusto/saga';\r\nimport contrato from './contrato/saga';\r\nimport origemContrato from './origemContrato/saga';\r\nimport unidadeMedida from './unidadeMedida/saga';\r\nimport contratoUsuario from './contratoUsuario/saga';\r\nimport fonteReceita from './fonteReceita/saga';\r\nimport global from './global/saga';\r\nimport composicaoCusto from './composicaoCusto/saga'\r\nimport tipoRecurso from './tipoRecurso/saga'\r\nimport fonteVersao from './fonteReceitaVersao/saga'\r\nimport solicitacaoFornecimento from './solicitacaoFornecimento/saga';\r\nimport regiao from './regiao/saga';\r\nimport tipoSolicitacao from './tipoSolicitacao/saga';\r\nimport solicitacaoFornecimentoDocumentoArquivo from './solicitacaoFornecimentoDocumentoArquivo/saga';\r\nimport contratoVersao from './contratoVersao/saga';\r\nimport solicitacaoFornecimentoVersaoSubitemCusto from './solicitacaoFornecimentoVersaoSubitemCusto/saga';\r\nimport solicitacaoFornecimentoVersaoStatus from './solicitacaoFornecimentoVersaoStatus/saga';\r\nimport tipoDocumentoArquivo from './tipoDocumentoArquivo/saga';\r\nimport solicitacaoFornecimentoVersao from './solicitacaoFornecimentoVersao/saga';\r\nimport tipoContratoVersao from './tipoContratoVersao/saga';\r\nimport relatorio from './relatorio/saga';\r\nimport tipoSolicitacaoTipoDocumentoArquivo from './tipoSolicitacaoTipoDocumentoArquivo/saga';\r\nimport solicitacaoFornecimentoRegistroFotografico from './solicitacaoFornecimentoRegistroFotografico/saga';\r\nimport autorizacaoFornecimento from './autorizacaoFornecimento/saga';\r\nimport autorizacaoFornecimentoSubitemCusto from './autorizacaoFornecimentoSubitemCusto/saga';\r\nimport medicaoAutorizacaoFornecimento from './medicaoAutorizacaoFornecimento/saga';\r\nimport statusSolicitacaoFornecimento from './statusSolicitacaoFornecimento/saga';\r\nimport medicaoAutorizacaoFornecimentoDocumento from './medicaoAutorizacaoFornecimentoDocumento/saga';\r\nimport statusAutorizacaoFornecimento from './statusAutorizacaoFornecimento/saga';\r\nimport autorizacaoFornecimentoStatus from './autorizacaoFornecimentoStatus/saga';\r\nimport statusMedicaoAutorizacaoFornecimento from './statusMedicaoAutorizacaoFornecimento/saga';\r\nimport medicaoAutorizacaoFornecimentoStatus from './medicaoAutorizacaoFornecimentoStatus/saga';\r\nimport medicaoAutorizacaoFornecimentoRegistroFotografico from './medicaoAutorizacaoFornecimentoRegistroFotografico/saga';\r\nimport autorizacaoFornecimentoSubitemCustoMedicao from './autorizacaoFornecimentoSubitemCustoMedicao/saga';\r\nimport autorizacaoFornecimentoSubitemCustoMedicaoDocArq from './autorizacaoFornecimentoSubitemCustoMedicaoDocArq/saga';\r\nimport medicaoAutorizacaoFornecimentoOcorrencia from './medicaoAutorizacaoFornecimentoOcorrencia/saga';\r\nimport fornecedor from './fornecedor/saga';\r\nimport tipoPessoa from './tipoPessoa/saga';\r\nimport contratoVersaoSubitemCustoPrimario from './contratoVersaoSubitemCustoPrimario/saga';\r\nimport contratoVersaoSubitemCustoConsumido from './contratoVersaoSubitemCustoConsumido/saga';\r\nimport medicaoOcorrencia from './medicaoOcorrencia/saga';\r\nimport autorizacaoFornecimentoSubitemCustoMedOcor from './autorizacaoFornecimentoSubitemCustoMedOcor/saga';\r\nimport tipoPix from './tipoPix/saga';\r\nimport cnae from './cnae/saga';\r\nimport banco from './banco/saga';\r\nimport fornecedorContato from './fornecedorContato/saga';\r\nimport fornecedorConta from './fornecedorConta/saga';\r\nimport autorizacaoFornecimentoSubitemCustoMedicaoRegFoto from './autorizacaoFornecimentoSubitemCustoMedicaoRegFoto/saga';\r\nimport autorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto from './autorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto/saga';\r\nimport medicaoAutorizacaoFornecimentoOcorrenciaRegFoto from './medicaoAutorizacaoFornecimentoOcorrenciaRegFoto/saga';\r\nimport usuarioFornecedor from './usuarioFornecedor/saga';\r\nimport contratoFornecedor from './contratoFornecedor/saga';\r\nimport contratoDocumentoArquivo from './contratoDocumentoArquivo/saga';\r\nimport prioridade from './prioridade/saga';\r\nimport empenho from './empenho/saga';\r\nimport statusEmpenho from './statusEmpenho/saga';\r\nimport empenhoStatus from './empenhoStatus/saga';\r\nimport faturamento from './faturamento/saga';\r\nimport empenhoAutorizacaoFornecimentoSubitemCustoMed from './empenhoAutorizacaoFornecimentoSubitemCustoMed/saga';\r\nimport empenhoDocumentoArquivo from './empenhoDocumentoArquivo/saga';\r\nimport faturamentoDocumentoArquivo from './faturamentoDocumentoArquivo/saga';\r\nimport categoriaItem from './categoriaItem/saga';\r\nimport categoriaItemSubitemCustoPrimario from './categoriaItemSubitemCustoPrimario/saga';\r\nimport bairro from './bairro/saga';\r\nimport dashboard from './dashboard/saga';\r\nimport interessado from './interessado/saga';\r\nimport tipoCaracteristica from './tipoCaracteristica/saga';\r\nimport caracteristica from './caracteristica/saga';\r\nimport formulario from './formulario/saga';\r\nimport caracteristicaResposta from './caracteristicaResposta/saga';\r\nimport formularioCaracteristica from './formularioCaracteristica/saga';\r\nimport solicitacaoFornecimentoCaracteristicaResposta from './solicitacaoFornecimentoCaracteristicaResposta/saga';\r\nimport limiteValor from './limiteValor/saga';\r\nimport orgao from './orgao/saga';\r\nimport multa from './multa/saga';\r\nimport eventoAdicional from './eventoAdicional/saga';\r\nimport eventoResposta from './eventoResposta/saga';\r\nimport historicoAutorizacaoFornecimentoEmpenho from './historicoAutorizacaoFornecimentoEmpenho/saga';\r\nimport solicitacaoFornecimentoHistorico from './solicitacaoFornecimentoHistorico/saga';\r\nimport solicitacaoFornecimentoHistoricoRegFoto from './solicitacaoFornecimentoHistoricoRegFoto/saga';\r\nimport solicitacaoFornecimentoHistoricoDocArq from './solicitacaoFornecimentoHistoricoDocArq/saga';\r\nimport notificacao from './notificacao/saga';\r\nimport assinante from './assinante/saga';\r\nimport regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem from './regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem/saga';\r\nimport meses from './meses/saga';\r\nimport obrasIntervencoesPorMes from './obrasIntervencoesPorMes/saga';\r\nimport manutencoesPorMes from './manutencoesPorMes/saga';\r\n\r\nexport default function* rootSaga() {\r\n return yield all([\r\n usuario, grupoAcesso, perfil, municipio, grupoFuncaoAcesso,\r\n cliente, tipoDocumento, subitemCusto, itemCusto, grupoCusto,\r\n contrato, origemContrato, unidadeMedida, contratoUsuario,\r\n fonteReceita, global, composicaoCusto, tipoRecurso, fonteVersao,\r\n solicitacaoFornecimento, regiao, tipoSolicitacao,\r\n solicitacaoFornecimentoDocumentoArquivo, contratoVersao, solicitacaoFornecimentoVersaoSubitemCusto, solicitacaoFornecimentoVersaoStatus,\r\n tipoDocumentoArquivo, solicitacaoFornecimentoVersao, tipoContratoVersao,\r\n relatorio, tipoSolicitacaoTipoDocumentoArquivo, solicitacaoFornecimentoRegistroFotografico,\r\n autorizacaoFornecimento, autorizacaoFornecimentoSubitemCusto, medicaoAutorizacaoFornecimento,\r\n statusSolicitacaoFornecimento, medicaoAutorizacaoFornecimentoDocumento, statusAutorizacaoFornecimento, autorizacaoFornecimentoStatus,\r\n statusMedicaoAutorizacaoFornecimento, medicaoAutorizacaoFornecimentoStatus, medicaoAutorizacaoFornecimentoRegistroFotografico,\r\n autorizacaoFornecimentoSubitemCustoMedicao, autorizacaoFornecimentoSubitemCustoMedicaoDocArq, medicaoAutorizacaoFornecimentoOcorrencia, fornecedor, tipoPessoa,\r\n contratoVersaoSubitemCustoPrimario, contratoVersaoSubitemCustoConsumido, medicaoOcorrencia, autorizacaoFornecimentoSubitemCustoMedOcor,\r\n tipoPix, cnae, banco, fornecedorContato, fornecedorConta, autorizacaoFornecimentoSubitemCustoMedicaoRegFoto,\r\n autorizacaoFornecimentoSubitemCustoMedicaoOcorRegFoto, medicaoAutorizacaoFornecimentoOcorrenciaRegFoto, usuarioFornecedor,\r\n contratoFornecedor, contratoDocumentoArquivo, prioridade, empenho, statusEmpenho, empenhoStatus, faturamento, empenhoAutorizacaoFornecimentoSubitemCustoMed,\r\n empenhoDocumentoArquivo, faturamentoDocumentoArquivo, categoriaItem, categoriaItemSubitemCustoPrimario, bairro, dashboard, interessado,\r\n tipoCaracteristica, caracteristica, formulario, caracteristicaResposta, formularioCaracteristica, solicitacaoFornecimentoCaracteristicaResposta,\r\n limiteValor, orgao, multa, eventoAdicional, eventoResposta, historicoAutorizacaoFornecimentoEmpenho, solicitacaoFornecimentoHistorico,\r\n solicitacaoFornecimentoHistoricoRegFoto, solicitacaoFornecimentoHistoricoDocArq, notificacao, assinante, regFotoSubitemAutorizacaoMedicaoUltrapassarSubitem, meses,\r\n obrasIntervencoesPorMes, manutencoesPorMes\r\n ])\r\n}","import { createStore, applyMiddleware } from 'redux';\r\nimport { toast } from 'react-toastify';\r\nimport createSagaMiddleware from 'redux-saga';\r\nimport rootReducer from './modules/rootReducer';\r\nimport rootSaga from './modules/rootSaga';\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\n\r\nconst enhancer = applyMiddleware(sagaMiddleware);\r\n\r\nconst store = createStore(rootReducer, enhancer);\r\n\r\nconst rootSagaTask = sagaMiddleware.run(rootSaga);\r\n\r\nrootSagaTask.toPromise().catch(e => {\r\n toast.error(e);\r\n});\r\n\r\nexport default store;","import { Router } from 'react-router-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { ToastContainer } from 'react-toastify';\r\nimport React from 'react';\r\nimport Routes from './routes';\r\nimport history from './services/history';\r\nimport store from './store';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\r\nimport { IconContext } from \"react-icons/lib\" \r\nimport {\r\n CategoryScale,\r\n LinearScale,\r\n PointElement,\r\n LineElement,\r\n Title,\r\n Tooltip,\r\n Legend,\r\n Chart,\r\n ArcElement,\r\n BarElement\r\n} from 'chart.js'\r\n\r\nChart.register(CategoryScale,\r\n LinearScale,\r\n PointElement,\r\n LineElement,\r\n Title,\r\n Tooltip,\r\n Legend,\r\n ArcElement,\r\n BarElement,\r\n ChartDataLabels);\r\n\r\nfunction App() {\r\n\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\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from './App';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport './index.css';\r\n\r\nReactDOM.render(\r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n"],"sourceRoot":""}