{"version":3,"sources":["assets/img/loading.gif","assets/img/document-ok.png","assets/img/logoSPRegula.png","assets/img/logoFooterSPRegula.png","assets/img/mascote.png","assets/img/document.png","services/session.js","services/api_service.js","services/message.js","context/auth.js","services/cookies.js","helpers/formats.js","services/acesso.js","constants/MaterialTable.js","components/ProgressBar/StepperProgress.jsx","views/Shared/AcoesGestor.jsx","views/Shared/Transportador/FichaRequerimento.jsx","views/Shared/Gerador/FichaRequerimento.jsx","views/Shared/Destino/FichaRequerimento.jsx","views/Acompanhamento/Lista.jsx","components/TextField/TextField.jsx","views/Dashboard/ListaDashboardRequerimento.jsx","views/Dashboard/Dashboard.jsx","views/Shared/Transportador/AgendamentoVistoria.jsx","components/Input/InputPDF.jsx","views/Shared/Transportador/ConfirmacaoVistoria.jsx","views/Shared/Transportador/CalendarioVistoria.jsx","services/mask.js","services/viaCep.js","components/ModalJustificativa/ModalJustificativa.jsx","services/requerimento_service.js","views/Shared/Transportador/FichaTransportador.jsx","views/Shared/Gerador/FichaGerador.jsx","views/Shared/Destino/FichaDestino.jsx","helpers/email.js","helpers/valid.js","views/Shared/Transportador/Identificacao.jsx","services/protocolo_transportador_service.js","views/Shared/Transportador/Veiculos.jsx","views/Shared/Transportador/LocaisGuarda.jsx","views/Shared/Transportador/LocaisDestinacao.jsx","views/Shared/Transportador/Equipamentos.jsx","views/Shared/Documentos.jsx","services/protocolo_gerador_service.js","services/protocolo_destino_service.js","views/Manutencao/Transportador/ManutencaoTransportadorForm.jsx","views/Shared/Gerador/Identificacao.jsx","views/Shared/Gerador/LocaisColeta.jsx","views/Shared/Gerador/CaracterizacaoResiduos.jsx","views/Shared/Gerador/Residuos.jsx","views/Manutencao/Gerador/ManutencaoGeradorForm.jsx","views/Shared/Gerador/LocaisArmazenagem.jsx","views/Manutencao/GeradorRSS/ManutencaoGeradorRSSForm.jsx","views/Manutencao/GeradorRSS/ManutencaoGeradorRSSLista.jsx","views/Shared/Destino/Identificacao.jsx","views/Shared/Destino/Locais.jsx","views/Manutencao/Destino/ManutencaoDestinoForm.jsx","views/Cadastros/CadastroSolicitacaoForm.jsx","views/Cadastros/CadastroFluxoForm.jsx","views/Cadastros/CadastroClassesResiduosForm.jsx","views/Seguranca/PerfilForm.jsx","views/Seguranca/UsuarioForm.jsx","views/Relatorios/Fichas/RelatorioFichaRequerimentoGeradorRSS.jsx","helpers/nomeclaturas.js","views/Relatorios/Fichas/RelatorioManutecaoGeradorRSS.jsx","views/Relatorios/Fichas/RelatorioManutecaoTransportadores.jsx","views/Relatorios/Fichas/RelatorioManutecaoDestinos.jsx","views/Relatorios/Fichas/RelatorioFichaRequerimentoGeradorRGG.jsx","helpers/mascaras.js","views/Shared/DadosPrimarios.jsx","views/Portal/components/CardOpcaoCadastro.jsx","views/Portal/components/CardIntegracao.jsx","views/Shared/Declaracao.jsx","views/Shared/Transportador/ListaVeiculosExclusao.jsx","views/Shared/Gerador/ListaLocaisColetaExclusao.jsx","views/Shared/Destino/ListaLocaisExclusao.jsx","views/Portal/Legislacao/index.jsx","components/LogoSistema/LogoSistema.jsx","routes/routes.jsx","components/Sidebar/Sidebar.jsx","layouts/Admin.jsx","views/Auth/Login.jsx","views/Auth/EsqueceuSenha.jsx","views/Auth/TrocarSenha.jsx","views/Acompanhamento/Inicio.jsx","views/Manutencao/ManutencaoForm.jsx","views/Consulta/ConsultaCadastro.jsx","views/Consulta/ConsultaVeiculo.jsx","views/Shared/CancelamentoRequerimentos.jsx","views/Acompanhamento/AgendamentoVistoriaLista.jsx","views/Acompanhamento/ExportacaoLauda.jsx","views/Manutencao/Transportador/ManutencaoTransportadorLista.jsx","views/Manutencao/Gerador/ManutencaoGeradorLista.jsx","views/Manutencao/Destino/ManutencaoDestinoLista.jsx","views/Cadastros/CadastroEnquadramento.jsx","views/Cadastros/CadastroDocumentos.jsx","views/Cadastros/CadastroSolicitacaoLista.jsx","views/Cadastros/CadastroFluxoLista.jsx","views/Cadastros/CadastroSubPrefeitura.jsx","views/Cadastros/CadastroClassesResiduosLista.jsx","views/Cadastros/CadastroSetupAgendaVistoria.jsx","views/Cadastros/CadastroDiasNaoUteis.jsx","views/Seguranca/PerfilLista.jsx","views/Seguranca/UsuarioLista.jsx","views/Relatorios/RelatoriosLista.jsx","views/Portal/Opcoes.jsx","views/Portal/Duvidas/index.jsx","views/Portal/Transportador/RequerimentoNovoCadastro.jsx","views/Portal/Transportador/RequerimentoRenovacaoCadastro.jsx","views/Portal/Transportador/RequerimentoInclusaoVeiculo.jsx","views/Portal/Transportador/RequerimentoExclusaoVeiculo.jsx","views/Portal/Transportador/RequerimentoAlteracao.jsx","views/Portal/Transportador/RequerimentoAlteracaoIdentificacao.jsx","views/Shared/AtualizarContato.jsx","views/Portal/Transportador/RequerimentoAlteracaoEquipamentos.jsx","views/Portal/MeuCadastro.jsx","views/Consulta/ConsultaRequerimento.jsx","views/Carteirinha/CarteirinhaVeiculo.jsx","views/Portal/Gerador/RequerimentoNovoCadastro.jsx","views/Portal/Gerador/RequerimentoRenovacaoCadastro.jsx","views/Portal/Gerador/RequerimentoInclusaoLocal.jsx","views/Portal/Gerador/RequerimentoExclusaoLocal.jsx","views/Portal/Gerador/RequerimentoAlteracaoCadastro.jsx","views/Carteirinha/CarteirinhaGG.jsx","views/Carteirinha/QrCodelocalidadeRGG.jsx","views/Portal/GeradorRSS/RequerimentoNovoCadastro.jsx","views/Portal/GeradorRSS/RequerimentoAlteracao.jsx","views/Portal/Destino/RequerimentoNovoCadastro.jsx","views/Portal/Destino/RequerimentoInclusaoLocal.jsx","views/Portal/Destino/RequerimentoRenovacaoCadastro.jsx","views/Portal/Destino/RequerimentoExclusaoLocal.jsx","views/Portal/Destino/RequerimentoAlteracao.jsx","views/Portal/Destino/RequerimentoAumentoCapacidade.jsx","views/Carteirinha/CertificadoRSS.jsx","views/Carteirinha/CertificadoTransportador.jsx","views/Carteirinha/CertificadoTransportadorUnificado.jsx","views/Carteirinha/CertificadoDestino.jsx","views/Carteirinha/CertificadoDestinoRGG.jsx","views/Portal/RequerimentoCancelamento.jsx","views/Portal/AnexoComprovantePagamento.jsx","views/Portal/AgendamentoVistoriaPortal.jsx","views/Layouts/ImplantacaoDatasys.jsx","components/Navbars/Navbar.jsx","components/Footer/Footer.jsx","components/Navbars/components/Popover.jsx","components/Navbars/Navigation.jsx","layouts/Auth.jsx","layouts/Empty.jsx","layouts/External.jsx","components/Loading/Loading.jsx","routes/RoutesComponent.jsx","App.jsx","index.js"],"names":["module","exports","setSessionCookie","session","Cookies","expires","getSessionCookie","sessionCookie","undefined","JSON","parse","React","createContext","tokenCookie","getTokenCookie","api","axios","create","baseURL","process","tenantId","window","location","host","split","request","endpoint","obj","method","contentType","a","promise","Promise","resolve","reject","accessToken","now","Date","expiration","reload","success","result","newResult","status","message","data","failed","error","response","headers","_headers","Authorization","post","stringify","then","catch","put","get","delete","api_POST","api_PUT","api_GET","api_GETExternal","newError","swall","withReactContent","Swal","showMessage","title","text","icon","function_confirmation","fire","footer","getFullYear","showQuestion","showCancelButton","confirmButtonColor","cancelButtonColor","confirmButtonText","cancelButtonText","value","AuthContext","loading","isSignout","useAuth","useContext","AuthProvider","children","useState","setLoading","setSession","setupSistema","setSetupSistema","signIn","useCallback","signOut","token","callback","Object","keys","forEach","cookie","loadSetupSistema","err","finally","loadAsync","console","useEffect","Provider","transformValueFloattoFormated","valor","index","toLocaleString","indexOf","substring","length","formateDate","date","moment","format","formateDateSemBarra","formateDateApi","formateDateandTimeApi","formateDateandTime","formateMonthName","month","ValidaAcessoFuncionalidadeAcao","funcionalidadeAcao","tipoAcesso","login","usuario_Id","table_translate","body","emptyDataSourceMessage","deleteText","filterPlaceHolder","filterTooltip","cancelTooltip","saveTooltip","grouping","placeholder","groupedBy","header","actions","pagination","labelDisplayedRows","labelRowsSelect","labelRowsPerPage","firstAriaLabel","firstTooltip","previousAriaLabel","previousTooltip","nextAriaLabel","nextTooltip","lastAriaLabel","lastTooltip","toolbar","addRemoveColumns","nRowsSelected","showColumnsTitle","showColumnsAriaLabel","exportTitle","exportAriaLabel","exportName","searchTooltip","searchPlaceholder","table_style","headerStyle","fontFamily","fontWeight","color","CustomizedSteppers","stepValue","steps","classes","useStyles","className","root","style","backgroundColor","Stepper","alternativeLabel","activeStep","connector","ColorlibConnector","map","label","Step","key","StepLabel","StepIconComponent","ColorlibStepIcon","makeStyles","display","height","alignItems","active","circle","width","borderRadius","completed","zIndex","fontSize","withStyles","top","backgroundImage","line","border","StepConnector","useColorlibStepIconStyles","background","justifyContent","backgroundClip","boxShadow","animation","animationDirection","props","icons","1","class","2","3","4","5","6","7","8","clsx","String","theme","button","marginRight","spacing","instructions","marginTop","marginBottom","AcoesGestor","requerimento","handleReturn","useForm","mode","register","errors","handleSubmit","setValue","setError","clearErrors","getValues","reset","registro","set_registro","analiseRequerimento","setAnaliseRequerimento","fluxoCadastroEtapaAtual","tipo","loadOptionsEnquadramento","options_enquadramento","set_options_enquadramento","enquadramento","set_enquadramento","handleEnquadramento","handleAguardandoAnalise","aprovacao","setupSolicitacaoAcao","acao","enquadramentoObrigatorio","json_submit","requerimentoAnaliseGestor_Id","requerimento_Id","dataAnalise","usuarioAnalise_Id","enquadramento_Id","aceite","observacao","codigoSistemaPrefeitura","handleAguardandoAprovacao","dataAprovacao","usuarioAprovacao_Id","autorizado","handleAguardandoCompensacao","handleAguardandoFiscalizacao","dataFiscalizacao","usuarioFiscalizacao_Id","handleAprovacaoGuia","aprovado","handleBaixaManual","cancelarRequerimentos","Row","Button","onClick","type","setupSolicitacao","categoria","sigla","segmento","Col","lg","FormGroup","options","name","getOptionLabel","option","descricao","getOptionValue","onChange","e","find","ref","required","informarCodigoSistemaPrefeitura","Input","innerRef","metodologiaCobranca","md","sm","dataPublicacao","usuarioPublicacao_Id","dataPublicao","requerimentoLaudaDiarioOficial_Id","handleAguardandoDiarioOficial","requerimentoCobrancas","usuarioEmissao_Id","handleEmitirGuia","handleAguardandoEnquadramento","FichaRequerimento","item","showAcoesGestor","set_requerimento","stepAtual","set_stepAtual","set_steps","justificativaList","setJustificativaList","isLoadingEmitirGuia","setIsLoadingEmitirGuia","modal","setModal","toggleModal","existAcaoDocumento","setExistAcaoDocumento","historicoAnaliseGestor","set_historicoAnaliseGestor","setupSolicitacaoAcao_Id","solicitacaoAcoes","filter","f","acaoDocumentos","etapaCadastro","document","querySelector","scrollTop","setTimeout","ordem","etapas","fluxoCadastroEtapas","sort","b","m","push","protocolo_Id","componentRef","useRef","handlePrint","useReactToPrint","content","current","copyStyles","Modal","isOpen","toggle","size","ModalBody","scope","justificativa","dataJustificativa","nome","ModalFooter","src","require","Container","id","paddingTop","requerimentoTransportador","nome_Fantasia","protocolo","protocoloTransportador","cpf_Cnpj","razaoSocial","ccm","codigoCadastro","ramoAtividade","tipoIndustriaComercio","cep","logradouro","numEndereco","complemento","bairro","cidade","nomeResponsavel","email","telefone","celular","numeroRequerimento","requerimentoAnaliseGestor","requerimentoMotivoCancelamento","motivo","requerimentoTransportadorVeiculo","placa","requerimentoTransportadorVeiculoModalidade","modalidade","marca","anoFabricacao","anoFabricacaoEquipamento","cor","tara","capacidadeCarga","volume","numeroRenavam","proprietarioOuLocado","requerimentoTransportadorAgendamento","dataHora","situacao","requerimentoTransportadorVistoria","dataHoraAtualizacao","href","caminhoVirtual","arquivoLaudoVistoria","target","arquivoRenavam","arquivoInspecaoInmetro","arquivoComprovanteTara","arquivoComodato","requerimentoTransportadorLocalGuarda","requerimentoTransportadorLocalDestino","cnpj","fantasia","requerimentoTransportadorEquipamento","numeroEquipamento","dimensao","capacidadeVolume","minHeight","columns","field","requerimentoDocumento","isLoading","tooltip","event","rowData","open","arquivo","localization","observacaoRequerente","render","dataVencimento","logCobrancas","retorno","arquivoPDF","l","nomeArquivo","linkSource","downloadLink","createElement","fileName","download","click","openGuiaCobranca","dataAceite","requerimentoCobrancaComprovantes","dataImportacao","x","modalContrato","set_modalContrato","listContratoLocal","set_listcontratoLocal","toggleModalContrato","modalMapaOpen","set_modalMapaOpen","centerMap","setCenterMap","positionMarker","setpositionMarker","iconMarker","L","Icon","iconUrl","iconRetinaUrl","ChangeMap","center","zoom","useMap","setView","handleModalOpen","geoLocalizacao","centered","borderBottom","close","arquivoContrato","Card","CardBody","requerimentoGerador","protocoloGerador","tipoEstabelecimento","quantidadeLeitosAtivos","quantidadeLeitosInativos","classificacaoEstabelecimento","numeroColaboradores","consumoMensalAgua","localEmpreendimento","areaTotal","toString","replace","areaConstruida","nomeResponsavelTecnico","tipoDocumentoResponsavelTecnico","numeroDocumentoResponsavelTecnico","arquivoCertificadoResponsavelTecnico","dataCriacaoRequerimento","dataUltimaAcao","requerimentoGeradorCaracterizacaoResiduo","caracterizacaoResiduosConama","grupo","codigo","quantidadeEstimada","requerimentoGeradorLocalArmazenagem","requerimentoGeradorLocal","requerimentoGeradorLocalContratos","requerimentoGeradorClasseResiduo","classeResiduo","MapContainer","TileLayer","url","attribution","opacity","Marker","position","draggable","outline","requerimentoDestino","protocoloDestino","inscricaoMunicipal","numeroLicensaOperacao","tipoDestino","requerimentoDestinoClasseResiduos","requerimentoDestinoTransportadores","requerimentoDestinoLocais","identificacao","capacidade","AcompanhamentoLista","requerimentos","list_table","set_list_table","tipoAcao","setTipoAcao","item_requerimento","set_item_requerimento","selection","filtering","set_selection","requerimentos_publicacao","set_requerimentos_publicacao","listLotePublicacao","setListLotePublicacao","setDataPublicacao","listLoteCancelamento","setListLoteCancelamento","permissaoCancelarRequerimentos","setPermissaoCancelarRequerimentos","rowsPerPage","setRowsPerPage","editable","cursor","handleVisualizarRequerimento","requerimentoSolicitacaoPublicacaoDiarioOficiais","marginLeft","handlePublicaoLoteRefresh","excluirRequerimento","customFilterAndSearch","includes","listaColumn","setListaColumn","listLoteAguardadoAnaliseRGG","setListLoteAguardadoAnaliseRGG","modalLotePublicacao","setModalLotePublicacao","toggleLotePublicacao","modalEnquadramento","setModalEnquadramento","toggleEnquadramento","handlePublicarDiarioOficial","laudaDiarioOficial_Id","requerimentoLaudaDiarioOficial","handleLoteAguardandoAnalise","some","listaRequerimentos","requerimentos_IDs","requerimentosFalha","join","scrollIntoView","_tipoAcao","selectionProps","visibility","disabled","toLowerCase","ModalHeader","margin","Form","handleChange","Enquadramento_Id","req","requerimentoSolicitacaoPublicacaoDiarioOficial_Id","onSelectionChange","rows","selectedRow","prev","r","tableData","checked","handleAcaoSectionTable","i","onChangeRowsPerPage","_rows","cellEditable","onCellEditApproved","newValue","oldValue","columnDef","usuarioCancelamento_Id","TextField","inputClassName","multiple","onBlur","invalid","searchable","onClickIcon","maxLength","mask","creatable","inputValue","setInputValue","customStyles","control","base","state","menu","provided","borderColor","isFocused","Label","isClearable","isMulti","classNamePrefix","isDisabled","styles","components","DropdownIndicator","menuIsOpen","onInputChange","onKeyDown","preventDefault","isSearchable","data-thumbnail","image","ListaDashboardRequerimento","listShow","handleReturnDashboard","setRequerimentos","requerimentoVisualizar","setRquerimentoVisualizar","_etapa","etapa","requerimentosList","_requerimentos","ultimaAcao","dataSolicitacao","handleView","handleRequerimento","exportButton","columnsButton","Dashboard","btnfiltro","setBtnFiltro","dashboardProtocolo","setDashboardProtocolo","dashboardRequerimento","setDashboardRequerimento","mostrarTotalIndicadores","setMostrarTotalIndicadores","dashboardAuxiliar","setDashboardAuxiliar","tipoIndicador","visibleDadosIndicadores","setVisibleDadosIndicadores","setListShow","filtro","setFiltro","optionsModalidade","handleVisibleDadosIndicadores","HandleModificarTextoCardIndicador","total","qtdFinalizado","qtdPendente","qtdEmAndamento","qtdRejeitado","tiposProtocolos","reduce","acc","qtdAtivos","qtdInativos","qtdCancelados","qtdVencidos","texto","descricaoDashboard","corIcone","icone","classeIcone","CardsCadastroIndicativo","cadastro","dado","CardFooter","el","tipoPessoa","CardsRequerimentoIndicativo","dadoRequerimento","datainicio","datafim","dadoFiltro","setDadoFiltro","handleDataFiltros","protocolos","for","Inicio","Fim","AgendamentoVistoria","requerimentoAgendamento","list_agendamentos","set_list_agendamentos","handleChangeDataHoraAgendamento","requerimentoTransportadorAgendamento_Id","_newlist","handleClickRemoverVeiculo","onSubmit","requerimentoTransportadorVeiculo_Id","logAgendamento","categoria_Descricao","tipoRequerimento","ItemAgendaVistoria","options_ano","add","ano","set_ano","options_mes","set_options_mes","loadOptionsMes","_ano","_meses","_mes","parseInt","mes","set_mes","options_disponibilidadeAgenda","set_options_disponibilidadeAgenda","loadOptionsDisponibilidadeAgenda","_dia","dia","set_options_horario","horarios","diaAgendamento","set_diaAgendamento","options_horario","horario","set_horario","defaultValue","readonly","datahora","handleHorario","InputPDF","inputImage","setImage","accept","files","file","fsize","Math","round","reader","FileReader","readAsDataURL","onloadend","base64data","handlefile","base64","uuidv4","documento_Id","documento_id","handleImage","maxWidth","ConfirmacaoVistoria","file_laudo","set_file_laudo","handleClickAprovacao","requerimentoTransportadorVistoria_Id","arquivoLaudoVistoriaBase64","_file","CalendarioVistoria","eventosCalendario","set_eventosCalendario","loadEventosCalendario","_eventos","start","allDay","evento","set_evento","plugins","dayGridPlugin","interactionPlugin","listPlugin","initialView","locale","selectable","headerToolbar","left","right","eventClick","events","InputCPF","this","Component","InputCNPJ","InputCEP","InputHourMinutes","InputTELEFONE","InputDIAMES","GetCEPViaCEP","hasOwnProperty","erro","ModalJustificativa","visibilidadeModal","setVisibilidadeModal","protocoloJustificativas","usuario","CancelarRequerimentoByRequerimento","FichaTransportador","history","set_protocolo","list_acoes","set_list_acoes","handleRequerimentoInclusaoVeiculo","pathname","handleRequerimentoRenovarCadastro","handleRetornoCancelaRequerimento","numeroProtocolo","valorGuia","setupSolicitacaoAcaoNovoCadastro","dataFimVigencia","protocoloTransportadorClasseResiduo","tipoCertificadoTransportador","protocoloTransportadorVeiculo","protocoloTransportadorVeiculoModalidades","dataVistoria","dataValidadeVistoria","protocoloTransportadorVeiculo_Id","protocoloTransportadorLocalGuarda","protocoloTransportadorLocalDestino","protocoloTransportadorEquipamento","protocoloDocumentos","dataAceiteDeclaracao","handleOpenRequerimento","_requerimento","prop","toUpperCase","FichaGerador","protocoloGeradorCaracterizacaoResiduos","protocoloGeradorLocaisArmazenagem","protocoloGeradorLocais","protocoloGeradorLocalContratos","protocoloGeradorClasseResiduos","FichaDestino","handleRequerimentoAlterarCadastro","handleRequerimentoCancelamento","bloquearRecebimentoCapacidadeExcedida","requerComprovacaoDestinacao","observacaoManutencao","protocoloDestinoLocais","protocoloDestinoLocal_Id","protocoloDestinoClasseResiduos","protocoloDestinoTransportadores","classificacao","ValidaEmail","isValidCNPJ","Number","isInteger","Array","isArray","match","numbers","Set","calc","slice","factor","sum","digits","isValidDate","input_date","year","isValid","isValidHourMinute","onlyNumber","input_text","onlyAlphaNumericAndSpace","Identificacao","tipoCadastro","permiteManutencao","handleProximoStep","permiteEditar","set_permiteEditar","set_identificacao","set_status","options_status","set_email","handleRetornoValidaEmail","optionsTipoTransportador","tipoTransportador","set_tipoTransportador","optionsSubPrefeitura","set_OptionsSubPrefeitura","subPrefeitura","set_subPrefeitura","tipoIndustria","set_tipoIndustria","ramo","set_ramo","classesResiduo","set_classesResiduo","optionsClassesResiduo","set_OptionsClassesResiduo","loadOptionsClassesResiduo","categoria_Id","_classes","classeResiduo_Id","requerimentoTransportadorClasseResiduo","set_categoria","loadDefaultValues","nomeSolicitante","pessoa","uf","carregaJsonRequerimento","requerimentoTransportadorClasseResiduo_Id","requerimentoTransportador_Id","subPrefeitura_Id","cpf","responsavel","cCM","cEP","uF","replaceAll","carregaJsonProtocolo","protocoloTransportadorClasseResiduo_Id","usuarioCadastro_Id","usuarioUltimaAlteracao_Id","protocoloTransportador_Id","protocoloJustificativas_Id","UsuarioJustificativa","handleRetornoSubmit","usuarioJustificativa","CardHeader","json","EnviaProtocoloWithProtocoloTransportador","EnviaRequerimentoTransportador","padding","handleTipoTransportador","autoComplete","UncontrolledTooltip","placement","onKeyUp","inputRef","readOnly","trim","localidade","Veiculos","totalVeiculos","handleStepAnterior","veiculos","set_veiculos","tooltipOpen","setTooltipOpen","LoadTiposVeiculo","loadItemProtocolo","loadItemRequerimento","_actionRenavam","handleVisualizaRENAVAM","set_actions","_action","handleRemove","handleEdit","handleDataVigencia","optionsTipoVeiculo","set_optionsTipoVeiculo","tipos","tipoVeiculo","set_tipoVeiculo","modalidades","set_modalidades","optionsModalidades","set_OptionsModalidades","loadModalidades","handleModalidades","veiculoStatus","setVeiculoStatus","file_renavam","set_file_renavam","file_inmetro","set_file_inmetro","file_comprovantetara","set_file_comprovantetara","file_comodato","set_file_comodato","handleFileComodato","set_proprietarioOuLocado","options_proprietarioOuLocado","rowEdit","set_rowEdit","_modalidades","handleReturnRemove","reloadId","protocoloTransportadorVeiculoModalidade","protocoloTransportadorVeiculoModalidade_Id","renavam","arquivoRenavamBase64","arquivoInspecaoInmetroBase64","arquivoComprovanteTaraBase64","arquivoComodatoBase64","requerimentoTransportadorVeiculoModalidade_Id","placaAntiga","confirmaAddVeiculo","_registro","veiculo","new_list","_veiculos","Alteracao","optionsStatusVeiculo","EnviaProtocoloTransportadorVeiculo","EnviaRequerimentoTransportadorVeiculo","min","max","step","Tooltip","delay","show","hide","loadInputComodato","cellStyle","textAlign","inverse","CardText","LocaisGuarda","locais_guarda","set_locais_guarda","set_cep","editarEndereco","set_editarEndereco","requerimentoTransportadorLocalGuarda_Id","protocoloTransportadorLocalGuarda_Id","confirmaAddLocaisGuarda","local","EnviaProtocoloTransportadorLocalGuarda","EnviaRequerimentoTransportadorLocalGuarda","LocaisDestinacao","locais_destinacao","set_locais_destinacao","set_cnpj","set_telefone","set_celular","_usuarioId","protocoloTransportadorLocalDestino_Id","requerimentoTransportadorLocalDestino_Id","confirmaAddLocaisDestino","EnviaProtocoloTransportadorLocalDestino","EnviaRequerimentoTransportadorLocalDestino","cpf_cnpj","Equipamentos","equipamentos","set_equipamentos","set_tipo","options_tipo","toggleModalEquipamentos","set_file","erros_importacao","set_erros_importacao","protocoloTransportadorEquipamento_Id","requerimentoTransportadorEquipamento_Id","confirmaAddEquipamento","equipamento","EnviaProtocoloTransportadorEquipamento","EnviaRequerimentoTransportadorEquipamento","v","Alert","linha","formData","FormData","append","Documentos","opcao","documentos","set_documentos","observacoesRequerente","setObservacoesRequerente","options_documentos","set_options_documentos","loadOptionsDocumentos","confirmaAddFile","lista_documento","newDocumentos","handleFile","EnviaProtocoloDocumentoGerador","EnviaProtocoloDocumentoTransportador","EnviaProtocoloDocumentoDestino","EnviaRequerimentoDocumentoGerador","protocoloDocumento_Id","arquivoBase64","requerimentoDocumento_Id","y","paddingBottom","documento","orientacao","ManutencaoTransportadorForm","set_opcao","set_step","_protocolo","set_permiteManutencao","sucesso","mensagem","addNovoGerador","useHistory","set_setupSolicitacaoAcao","optionsTipoGerador","setOptionsTipoGerador","setupSolicitacoaAcaoNovoCadastro_Id","setSetupSolicitacoaAcaoNovoCadastro_Id","modalAlteracaoCadastro","setModalAlteracaoCadastro","toggleAlteracaoCadastroModal","opcoes_SetupSolicitacoaAcaoNovoCadastro","setOpcoes_SetupSolicitacoaAcaoNovoCadastro","setDataValidadeCadastroRGG","tipoGerador","set_tipoGerador","optionsClassificacaoEstabelecimento","set_OptionsClassificacaoEstabelecimento","set_classificacaoEstabelecimento","optionsTipoEstabelecimento","set_OptionsTipoEstabelecimento","set_tipoEstabelecimento","set_tipoDocumentoResponsavelTecnico","options_tipoDocumentoResponsavelTecnico","setNumeroColaboradores","optionsNumeroColaboradores","consumoMensalEnergia","setConsumoMensalEnergia","optionsConsumoMensalEnergia","setConsumoMensalAgua","optionsConsumoMensalAgua","setLocalEmpreendimento","optionsLocalEmpreendimento","file_certificadoCurso","set_file_certificadoCurso","options_ramoAtividade","set_optionsRamoAtividade","requerimentoGerador_Id","tipoEstabelecimento_Id","qtdeLeitosAtivos","qtdeLeitosInativos","classificacaoEstabelecimento_Id","arquivoCertificadoResponsavelTecnicoBase64","dataValidadeCadastro","setupSolicitacaoAcaoNovoCadastro_Id","tg","protocoloGerador_Id","descricaoSetupSolicitacoaAcao","EnviaProtocoloWithProtocoloGerador","EnviaRequerimentoGerador","Style","setupSolicitacao_Id","handleTipoGerador","pattern","LocaisColeta","locais_Coleta","set_locais_Coleta","set_setupSolicitacao","modalOpen","set_modalOpen","localizacaoConfirmada","set_localizacaoConfirmada","modalidadeColeta","transportador_CNPJ","transportador_RazaoSocial","contratoLocal","set_contratoLocal","set_disabledCamposTransportador","listModalidadesRGG","set_listModalidadesRGG","municipio","set_municipio","hash","setHash","loadTransportadoresRGG","editarEnderecoCep","set_editarEnderecoCep","UpdatePositionEndereco","chave","results","geometry","lat","lng","markerRef","handleMarkerPosition","useMemo","dragend","marker","getLatLng","handleModalClose","requerimentoGeradorLocal_Id","locaisAtualizados","protocoloGeradorLocal_Id","_listContratoLocal","confirmaAddLocaisColeta","listaTransportadoresRGG","setListaTransportadoresRGG","closeBtn","EnviaProtocoloGeradorLocal","EnviaRequerimentoGeradorLocal","handleNumeroChange","t","transportador","handleTransportador","handleRemoveContratoLocal","eventHandlers","CaracterizacaoResiduos","lista","set_lista","set_listTipoAcondicionamento","_lista","caracterizacaoResiduosConama_Id","_protocoloGeradorCaracterizacaoResiduos","protocoloGeradorCaracterizacaoResiduo_Id","quantidade","_requerimentoGeradorCaracterizacaoResiduo","requerimentoGeradorCaracterizacaoResiduo_Id","confirmaCaracterizacaoResiduos","indice","tooltipActive","setTooltipActive","EnviaProtocoloGeradorCaracterizacaoResiduo","EnviaRequerimentoGeradorCaracterizacaoResiduo","_caracterizacaoResiduosConama_Id","handleBlurQuantidade","descricaoTipoAcondicionamento","handleTooltipAtive","Residuos","residuos","set_residuos","set_classeResiduo","requerimentoGeradorClasseResiduo_Id","protocoloGeradorClasseResiduo_Id","confirmaAddResiduos","residuo","EnviaProtocoloGeradorClasseResiduo","EnviaRequerimentoGeradorClasseResiduo","ManutencaoGeradorForm","setSteps","LocaisArmazenagem","locais_Armazenagem","set_locais_Armazenagem","optionsTipoAbrigo","tipoAbrigo","set_tipoAbrigo","requerimentoGeradorLocalArmazenagem_Id","protocoloGeradorLocalArmazenagem_Id","confirmaAddLocaisArmazenagem","EnviaProtocoloGeradorLocalArmazenagem","EnviaRequerimentoGeradorLocalArmazenagem","ManutencaoGeradorRSSForm","inititialGeradorRss","dataCadastro","dataCriacaoProtocolo","dataUltimaAlteracao","notificacao1Enviada","dataLiberacaoCertificado","segmentoProtocolo","senha","codigoCobranca","prazoVencimentoCobrancaEmDias","publicaDiarioOficial","cabecalhoCertificado","dataDeletado","deletado","descricaoDeclaracao","legislacaoCertificado","notificacao1RenovacaoEmDias","notificacao2RenovacaoEmDias","notificacao3RenovacaoEmDias","permiteCadastroDuplicado","vigenciaEmMeses","optionsTipoPessoa","set_tipoPessoa","transportadores","set_transportadores","optionsTransportadores","set_optionsTransportadores","loadOptionsTransportadores","_transportadores","set_tipoDestino","options_tipoDestino","set_optionsTipoDestino","comprovacaoDestinacao","set_comprovacaoDestinacao","options_comprovacaoDestinacao","tbTipoDestino_Descricao","requerimentoDestinoClasseResiduo","requerimentoDestinoClasseResiduo_Id","requerimentoDestino_Id","requerimentoDestinoTransportador_Id","protocoloDestinoClasseResiduo","protocoloDestinoClasseResiduo_Id","protocoloDestino_Id","protocoloDestinoTransportador_Id","EnviaProtocoloWithProtocoloDestino","EnviaRequerimentoDestino","handleTipoPessoa","Locais","locais_Destinacao","set_locais_Destinacao","requerimentoDestinoLocal_Id","confirmaAddLocais","EnviaProtocoloDestinoLocal","EnviaRequerimentoDestinoLocal","ManutencaoDestinoForm","CadastroSolicitacaoForm","set_setupSolicitacao_Id","set_segmento","options_segmento","options_categoria","set_options_categoria","loadOptionsCategoria","_segmento","options_tipoPessoa","set_permiteCadastroDuplicado","set_acao","options_acao","statusAcao","set_statusAcao","options_statusAcao","enquadramentoObg","set_enquadramentoObg","options_enquadramentoObg","set_cancelarRequerimentos","options_cancelarRequerimentos","diarioOficial","set_diarioOficial","options_diarioOficial","optionsDocumentos","set_optionsDocumentos","optionsDocumentosSelected","set_optionsDocumentosSelected","toggleModalDocumentos","list_table_acoes","set_list_table_acoes","confirmacaoAcaoAdicionada","h1_tab","set_h1_tab","Nav","pills","NavItem","NavLink","TabContent","activeTab","TabPane","tabId","vigencia","primeiraNotificacao","segundaNotificacao","terceiraNotificacao","declaracao","UsuarioUltimaAlteracao_Id","InputGroup","InputGroupAddon","addonType","InputGroupText","prazoCobranca","_documentos","handleEditarAcao","handleDeleteAcao","editRow","deleteTooltip","editTooltip","CustomInput","defaultChecked","handleDocumentoChange","CadastroFluxoForm","fluxoCadastro_Id","set_fluxoCadastro_Id","optionsSetupSolicitacao","set_OptionsSetupSolicitacao","list_table_etapas","set_list_table_etapas","statusEtapa","set_statusEtapa","confirmaEtapaAdicionada","fluxoCadastroEtapa_Id","loadOptionsSetupSolicitacao","ordemEtapaErro","descricaoEtapa","responsividadeEtapa","ordemEtapa","prazoResponsividade","handleEditarEtapa","handleDeleteEtapa","CadastroClassesResiduosForm","set_classeResiduo_Id","statusResiduo","set_statusResiduo","options_statusResiduo","list_table_residuos","set_list_table_residuos","confirmacaoResiduoAdicionado","residuo_Id","descricaoResiduo","handleAdicionarResiduo","handleEditarResiduo","Options","PerfilForm","perfil_Id","set_perfil_Id","list_funcionalidades","set_list_funcionalidades","list_setupsolicitacao","set_list_setupsolicitacao","funcionalidades","j","funcionalidadeAcoes","perfilFuncionalidadeAcao","funcionalidadeAcao_Id","setup","perfilSetupSolicitacaoAcao","liberado","akey","funcionalidade","funcionalidade_Id","new_funcionalidadeAcao","fucionalidadeAcao_Id","handleChangeFuncionalidadeAcao","perfil_permissoes","new_setupSolicitacaoAcao","handleChangeSetupSolicitacao","perfil_setupsolicitacaoacao","UsuarioForm","set_usuario_Id","perfil","set_perfil","options_perfil","set_options_perfil","loadListFuncionalidades","loadListSetupSolicitacaoAcao","usuarioFuncionalidadeAcoes","usuarioSetupSolicitacaoAcoes","_perfil","random","usuario_permissoes","usuario_setupsolicitacaoacao","RelatorioFichaRequerimentoGeradorRSS","relatorio","set_relatorio","set_tipoRequerimento","subprefeitura","set_Subprefeitura","options_tipoRequerimento","options_subprefeitura","showDetail","set_showDetail","set_filtro","resultExcel","validadacaoSubPrefeitura","inicio","dataInicial","fim","dataFinal","autocomplete","ComponentToPrint","ComponentToExcel","forwardRef","geradores","n","key2","numero","fone","responsavelTecnico","dataValidacao","locaisColeta","key3","locaisArmazenagem","key4","caracterizacaoResiduos","c","val","array","values","splice","getSheetData","fields","sheetData","row","fieldName","unshift","XlsxPopulate","fromBlankAsync","workbook","sheet1","sheet","totalColumns","cell","usedRange","endColumn","fromCharCode","range","outputAsync","res","saveAs","getDate","getMonth","nomeclaturas","CodigoCadastro","DataFimVigencia","Status","NomeSolicitante","Email","CodigoSistemaPrefeitura","ProtocoloDestino","Cpf_Cnpj","InscricaoMunicipal","Nome_Fantasia","RazaoSocial","NomeResponsavel","NomeResponsavelTecnico","TipoDocumentoResponsavelTecnico","NumeroDocumentoResponsavelTecnico","CCM","CEP","Logradouro","NumEndereco","Complemento","Bairro","Cidade","Telefone","Celular","RamoAtividade","UF","TipoIndustriaComercio","ProtocoloGerador","GeoLocalizacao","Usuario","DataAlteracao","CNPJ","NomeFantasia","SubPrefeitura","Tipo","CapacidadeCarga","Tara","AnoFabricacao","NumeroRenavam","ArquivoRenavam","ArquivoRenavamBase64","ArquivoInspecaoInmetro","ArquivoInspecaoInmetroBase64","ArquivoComprovanteTara","ArquivoComprovanteTaraBase64","ArquivoComodato","ArquivoComodatoBase64","DataVistoria","DataValidadeVistoria","AnoFabricacaoEquipamento","ProprietarioOuLocado","Cor","Volume","PlacaAntiga","QuantidadeLeitosEstimada","Descricao","UsuarioAlteracao","isDate","test","camposEditados","nomeFantasia","atualizado","campo","antigo","novo","RelatorioManutecaoGeradorRSS","logs","setLogs","setCategoria","verificarIndex","object","vetor","idRegistro","formataDados","dados","info","dataAlteracao","json_antigo","jsonAntigo","json_novo","jsonNovo","comp","geraRelatorio","RelatorioManutecaoTransportadores","RelatorioManutecaoDestinos","RelatorioFichaRequerimentoGeradorRGG","cpfMask","_value","noMask","num","cnpjMask","cpfcnpjMask","tamanho","substr","celularMask","telefoneMask","cepMask","horaMask","floatMask","parseFloat","toFixed","numeroMask","ufMask","placaMask","DadosPrimarios","setCpf_cnpj","errorCpfCnpj","setErrorCpf_cnpj","setupSolicitacaoAcaoPJ","set_setupSolicitacaoAcaoPJ","setupSolicitacaoAcaoPF","set_setupSolicitacaoAcaoPF","setupSolicitacaoAcaoPB","set_setupSolicitacaoAcaoPB","options_h1","set","all","index_h1","confirmarEmail","resto","soma","isValidCPF","mascaras","CardOpcaoCadastro","handleClickOpcao","xs","detalhes","CardIntegracao","integracao","handleClickIntegacao","Declaracao","handleFinalizarCadastro","set_declaracao","checkDeclaracao","textoDeclaracao","ListaVeiculosExclusao","veiculosExcluir","setVeiculosExcluir","locais","set_locais","locaisExcluir","setLocaisExcluir","ListaLocaisExclusao","Legislacao","legislacoes","LogoSistema","identificacaoLogo","ps","routes","path","component","jsonSubmit","password","remove","layout","sidebar","new_password","json_post","novaSenha","confirmarSenha","password_antiga","visualizarTela","setVisualizarTela","categorias","set_categorias","set_requerimentos","abrirCard","setAbrirCard","loadIndicadores","savedModalidade","_abriCard","setupSolicitacoes","flat","visivel","listFilter","set_listFilter","detalhadoIndicador","set_detalhadoIndicador","MontaCard","reverse","_categoria","_acao","indicador","qtdNoPrazo","isAfter","qtdForaDoPrazo","loadDetalhadoIndicador","MontaDetalhes","_setupSolicitacao_Id","Collapse","textTransform","_","s","_cards","_card","findIndex","handleRequerimentoSetupSolicitacoes","codigoPermissaoAcesso","opcoes","set_opcoes","_setupSolicitacao","_tipoPessoa","listProtocolos","set_listProtocolos","inputMostra","setInputMostra","cpfcnpj","trimStart","handleColumnRazaoSocial","handleColumnResponsavel","handleColumnEndereco","listVeiculos","setlistVeiculos","placaVeiculo","dataValidadeTransportador","loadRequerimentos","requerimentosExclusao","showCalendario","set_showCalendario","dataInicio","dataFim","json_filter","element","Blob","URL","createObjectURL","appendChild","handleExport","useLocation","setAddNovoGerador","handleStatus","openCollapse","set_openCollapse","loadList","defaultOpen","textoLauda","horarioInicio","set_horarioInicio","horarioTermino","set_horarioTermino","diaSemana","set_diaSemana","options_diaSemana","setupAgendaVistoria_Id","capacidadeDiaria","duracaoVistoriaMinutos","diaMes","set_diaMes","diaNaoUtil_Id","description","set_showFicha","showFicha","ficha","set_ficha","integracaoSelecionada","set_integracaoSelecionada","integracoes","set_integracoes","showModal","setShowModal","toogleShowModal","opcaoSelecionada","set_opcaoSelecionada","subTitle","setSubTitle","link","manuais","collapse","informacoes","setInformacoes","informacoesRecadastramentro","setInformacoesRecadastramentro","mostrarLegislacao","setMostrarLegislacao","mostrarManual","setMostrarManual","prevState","_mensagens","handleMostrarTexto","handleMostrarRecadastramentoTexto","urls","search","params","queryString","loadRequerimento","handleFinalizarRequerimento","loadProtocolo","veiculosAlteracao","setVeiculosAlteracao","vRequerimentoTransportadorVeiculo_Id","RequerimentoTransportadorVeiculo","retVeiculoPorPlaca","finalizaSolicitacaoRequerimento","TodosAlteracao","controller","passwordRpt","itemAtualizado","emailInvalido","meuCadastro","set_MeuCadastro","itemMeuCadastro","set_itemMeuCadastro","handleCancelarRequerimento","esqueceuSenha","set_esqueceuSenha","recuperarRequerimento","set_recuperarRequerimento","openModal","sessionData","paramentros","senhaModal","responseToken","handleRecuperarRequerimento","segmentos","statusProtocolo","handleClickConsultar","endereco","CorIcone","mensagemBloqueioNovoCadastro","handleCard","novoEmail","shouldFocus","recuperarSenha","confirmarRecuperarRequerimento","getRequerimento","result_protocolo","handleOpenRequerimentoTransportador","handleOpenRequerimentoGerador","handleOpenRequerimentoDestino","titleCard","setTitleCard","QRCode","dadoscarteirinha","set_dadoscarteirinha","_carteirinha","codCadastro","validade","loadDados","urL_WEB_ROC","isModal","setIsModal","list_transportadoresRGG","set_list_transportadores","visualizarTransportadores","setVisualizarTransportadoes","_enderencosLocais","localidades","setLocalidades","contratos","contrato","keyContrato","flex","ImageLogo","alt","tag","logoOpacity","qrStyle","fgColor","bgColor","logoWidth","logoheight","nomeFantasiaTransportador","logoFooterSPRegula","_classificacaoGG","capacidadeAtualizada","set_capacidadeAtualizada","capacidadeAntiga","capacidadeNova","localDestinoAtual","set_LocalDestinoAtual","edit","handleAumentoCapacidade","d","dataFinalizacaoRequerimento","cpfCnpj","toDateString","Parser","cabecalho","validadeCadastro","legislacao","enderecoCompleto","proprioOuLocado","marcaModelo","tipoEquipamento","localId","requerimentoMotivoCancelamento_Id","dadosComprovantePagamento","set_dadosComprovantePagamento","set_arquivo","requerimentoCobranca_Id","loadItem","Header","dropdownOpen","bind","dropdownToggle","sidebarToggle","createRef","setState","iconName","brandName","documentElement","classList","innerWidth","addEventListener","updateColor","Navbar","expand","fluid","openSidebar","NavbarBrand","getIcon","getBrand","NavbarToggler","navbar","Dropdown","nav","DropdownToggle","caret","DropdownMenu","DropdownItem","divider","Footer","default","getYear","Sidebar","activeRoute","routeName","navigator","platform","PerfectScrollbar","suppressScrollX","suppressScrollY","destroy","data-color","data-active-color","flexDirection","maxHeight","pro","to","activeClassName","Admin","handleActiveClick","activeColor","handleBgClick","validaPermissaoAcesso","newRoutes","mainPanel","action","scrollingElement","Popover","mensagens","setMensagens","UncontrolledPopover","PopoverHeader","PopoverBody","handleCollapse","UncontrolledCollapse","toggler","Navigation","borderLeft","Auth","localStorage","getItem","setItem","borderTop","bottom","Empty","External","Loading","hist","createBrowserHistory","RoutesComponent","exact","App","ReactDOM","getElementById"],"mappings":"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","file":"static/js/main.df4b4a34.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/loading.3320bc70.gif\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMMAAABUCAYAAAA/HINRAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAACxEAAAsRAX9kX5EAABMXSURBVHhe7Z0LlE3VH8f3YFB5p6hECDOLKCIi/yJZeVVU8mgmLCSiByt6qCavFtJLrRYKoSJZy4RSI68Q0YheHjGqIQp5S+b893f7Hc7c+zuve++8zuzPWl/Ouee39zlzzvmds/fZv713nCERGo1GaGew4fjx42L9+vUiPT1d7NixQ2RmZoqsrCy1rWjRouLKK68UtWrVEg0aNBBNmzYVJUuWVNvykp9//lls2LBB/PTTT2LPnj3iyJEjIi4uTuASly9fXlSrVk3Uq1dPNG7cWFSvXp1Sac4DZ9CcY9WqVUb37t2NIkWK4AHhS/Hx8UbPnj2NtWvXUm45z+HDh42xY8caiYmJ7DG5qWHDhsbkyZONs2fPUo6FG+0MkieffJK9WaLRiBEjKPfYs3TpUqNOnTrsfiPVzTffbMi3Cu2hcFKoneHhhx9mb4xYasiQIbS36Fm+fLlx6aWXsvuJlapWrWps3bqV9li4KJTOMG/ePPZGyEktXLiQ9u4fFGNuvPFGNt+cUrt27WjvhYdC5wwtW7ZkL35uqE2bNnQU3oETcXnlljZu3EhHEnwKjTMcO3bMiIuLYy94bqpYsWKeK6wDBgxg88htTZgwgY4o2BQKZ9i9ezd7kfNSe/fupaPjadWqFZsur9SnTx86suAS+HYGedOpNoFoQR6y8qq+2x84cEDlGy3Ip2LFirR2gWbNmol169bRWmSUKVNGVK5cWZQoUUKcPHlS/PHHH+r/aEhKShIzZsygtQCiXCKgoDiCPzESdevWzVi8eDHlZM+iRYuMrl27snl4USiR5pWQkGBMmjRJvQWd2LZtmzFq1ChDOjebj5tefPFFyil4BNoZihcvzl5QO8F+9uzZlNo/06dP910vKV++PKU2VAMYZ+OkHj16qMa3SNizZ4/RunVrNl8npaWlUQ7BIrDO0KlTJ/ZC2imWlcSUlBR2H3bq1auXcfr0aXabndDodvToUdpjdMAp/LZfZGVlUergEEhnWLFiBXsBOckydcxuKiv79+9XX464fXIqVaoU+zun0aNH015iS//+/dn9capfvz6lCg6BdAbu4nGqVq0apcg5Ii2b22nZsmWUc84wbdo0dr+cUlNTKVUwCJwzvPzyy+yFC1VuOIJJ5cqV2WPwKwQS5gYzZ85k9x8qvPmCROCcgbtonHIb7hj8CJXz3GTYsGHscYRqxowZlKLgEyhnmDJlCnvBQoUKY26zY8cO9li8qH379pRL7uIlMrZs2bJkXfAJlDNUqlSJvWBWDR48mKxzn379+rHH5Ka84tSpU+zxhGrLli2UomATGGdAeAN3oUKV13DH5KTXX3+dUuYNgwYNYo/LKnwaDgKBcYYxY8awF8qqaFtPd+3a5drC64bXsripaMADAsd84MAB+iUyuOMKVRAIjDOgCyN3kayKhJUrVxrVq1cPy6tWrVoRdfH0EyISaccgBNVx+T311FNk4Y8777yTzc8qt8DDgkBgnIG7QFZF0kiUnJzM5mUVGqr8wjkXJ78V/e3bt7P5hArh7H74/PPP2XyswufYgk4gnOHQoUPsBbIK7Q9+GDhwIJsPp6FDh1Iqb4wcOZLNJ1R+QCs6l4ed/MLlYRW60BZ0AuEMaIziLpBVmzZtImt3du7cyebhpMzMTErtzurVq9k8rGrevDlZe8PvCBmI3fKDW8MhBhQo6BSRf0iB59dff6Ule2644QZacuexxx6jJe888cQTtOTOddddR0v2NGrUiJbc+e2339RYSX5YuHAhLXnj+uuvpyUejNNU0AmEM8Sio42V1NRUWvLO/PnzackddLxxo0qVKrTkzscff0xL/vDzd1511VW0xPP777/TUsElEM5wySWXiHLlyomrr746TLiIVatWJcuc48yZM7TkDRwzbnjumMuWLat61Xnll19+oSV/7Nq1i5bcqVOnjhqVjzte9AK85ppryLLgooeXZEDXzkjIq1MpK/Bi4sSJtOadt99+W8iKL61pAvFmiDWXXXYZLXmnRo0atJT7YKzXSJCVXlrSAO0MDJFUoAcNGkRLuc+9995LS/6oX78+LWmALibZ4LeolNenceTIkeKll16iNXdmz54tunfvTmsaoJ3BBgzvnpiYSGvO7N69Ww33ntc0adJEDUnvRpcuXSL+AhVkdDHJhoSEBJGRkeE470Lp0qXVZ9384AgA80n07t2b1njwBtGOwKPfDB5AA9W0adPE1q1b1ToaoPr06SPatWun1vMbhw4dEmPGjBHLly9Xg4fhs2fbtm3F8OHD1aBiGh7tDBoNoYtJGg2hnUGjIbQzaDSEdgaNhtDOoNEQ2hk0GkI7g0ZDaGfQaIjANLpt2rRJxMfH05p38OcXL15c1KxZM6L0mnD27dsnrrjiCloLJ7/ecoFwhhMnTqieY7EAMf4DBgwQPXv2pF80ftm/f7+oVKkSrYWjnSEHOX36tGNAXaQgJqljx460pvEKJm68/PLLaS2c/HrL6TqDA506dRL9+vWjNU3Q0c7gwpQpU8T48eNpTRNkdDHJI//++6+uYHukoBaTCoUzYLgYDGny33//0S/yD4+LE1lZWWqYlWPHjtGv9gwePFi89tprtKZxQjtDHuLmDJMmTXLs5I+vH+jiefDgQfolHIxj9Ndff9GaxonAOQOKBbNmzRJpaWmqh9fRo0fV07RYsWKq5xT62959992uwyDiBitSJLxqgt1iUCqTzZs3q3F8vv76a3H8+HG1L9yg99xzj+pV5oSbM6Cj/LPPPktr9rgNAuDlIu7cuVPMmDFDrF69WvWNRp5FixZVg3C1atVK9O3bV5QqVYqs/fHll1+KmTNnim+//VacOnVKXYt69eqJhx56SFX2Tf7++2+1Tys4drSnmJ+gORtw9uxZxwHM/vnnH/VGDT1XSIfBz3BMsXAG9NJbvHixui/QtRb3H84bhvGpVauWuPXWW8UDDzzges18IQ8sG/IkGU2bNsXRepYsPlDqcDh7U+DkyZNG7dq12e1Wvfrqq8qew226JekMZOmM2zRTTsgbVc1vxqULVePGjdU80V7ZsGGDIW9kNi9T8sZW88bJBwm7HZI3EOXofl3sKFOmDJsG+vDDD5UN/jZuuykn5BucTWOn22+/nVJGT7YjmzNnDrtDL5JvC8olO5wtVKFCBc9zhplq0aIF5ZqdWDnDuHHj2PSm7JBPfNbeTU4ObvLGG2+wae20aNEi9ndIvmUp18idoWbNmmwaaOHChcomEmeQbxPW1qvS09Mpp8g5f2RehnV3E05UKJwdVLp0afU047Y5SRbNKOcLxMoZevfuzaaHZNGBrLIjiwOsvVfJ4hvlFM6CBQvYNJEqvzqDLHaxdn514sQJyjEyzh8Zl7lVCQkJRt26ddltVuHtYoWziVZLly6l3M8RK2fg0prC6zuUm266ibX1KzzNOTjbaJRfnUHWe1g7v2rWrBnlGBnqyDBvGZc5hKdlKE7FKUzRZIWzsRNmnOd+DxXeKFbcnMFtxsxly5YZsiLGpjUVygcffMDamULR6ZNPPjHWr19vzJo1y6hSpQprZyqUpKQk1s4qlJcxf1ubNm3Y7aHKj86Aqbo4G1O4dqhXAsxO5FanwFsmUtSRYRZMLmPIjrZt27L2kBVue6jGjx9P1ueYO3cua2cVHNjEzRmKFClilChRwoiPjz8vVEi9Ot+8efNoTxfg7EzZzZp/1113sfZQaHGJszFVvnx5ssqO21xx+dEZnn/+edYGwsOEw6mOtmTJErLyjzoyzEnGZQwtXrxYGYaCKWDnz5+vToBV+KJw5swZsnJ3hq+++ooss+M2o37Xrl3J0t0ZohH+xlCcJvzDU9oJLo0pE5xzbrspJzh7U/nRGXr06KF+w4PJlFmXtMPp4f3KK6+QlX/UHidOnMhmbAqfPl944QVVnPA7UySXn6mWLVuSFQ8qy1w6CE96k5xwhuHDh1Pu4eCm4tJAGRkZZMXz3HPPsemgH374QdkMHjyY3Q717dtX2diBiRy5dFB+rTP4AZNZ4s3O5QulpKSQpX9Ua5h8muE/W7Zt2yakM6hGIzR8oKEDY5EOHDhQyCc7WfnHrSFsyJAhtBQOGtpyEjT4pKen01p25JuBlsLB1FDjxo0TY8eODZN8ajnOP7dgwQL1Pxqa7JBPUlriQQNcUED4zJYtW9SI4YgguPbaa1VDrdMsSVE1wpFTGOXKlWM9zauefvppyik7nK0pN/CpjEtnCt+mQU4WkyZPnqz2YYWzi4Xat2+v8pcXnd0O7du3T9k4waWD8vubAQ2Go0ePVnN2c+m8yOuXQ47zcRKRzgtmgoFuMSp1LLnoootoiQcD7HoBo2TjrXbLLbco/e9//1MzbsryKVnYg7ff9u3baS1nwTD4gAtfMQlq5Kx8EKhQkWeeeUZ8//339Gvucv6sI5bkyJEjrrM6OoHoT0SH5jfwikWM1cqVK5UQ94ITjtdtZmam67RVuVX0MKePRQyRHTt27KAlHi8RuNEQ01ggCWKakCeKpV7Jqem3sj2C8GTHFKa4UZKSkiIKKEN6pzK1H+Sbi5Z4KlSoQEvOON0g6LguX+uOF3nNmjW05A6CGJGnX+FhZD6Iateurf7nMOsVdkQyba8fEKQXS5wC+kwwKyp6HH7xxRfqnohkMkdPqMKSC5hd/5133lENcIhBQjInde7cmVI6l03Nryd2SKdk05kycaszeClHzpw5k01rCp+STRBXxdlAseDNN99k8zblhHzLsWmgWNQZOHtTfusMTo29ENfqDz777DPWHoq6zoBQY0xqYRVmnUe4LsDs+vBMTNiBuYNlOlUGt8Ppa4gVt+6U0gFpKRy3+oRf3CYJxFcNE6dJSubOnUtLkeM2Ha3dbP3333+/Cp+OFruimHx40VJscHrLpaSkqH4oHAjxj5RHH31UlYBQEmjRooW6988Dj8B/nPBVwwkuDYQvUybcdquk45FlOJy9KXnzklVs3gyAS2vKGtLhFNR48cUXkxXP1KlTDXnTGg8++GA24altbeBs1KgRm79VaI9A5CsaTUuWLMnaWOX1zWAXHSwruKy9Kb9vho4dO7LbIeubOBSngEqna41IBC4N2s+AozNABw8eVIYcnD0kn1xk4Zy3qdBWaDiIW/z+ihUryDp2zuD0eXnEiBFkdQ5Zn2LtIPQH4XAr9sn6FllGH9LMyeoMbs6DoEzEX6WlpRljx45lbULl1xnwQOO2Q4jY5di7dy9rb8ruWicnJ7P2poD6F8FenIGp0JtVFp9UBxXOFrK2OXDbOaEJvmHDhp5CotECaSVWzuD0fbt///5kdQ5ZmWPtrBowYIAxZcoU1VbhFMsFca3xfvsyuMnqDGjT4GyikV9nQGsxt90UHh5W3nrrLdbOKrtrzdlatWbNmnPOgFgiziBUeJrIsha7zSprXDm3PVqhV5mVWDmD0w1ivZFMunTpwtpGIjtw7Jy9nZxCWKx/A96snE008usMKApx20PlNaASGjVqFOWeHc7WqtTU1HMVaDQ+zZ8/H4uOyJsOfwmt8UyYMCHmlVsr9913n2jdujWtxRanIRH//PNPWroAppB16wPuBacQDYSsbNy4Uci6CP1iDz4BP/7447TmjHwTierVq9Oad2677TZaih40hsoiJa3ZYx3VBDjNWGr36dfp2oJmzZpJl7Dw6aefhnmMH6FsGQpnZ+qbb75hf7dThw4dKNfsxOrN4NTt0y5sGgwcOJBN4yZUthF45pW1a9cavXr1UoGTqMyijtOkSZNskZqIsuX2BSGEPBTOzk74/IzwdG4b5PfNYILzwNlxqlGjhpGZmclug1A34HDqDmvWcdn3M044l8hO6GGEig0HZ28KxTN02ECXSm67VbNnz6Ycw3HqBA8NGzaMLJ3ZvHkzm94UQrftwAVq3rw5m47TpEmTKGVsef/999n9QXYRr7h+nL1V5hcX9LvgtkPmgAD4AMJtN8VhhnI7yXr83HZTqNNy4JyH2iYmJtJWw3AcN0mWK9XwJPjGjnYHhGvgFYVXDoZxwXAdbt/nnVp2MYyMOVwMZrd/9913xXfffafGJ8LvDRo0ELJcnm8mH0fogKzo05o98+bNE6tWrVKxRmbrN1qXZQVdDa+DuCgnMNzM9OnTw4pGKC4gLfKwA+dqyZIltJadqVOn2g67I5/mql1n3bp16rqg6IwhWWQ9I1cHX5YOpYp7uN9w76D1GUWp7t27k4U7KCo5xXe999574vDhw+KOO+4QdevWpV8dxk2KFV6dQXMBNHbKIhCthYOGIpS3Q5HFKMe4HTRWeal7FFa0M+RTEK+EST/s6Natm+jcubN642RkZIg5c+Y4xiVhsDFrK7omHO0M+RS3p7xf4DBVq1alNQ2HfcFKk6fgU98jjzxCa9GBGDDtCO5oZ8jHTJ48WYwcOZLWIgNdTYcOHUprGifytJiECMuKFSvSmsYODLybnJys4vm9gqjijz76SJ9fH+S4M+BzKT5zhToFJiXEZz6nXl2acNBxCj31fvzxR/U5FOcWnxIxcjY+E6Jba4cOHcha44ccdwaNpmAgxP8BbGZX12Tgp+sAAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/media/logoFooterSPRegula.9ce28c0e.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","import * as Cookies from \"js-cookie\";\r\nimport React from 'react';\r\n\r\nexport const setSessionCookie = (session) => {\r\n Cookies.remove(\"sessionROC\");\r\n Cookies.set(\"sessionROC\", session, { expires: 14 });\r\n};\r\n\r\nexport const getSessionCookie = () => {\r\n const sessionCookie = Cookies.get(\"sessionROC\");\r\n if (sessionCookie === undefined) {\r\n return null;\r\n } else {\r\n return JSON.parse(sessionCookie);\r\n }\r\n};\r\n\r\nexport const SessionContext = React.createContext(getSessionCookie());\r\n\r\n/*** TOKEN ***/\r\n\r\nexport const setTokenCookie = (token) => {\r\n Cookies.remove(\"tokenROC\");\r\n Cookies.set(\"tokenROC\", token, { expires: 14 });\r\n};\r\n\r\nexport const getTokenCookie = () => {\r\n const tokenCookie = Cookies.get(\"tokenROC\");\r\n if (tokenCookie === undefined) {\r\n return null;\r\n } else {\r\n return JSON.parse(tokenCookie);\r\n }\r\n};\r\n\r\n/*** OBJECT ***/\r\n\r\nexport const setObjectCookie = (dados) => {\r\n Cookies.remove(\"object\");\r\n Cookies.set(\"object\", dados, { expires: 14 });\r\n};\r\n\r\nexport const getObjectCookie = () => {\r\n const dados = Cookies.get(\"object\");\r\n if (dados === undefined) {\r\n return null;\r\n } else {\r\n return JSON.parse(dados);\r\n }\r\n};\r\n\r\n/*** GENERIC ***/\r\n\r\nexport const setObjectCookie_Generic = (name,dados) => {\r\n Cookies.remove(name);\r\n Cookies.set(name, dados, { expires: 14 });\r\n};\r\n\r\nexport const getObjectCookie_Generic = (name) => {\r\n const dados = Cookies.get(name);\r\n if (dados === undefined) {\r\n return null;\r\n } else {\r\n return JSON.parse(dados);\r\n }\r\n};\r\n\r\nexport const TokenContext = React.createContext(getTokenCookie());\r\n\r\n","import axios from 'axios';\r\nimport { getSessionCookie, setSessionCookie } from './session';\r\n\r\nconst api = axios.create({\r\n baseURL: process.env.REACT_APP_API_ENDPOINT,\r\n});\r\n\r\nconst tenantId = window.location.host.split(':')[0].split('.')[0];\r\n\r\nconst request = async (endpoint, obj, method, contentType) => {\r\n const promise = new Promise((resolve, reject) => {\r\n const session = getSessionCookie();\r\n if (session != null && session?.accessToken) {\r\n const now = new Date();\r\n if (!session || (new Date(session.expiration)) < now) {\r\n setSessionCookie(null);\r\n window.location.reload();\r\n resolve(null);\r\n }\r\n }\r\n const success = (result => {\r\n var newResult = {\r\n status: result.status,\r\n message: result.message,\r\n data: result.data\r\n }\r\n\r\n resolve(newResult);\r\n });\r\n const failed = (error => {\r\n if (error.response) {\r\n if (error.response.status === 401 || error.response.status === 403)\r\n reject({ status: error.response.status, message: \"Sua sessão expirou. Realize o acesso novamente\" });\r\n else\r\n try {\r\n reject({ status: error.response.status, message: error.response.data ? error.response.data.message : error.response.message });\r\n }\r\n catch {\r\n reject({ status: 500, message: \"Erro ao conectar com API\" });\r\n }\r\n }\r\n else {\r\n reject({ status: 500, message: \"Erro ao conectar com API\" });\r\n }\r\n })\r\n const headers = () => {\r\n const _headers = {\r\n headers: {\r\n 'tenantId': tenantId,\r\n 'Cache-Control': 'no-cache',\r\n 'Pragma': 'no-cache',\r\n 'Expires': '0',\r\n }\r\n };\r\n\r\n if (contentType == \"multipart/form-data\")\r\n {\r\n _headers.headers[\"Mime-Type\"] = \"multipart/form-data\";\r\n delete _headers.headers['Content-Type'];\r\n }\r\n else { \r\n _headers.headers['Content-Type'] = contentType;\r\n }\r\n if (session != null && session?.accessToken)\r\n _headers.headers.Authorization = `Bearer ${session.accessToken}`\r\n return _headers;\r\n }\r\n\r\n try {\r\n if (method == \"POST\")\r\n return api.post(endpoint, contentType == \"multipart/form-data\" ? obj : JSON.stringify(obj), headers())\r\n .then(result => success(result))\r\n .catch(error => failed(error));\r\n else if (method == \"PUT\")\r\n return api.put(endpoint, contentType == \"multipart/form-data\" ? obj : JSON.stringify(obj), headers())\r\n .then(result => success(result))\r\n .catch(error => failed(error));\r\n else if (method == \"GET\")\r\n return api.get(endpoint, headers())\r\n .then(result => success(result))\r\n .catch(error => failed(error));\r\n else if (method == \"DELETE\")\r\n return api.delete(endpoint, headers())\r\n .then(result => success(result))\r\n .catch(error => failed(error));\r\n\r\n }\r\n catch (error) {\r\n var result = {\r\n status: 500,\r\n message: \"Erro no servidor (500)\"\r\n }\r\n resolve(result);\r\n }\r\n });\r\n\r\n return promise;\r\n};\r\n\r\nconst api_POST = (endpoint, obj) => {\r\n return new Promise((resolve, reject) => {\r\n request(endpoint, obj, \"POST\", 'application/json')\r\n .then(result => resolve(result))\r\n .catch(error => reject(error));\r\n });\r\n};\r\n\r\nconst api_POST_File = (endpoint, obj) => {\r\n return new Promise((resolve, reject) => {\r\n request(endpoint, obj, \"POST\", 'multipart/form-data')\r\n .then(result => resolve(result))\r\n .catch(error => reject(error));\r\n });\r\n};\r\n\r\nconst api_PUT = (endpoint, obj) => {\r\n return new Promise((resolve, reject) => {\r\n request(endpoint, obj, \"PUT\", 'application/json')\r\n .then(result => resolve(result))\r\n .catch(error => reject(error));\r\n });\r\n};\r\n\r\nconst api_DELETE = (endpoint, obj) => {\r\n return new Promise((resolve, reject) => {\r\n request(endpoint, obj, \"DELETE\", 'application/json')\r\n .then(result => resolve(result))\r\n .catch(error => reject(error));\r\n });\r\n};\r\n\r\nconst api_GET = (endpoint) => {\r\n return new Promise((resolve, reject) => {\r\n request(endpoint, null, \"GET\", 'application/json')\r\n .then(result => resolve(result))\r\n .catch(error => reject(error));\r\n });\r\n};\r\n\r\nconst api_GETExternal = (endpoint) => {\r\n const promise = new Promise((resolve, reject) => {\r\n try {\r\n return axios.get(endpoint)\r\n .then(result => {\r\n let newResult = {\r\n status: result.status,\r\n data: result.data,\r\n headers: result.headers\r\n }\r\n resolve(newResult);\r\n })\r\n .catch(function (error) {\r\n if (error.response) {\r\n if (error.response.status === 401 || error.response.status === 403) {\r\n window.location.reload();\r\n return;\r\n }\r\n\r\n let message = \"\";\r\n if (error.response.data.message)\r\n message = error.response.data.message;\r\n else\r\n message = \"Erro inesperado\";\r\n\r\n let newError = {\r\n status: error.response.data.status,\r\n message: message\r\n }\r\n resolve(newError);\r\n }\r\n else {\r\n let result = {\r\n status: 500,\r\n message: \"Erro ao conectar com a api.\"\r\n }\r\n resolve(result);\r\n }\r\n });\r\n\r\n } catch (error) {\r\n let result = {\r\n status: 500,\r\n message: \"Erro no servidor.\"\r\n }\r\n resolve(result);\r\n }\r\n });\r\n return promise;\r\n};\r\n\r\nexport { api_POST, api_PUT, api_DELETE, api_GET, api_GETExternal, api_POST_File };","import Swal from 'sweetalert2'\r\nimport withReactContent from 'sweetalert2-react-content'\r\n\r\nconst swall = withReactContent(Swal)\r\n\r\nexport const showMessage = (title, text, icon, function_confirmation) => {\r\n swall.fire({\r\n title: title,\r\n text: text,\r\n icon: icon,\r\n footer: \"©\" + new Date().getFullYear() + \" CSJ Sistemas\"\r\n }).then(() => {\r\n if(function_confirmation !== null)\r\n function_confirmation();\r\n })\r\n};\r\n\r\nexport const showQuestion = (title, text, icon, function_confirmation) => {\r\n swall.fire({\r\n title: title,\r\n text: text,\r\n icon: icon,\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Confirmar',\r\n cancelButtonText: 'Cancelar',\r\n }).then((result) => {\r\n if (result.value) {\r\n if(function_confirmation !== null)\r\n function_confirmation(true);\r\n }\r\n else{\r\n function_confirmation(false);\r\n }\r\n })\r\n};","import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';\r\n\r\nimport { removeAllCookies } from '../services/cookies';\r\nimport { setSessionCookie } from '../services/session';\r\nimport { getSessionCookie } from '../services/session';\r\n\r\nimport { api_GET } from '../services/api_service';\r\nimport { showMessage } from '../services/message';\r\n\r\n//Helpers\r\n\r\nfunction initialContext() {\r\n return {\r\n loading: false,\r\n isSignout: false,\r\n session: null\r\n }\r\n}\r\n\r\nexport const AuthContext = createContext(initialContext());\r\n\r\nconst AuthProvider = ({ children }) => {\r\n //Estados de autenticação\r\n const [loading, setLoading] = useState(false);\r\n const [session, setSession] = useState(null);\r\n const [setupSistema, setSetupSistema] = useState(null);\r\n\r\n\r\n const signIn = useCallback(async (data) => {\r\n await setSessionCookie(data);\r\n setSession(data);\r\n }, []);\r\n\r\n const signOut = useCallback(async (token, callback) => {\r\n if (!token) removeAllCookies();\r\n setSession(null);\r\n if (callback) callback();\r\n }, []);\r\n\r\n const loadSetupSistema = useCallback(() => {\r\n setLoading(true);\r\n api_GET('SetupGeral')\r\n .then(result => { setSetupSistema(result.data) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }, []);\r\n\r\n const loadAsync = useCallback(async () => {\r\n setLoading(true);\r\n try {\r\n const data = await getSessionCookie();\r\n setSession(data);\r\n } catch (e) {\r\n console.error(\"Error loading session:\", e);\r\n } finally {\r\n setLoading(false);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n loadSetupSistema();\r\n loadAsync();\r\n }, [loadAsync])\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n\r\nexport function useAuth() {\r\n const context = useContext(AuthContext)\r\n return context;\r\n}\r\n\r\nexport default AuthProvider;","import * as Cookies from \"js-cookie\";\r\n\r\nexport const removeAllCookies = () => {\r\n Object.keys(Cookies.get()).forEach(function(cookie) { \r\n if(cookie !== 'language')\r\n Cookies.remove(cookie);\r\n }); \r\n};\r\n","import moment from \"moment\";\r\n\r\nconst transformValueFormatedtoFloat = (value) =>{\r\n if(value === undefined)\r\n return 0; \r\n if(value === null)\r\n return 0; \r\n\r\n let newValue = value.toString(); \r\n \r\n newValue = newValue.split(\".\").join(\"\");\r\n newValue = newValue.replace(\",\",\".\");\r\n newValue = parseFloat(newValue); \r\n \r\n return newValue;\r\n}\r\n\r\nconst transformValueFloattoFormated = (value) =>{\r\n \r\n let valor = value;\r\n if(!valor)\r\n valor = 0;\r\n \r\n valor = valor.toLocaleString('pt-BR');\r\n let index = valor.indexOf(\",\"); \r\n if(index === -1)\r\n {\r\n valor = valor + ',00';\r\n return valor;\r\n }\r\n\r\n let resultadoDpsDaVirgula = valor.substring(index+1,valor.length); \r\n if(resultadoDpsDaVirgula.length === 1)\r\n valor = valor + '0';\r\n \r\n return valor;\r\n}\r\n\r\nfunction formateMesAno(date)\r\n{ \r\n let dateFormated = date;\r\n dateFormated = moment(date).format('MM/YYYY');\r\n return dateFormated;\r\n}\r\n\r\nfunction formateDate(date)\r\n{ \r\n let dateFormated = date;\r\n dateFormated = moment(date).format('DD/MM/YYYY');\r\n return dateFormated;\r\n}\r\n\r\nfunction formateDateSemBarra(date)\r\n{ \r\n let dateFormated = date;\r\n dateFormated = moment(date).format('DD-MM-YYYY');\r\n return dateFormated;\r\n}\r\n\r\n\r\nfunction formateDateApi(date)\r\n{ \r\n let dateFormated = date;\r\n dateFormated = moment(date).format('YYYY-MM-DD');\r\n return dateFormated;\r\n}\r\n\r\nfunction formateDateandTimeApi(date)\r\n{ \r\n let dateFormated = date;\r\n dateFormated = moment(date).format('YYYY-MM-DD HH:mm:ss');\r\n return dateFormated;\r\n}\r\n\r\nfunction formateDateandTime(date)\r\n{ \r\n let dateFormated = date;\r\n dateFormated = moment(date).format('DD/MM/YYYY HH:mm');\r\n return dateFormated;\r\n}\r\n\r\nfunction validateDate(date){\r\n return moment(date, 'DD/MM/YYYY',true).isValid();\r\n}\r\n\r\nfunction convertDate(date){\r\n let dateConvert = date;\r\n dateConvert = moment(date, 'DD/MM/YYYY').toDate();\r\n return dateConvert; \r\n}\r\n\r\nfunction formateRSS(segmento, categoria){\r\n let segmentoConvert = segmento;\r\n segmentoConvert = categoria == \"RSS\" ? segmento.replace(\"Grande\", \"\"): segmento;\r\n return segmentoConvert; \r\n}\r\n\r\nfunction formateMonthName(month){\r\n switch(month){\r\n case 1: return 'Janeiro';\r\n case 2: return 'Fevereiro';\r\n case 3: return 'Março';\r\n case 4: return 'Abril';\r\n case 5: return 'Maio';\r\n case 6: return 'Junho';\r\n case 7: return 'Julho';\r\n case 8: return 'Agosto';\r\n case 9: return 'Setembro';\r\n case 10: return 'Outubro';\r\n case 11: return 'Novembro';\r\n case 12: return 'Dezembro';\r\n }\r\n}\r\n\r\nexport { \r\n transformValueFormatedtoFloat,\r\n transformValueFloattoFormated,\r\n formateDate,\r\n formateDateandTime,\r\n validateDate,\r\n convertDate, \r\n formateDateApi,\r\n formateDateandTimeApi,\r\n formateMesAno,\r\n formateMonthName,\r\n formateDateSemBarra,\r\n formateRSS\r\n};","import { api_GET } from \"services/api_service.js\";\r\nimport { getSessionCookie } from \"services/session.js\";\r\nimport { showMessage } from \"./message\";\r\n\r\nexport default function ValidaAcessoFuncionalidadeAcao(funcionalidadeAcao, callback) {\r\n let session = getSessionCookie();\r\n if (session && session.tipoAcesso == \"Protocolo\") {\r\n callback(false);\r\n return;\r\n }\r\n\r\n if (session.login == \"csj\") {\r\n callback(true);\r\n return;\r\n }\r\n\r\n api_GET('usuario/ValidaAcessoFuncionalidadeAcao/' + session.usuario_Id + \"/\" + funcionalidadeAcao)\r\n .then(result => { callback(result.data) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n};","export const table_translate = {\r\n body: {\r\n emptyDataSourceMessage: 'Sem dados para exibir',\r\n deleteText: 'Tem de que deseja excluir esta linha?',\r\n emptyDataSourceMessage: 'Sem dados para exibir',\r\n addTooltip: 'Adicionar',\r\n deleteTooltip: 'Deletar',\r\n editTooltip: 'Editar',\r\n filterRow: {\r\n filterPlaceHolder: 'Filtrar',\r\n filterTooltip: 'Filtrar',\r\n },\r\n editRow: {\r\n deleteText: 'Tem certeza de que deseja excluir?',\r\n cancelTooltip: 'Cancelar',\r\n saveTooltip: 'Salvar',\r\n },\r\n },\r\n grouping: {\r\n placeholder: 'Arraste o título da coluna para agrupar as linhas',\r\n groupedBy: 'Agrupar por: ',\r\n },\r\n header: {\r\n actions: '',\r\n },\r\n pagination: {\r\n labelDisplayedRows: '{count} de {from}-{to}',\r\n labelRowsSelect: 'linhas',\r\n labelRowsPerPage: 'Linhas por página: ',\r\n firstAriaLabel: 'Primeira página',\r\n firstTooltip: 'Primeira página',\r\n previousAriaLabel: 'Página anterior',\r\n previousTooltip: 'Página anterior',\r\n nextAriaLabel: 'Próxima página',\r\n nextTooltip: 'Próxima página',\r\n lastAriaLabel: 'Última página',\r\n lastTooltip: 'Última página',\r\n },\r\n toolbar: {\r\n addRemoveColumns: 'Adicionar ou remover colunas',\r\n nRowsSelected: '{0} linha(s) selecionadas',\r\n showColumnsTitle: 'Mostrar colunas',\r\n showColumnsAriaLabel: 'Mostrar colunas',\r\n exportTitle: 'Exportar',\r\n exportAriaLabel: 'Exportar',\r\n exportName: 'Exportar como CSV',\r\n searchTooltip: 'Pesquisar',\r\n searchPlaceholder: 'Pesquise aqui...',\r\n },\r\n }\r\n\r\n export const table_style = \r\n {\r\n headerStyle: {\r\n fontFamily:'Montserrat, Helvetica Neue, Arial, sans-serif',\r\n fontWeight:'700',\r\n color:'#888'\r\n } \r\n}","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\r\nimport clsx from 'clsx';\r\nimport Stepper from '@material-ui/core/Stepper';\r\nimport Step from '@material-ui/core/Step';\r\nimport StepLabel from '@material-ui/core/StepLabel';\r\nimport Check from '@material-ui/icons/Check';\r\nimport StepConnector from '@material-ui/core/StepConnector';\r\nimport { getSessionCookie } from 'services/session';\r\n\r\n \r\nexport default function CustomizedSteppers({stepValue,steps}) {\r\n const classes = useStyles(); \r\n const session = getSessionCookie();\r\n \r\n return (\r\n
\r\n \r\n }>\r\n {steps.map((label) => (\r\n \r\n {label}\r\n \r\n ))}\r\n \r\n
\r\n );\r\n }\r\n\r\nconst useQontoStepIconStyles = makeStyles({\r\n root: {\r\n color: '#eaeaf0',\r\n display: 'flex',\r\n height: 22,\r\n alignItems: 'center',\r\n },\r\n active: {\r\n color: '#784af4',\r\n },\r\n circle: {\r\n width: 8,\r\n height: 8,\r\n borderRadius: '50%',\r\n backgroundColor: 'currentColor',\r\n },\r\n completed: {\r\n color: '#784af4',\r\n zIndex: 1,\r\n fontSize: 18,\r\n },\r\n});\r\n\r\nfunction QontoStepIcon(props) {\r\n const classes = useQontoStepIconStyles();\r\n const { active, completed } = props;\r\n\r\n return (\r\n \r\n {completed ? :
}\r\n
\r\n );\r\n}\r\n\r\nQontoStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n */\r\n active: PropTypes.bool,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n */\r\n completed: PropTypes.bool,\r\n};\r\n\r\nconst ColorlibConnector = withStyles({\r\n alternativeLabel: {\r\n top: 22,\r\n },\r\n active: {\r\n '& $line': {\r\n backgroundImage:\r\n 'linear-gradient(to right, #134e5e, #71b280);',\r\n },\r\n },\r\n completed: {\r\n '& $line': {\r\n backgroundImage:\r\n 'linear-gradient( 136deg, rgb(0,113,33) 0%, rgb(0,87,64) 50%, rgb(0,135,35) 100%)',\r\n },\r\n },\r\n line: {\r\n height: 3,\r\n border: 0,\r\n backgroundColor: '#eaeaf0',\r\n borderRadius: 1,\r\n },\r\n})(StepConnector);\r\n\r\nconst useColorlibStepIconStyles = makeStyles({\r\n root: {\r\n background: '#eaeaf0;',\r\n zIndex: 1,\r\n color: '#fff',\r\n width: 50,\r\n height: 50,\r\n display: 'flex',\r\n borderRadius: '50%',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n },\r\n active: {\r\n background: '#65a57c', \r\n //'linear-gradient(to left, #134e5e, #71b280);',\r\n backgroundClip: 'content-box',\r\n boxShadow: '0 4px 10px 0 rgba(0,0,0,.25)',\r\n animation:' move 0.8s linear infinite',\r\n animationDirection: 'reverse'\r\n },\r\n completed: {\r\n backgroundImage:\r\n 'linear-gradient(to left, #134e5e, #71b280);',\r\n } \r\n});\r\n\r\nfunction ColorlibStepIcon(props) {\r\n const classes = useColorlibStepIconStyles();\r\n const { active, completed } = props;\r\n\r\n const icons = {\r\n 1: ,\r\n 2: ,\r\n 3: ,\r\n 4: ,\r\n 5: ,\r\n 6: ,\r\n 7: ,\r\n 8: ,\r\n };\r\n\r\n return (\r\n \r\n {icons[String(props.icon)]}\r\n \r\n );\r\n}\r\n\r\nColorlibStepIcon.propTypes = {\r\n /**\r\n * Whether this step is active.\r\n */\r\n active: PropTypes.bool,\r\n /**\r\n * Mark the step as completed. Is passed to child components.\r\n */\r\n completed: PropTypes.bool,\r\n /**\r\n * The label displayed in the step icon.\r\n */\r\n icon: PropTypes.node,\r\n};\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n width: '100%',\r\n backgroundColor:'transparent'\r\n },\r\n button: {\r\n marginRight: theme.spacing(1),\r\n },\r\n instructions: {\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1),\r\n },\r\n root: {\"& .MuiPaper-root\": {\r\n backgroundColor: \"transparent\"\r\n }}\r\n}));\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Row, Col, FormGroup, Input } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../services/message.js\";\r\nimport { api_POST, api_GET } from \"../../services/api_service.js\";\r\nimport { formateDateApi } from \"../../helpers/formats\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"services/acesso.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function AcoesGestor({ requerimento, handleReturn }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [registro, set_registro] = useState(null);\r\n\r\n const [analiseRequerimento, setAnaliseRequerimento] = useState(false)\r\n\r\n useEffect(() => {\r\n set_registro(requerimento);\r\n ValidaAcessoFuncionalidadeAcao(\"AnaliseRequerimento.Editar\", function (result) { setAnaliseRequerimento(result) });\r\n if (requerimento?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Enquadramento\" || requerimento?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Análise\")\r\n loadOptionsEnquadramento();\r\n }, []);\r\n\r\n\r\n // Enquadramento\r\n const [options_enquadramento, set_options_enquadramento] = useState([]);\r\n const [enquadramento, set_enquadramento] = useState(null);\r\n const loadOptionsEnquadramento = () => {\r\n api_GET('enquadramento')\r\n .then(result => set_options_enquadramento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleEnquadramento = (value) => {\r\n set_enquadramento(value);\r\n setValue(\"enquadramento\", value, true);\r\n clearErrors(\"enquadramento\");\r\n }\r\n\r\n const handleAguardandoAnalise = (aprovacao) => {\r\n if ((registro.setupSolicitacaoAcao.acao == \"Novo Cadastro\" || registro.setupSolicitacaoAcao.acao == \"Renovação\")\r\n && enquadramento == null && registro.setupSolicitacaoAcao.enquadramentoObrigatorio) {\r\n showMessage(\"Aviso\", \"Selecione o Enquadramento\", 'error', null);\r\n return;\r\n }\r\n\r\n let data = getValues();\r\n let json_submit = {\r\n requerimentoAnaliseGestor_Id: 0,\r\n requerimento_Id: registro.requerimento_Id,\r\n dataAnalise: formateDateApi(new Date()),\r\n usuarioAnalise_Id: session.usuario_Id,\r\n enquadramento_Id: enquadramento != null ? enquadramento.enquadramento_Id : null,\r\n aceite: aprovacao,\r\n observacao: data.observacao,\r\n codigoSistemaPrefeitura: data.codigoSistemaPrefeitura\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoAnaliseGestor', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n\r\n }\r\n\r\n const handleAguardandoEnquadramento = () => {\r\n if ((registro.setupSolicitacaoAcao.acao == \"Novo Cadastro\" || registro.setupSolicitacaoAcao.acao == \"Renovação\")\r\n && enquadramento == null && registro.setupSolicitacaoAcao.enquadramentoObrigatorio) {\r\n showMessage(\"Aviso\", \"Selecione o Enquadramento\", 'error', null);\r\n return;\r\n }\r\n\r\n let data = getValues();\r\n let json_submit = {\r\n requerimento_Id: registro.requerimento_Id,\r\n dataAnalise: formateDateApi(new Date()),\r\n usuarioAnalise_Id: session.usuario_Id,\r\n enquadramento_Id: enquadramento != null ? enquadramento.enquadramento_Id : null,\r\n observacao: data.observacao,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoAnaliseEnquadramento', json_submit)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n\r\n }\r\n\r\n const handleAguardandoAprovacao = (aprovacao) => {\r\n let data = getValues();\r\n let json_submit = {\r\n requerimento_Id: registro.requerimento_Id,\r\n dataAprovacao: formateDateApi(new Date()),\r\n usuarioAprovacao_Id: session.usuario_Id,\r\n autorizado: aprovacao,\r\n observacao: data.observacao,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoAprovacao', json_submit)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAguardandoCompensacao = () => {\r\n api_GET('AnaliseRequerimento/AtualizaStatusCobranca/' + registro.requerimento_Id)\r\n .then(result => {\r\n if (result.data) {\r\n showMessage(\"Aviso\", \"Pagamento Confirmado!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"O pagamento ainda não foi confirmado!\", 'success', null);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAguardandoDiarioOficial = () => {\r\n let data = getValues();\r\n if (data.dataPublicacao == \"\") {\r\n showMessage(\"Aviso\", \"Informe a data de publicação!\", 'error', null);\r\n return;\r\n }\r\n let json_submit = {\r\n requerimento_Id: registro.requerimento_Id,\r\n usuarioPublicacao_Id: session.usuario_Id,\r\n dataPublicao: formateDateApi(data.dataPublicacao),\r\n requerimentoLaudaDiarioOficial_Id: 0\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoPublicacaoDiarioOficial', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAguardandoFiscalizacao = (aprovacao) => {\r\n let data = getValues();\r\n let json_submit = {\r\n requerimento_Id: registro.requerimento_Id,\r\n dataFiscalizacao: formateDateApi(new Date()),\r\n usuarioFiscalizacao_Id: session.usuario_Id,\r\n autorizado: aprovacao,\r\n observacao: data.observacao,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoFiscalizacao', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleCancelarRequerimento = () => {\r\n showQuestion('Atenção', 'Deseja cancelar este requerimento?', 'question', function (result) {\r\n if (result) {\r\n let usuario_Id = session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null;\r\n setLoading(true);\r\n\r\n api_POST(`requerimento/PostCancelaRequerimento/${registro.requerimento_Id}/` + usuario_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n\r\n const handleEmitirGuia = () => {\r\n let json_submit = {\r\n requerimento_Id: registro.requerimento_Id,\r\n usuarioEmissao_Id: session.usuario_Id,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAprovacaoGuia = (aprovacao) => {\r\n let data = getValues();\r\n let json_submit = {\r\n requerimento_Id: registro.requerimento_Id,\r\n dataAprovacao: formateDateApi(new Date()),\r\n usuarioAprovacao_Id: session.usuario_Id,\r\n aprovado: aprovacao,\r\n observacao: data.observacao,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoAprovacaoPagamento', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleEmailCobranca = () => {\r\n setLoading(true);\r\n api_GET(`AnaliseRequerimento/ReenviarCobrancaEmail/${requerimento.requerimento_Id}`)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleEmailAgendamentoVistoria = () => {\r\n setLoading(true);\r\n api_GET(`AnaliseRequerimento/ReenviarAgendamentoVistoriaEmail/${requerimento.requerimento_Id}`)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleBaixaManual = () => {\r\n setLoading(true);\r\n api_POST(`AnaliseRequerimento/BaixaManualBoletoRequerimento/${requerimento.requerimento_Id}/${session.usuario_Id}`)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n {analiseRequerimento &&\r\n
\r\n {registro != null && (registro.status == \"Pendente\" || registro.status == \"Em Andamento\" || registro.status == \"Divergente\") &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo != \"Aguardando Compensação\" &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo != \"Vistoria\" &&\r\n
\r\n

Ação

\r\n
\r\n
\r\n }\r\n\r\n {registro != null && (registro.status == \"Pendente\" || registro.status == \"Em Andamento\" || registro.status == \"Divergente\") &&\r\n registro?.setupSolicitacaoAcao?.cancelarRequerimentos == true &&\r\n \r\n handleCancelarRequerimento()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Cancelar Requerimento\r\n \r\n \r\n }\r\n\r\n {registro != null && registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Análise\" &&\r\n
\r\n {registro.setupSolicitacaoAcao.enquadramentoObrigatorio &&\r\n !(registro.setupSolicitacaoAcao.acao == \"Cancelamento\" &&\r\n registro.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n registro.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Grande Gerador\"\r\n ) &&\r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.enquadramento_Id}\r\n onChange={(e) => { handleEnquadramento(e) }}\r\n value={enquadramento != null && options_enquadramento.find(obj => obj.enquadramento_Id === enquadramento.enquadramento_Id)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"enquadramento\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.enquadramento && * Campo Obrigatório}\r\n \r\n \r\n \r\n }\r\n {(registro.setupSolicitacaoAcao.acao == \"Novo Cadastro\" || registro.setupSolicitacaoAcao.acao == \"Renovação\") &&\r\n setupSistema && setupSistema.informarCodigoSistemaPrefeitura &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAguardandoAnalise(true)}\r\n className=\"btn-mobile\" type=\"button\"\r\n >\r\n Aprovar\r\n \r\n handleAguardandoAnalise(false)}\r\n className=\"btn-mobile\" type=\"button\"\r\n >\r\n Reprovar\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null && registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Aprovação\" &&\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAguardandoAprovacao(true)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Aprovar\r\n \r\n handleAguardandoAprovacao(false)}\r\n className=\"btn-mobile\"\r\n type=\"button\">\r\n Reprovar\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {/* Solicitar Fiscalização */}\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Compensação\" &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n
\r\n \r\n \r\n handleAguardandoCompensacao()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Atualizar Cobranças\r\n \r\n handleBaixaManual()}\r\n className=\"btn-mobile\" type=\"button\"\r\n >\r\n Confirmar baixa manual\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Diário Oficial\" &&\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.dataPublicacao && * Campo Obrigatório}\r\n \r\n \r\n \r\n handleAguardandoDiarioOficial()}\r\n className=\"btn-mobile\"\r\n type=\"button\">\r\n Confirmar Publicação\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Fiscalização\" &&\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAguardandoFiscalizacao(true)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Aprovar\r\n \r\n handleAguardandoFiscalizacao(false)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Reprovar\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Emissão de Guia\" &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n
\r\n \r\n \r\n {registro.requerimentoCobrancas.length > 0 &&\r\n handleAguardandoCompensacao()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Atualizar Cobranças\r\n \r\n }\r\n handleBaixaManual()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Confirmar baixa manual\r\n \r\n handleEmitirGuia()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Emitir Guia\r\n \r\n \r\n \r\n
\r\n }\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Aprovação de Guia\" &&\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAprovacaoGuia(true)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n > Aprovar\r\n handleAprovacaoGuia(false)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Reprovar\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Compensação\" &&\r\n
\r\n \r\n \r\n handleEmailCobranca()}\r\n className=\"btn-mobile\"\r\n type=\"button\">\r\n Reenviar Email de Cobrança\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Vistoria\" &&\r\n
\r\n \r\n \r\n handleEmailAgendamentoVistoria()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Reenviar Email de Agendamento\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {registro != null &&\r\n registro.status == \"Pendente\" &&\r\n registro?.fluxoCadastroEtapaAtual != null &&\r\n registro?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Enquadramento\" &&\r\n
\r\n {registro.setupSolicitacaoAcao.enquadramentoObrigatorio &&\r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.enquadramento_Id}\r\n onChange={(e) => { handleEnquadramento(e) }}\r\n value={enquadramento != null && options_enquadramento.find(obj => obj.enquadramento_Id === enquadramento.enquadramento_Id)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"enquadramento\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.enquadramento && * Campo Obrigatório}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleAguardandoEnquadramento()}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Confirmar\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 MaterialTable from \"material-table\";\r\nimport { useReactToPrint } from 'react-to-print';\r\nimport { useHistory } from \"react-router\";\r\n\r\n// Reactstrap components\r\nimport { Button, Col, Container, Modal, ModalBody, ModalFooter, Row } from \"reactstrap\";\r\nimport Form from \"reactstrap/lib/Form\";\r\nimport ModalHeader from \"reactstrap/lib/ModalHeader\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDateandTime, formateDate, transformValueFloattoFormated } from \"helpers/formats\";\r\n\r\n// services\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\n\r\n// views\r\nimport AcoesGestor from \"../../../views/Shared/AcoesGestor\";\r\nimport { api_POST } from \"../../../services/api_service\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function FichaRequerimento({ item, handleReturn, showAcoesGestor }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const [stepAtual, set_stepAtual] = React.useState(0);\r\n const [steps, set_steps] = React.useState([]);\r\n\r\n // pegar as justificativas feitas no protocolo na tela de manutenção\r\n const [justificativaList, setJustificativaList] = React.useState([]);\r\n\r\n const [isLoadingEmitirGuia, setIsLoadingEmitirGuia] = React.useState(false);\r\n\r\n const [modal, setModal] = React.useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n\r\n const laodJustificativasProtocolo = () => {\r\n api_GET(`protocolo/GetJustificativaManuntecaoProtocolo/${item.protocolo_Id}`)\r\n .then(result => setJustificativaList(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [existAcaoDocumento, setExistAcaoDocumento] = useState(null);\r\n const loadItem = () => {\r\n //verifica se a ação teve o step de documento\r\n api_GET('setupSolicitacao/GetByAcaoId/' + item.setupSolicitacaoAcao_Id)\r\n .then(result => setExistAcaoDocumento(result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n\r\n if (item.etapaCadastro == 0 && existAcaoDocumento > 0) {\r\n showMessage(\"Aviso\", \"No momento não é possivel visualizar os dados em andamento, porque o Requerimento ainda não passou da tela de identificação.\", \"warning\", null)\r\n handleReturn();\r\n }\r\n\r\n if (document.querySelector('.main-panel') != null)\r\n document.querySelector('.main-panel').scrollTop = 0;\r\n\r\n set_requerimento(item);\r\n setTimeout(() => {\r\n if (item.fluxoCadastroEtapaAtual != null)\r\n set_stepAtual(item.fluxoCadastroEtapaAtual.ordem - 1);\r\n }, 1000);\r\n }\r\n\r\n const openGuiaCobranca = (rowData) => {\r\n const arquivoPDF = rowData.logCobrancas.filter(l => l.nomeArquivo != null);\r\n const linkSource = `data:application/pdf;base64,${arquivoPDF[0].nomeArquivo}`;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = requerimento.numeroRequerimento + \".pdf\";\r\n\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n }\r\n\r\n const loadSteps = () => {\r\n api_GET('FluxoCadastro/BySetupSolicitacaoAcaoId/' + item.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data != null) {\r\n let etapas = [];\r\n result.data.fluxoCadastroEtapas.sort(function (a, b) { return a.ordem - b.ordem }).map(m => {\r\n etapas.push(m.tipo);\r\n })\r\n set_steps(etapas);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [historicoAnaliseGestor, set_historicoAnaliseGestor] = React.useState([]);\r\n const loadHistoricoAnaliseGestor = () => {\r\n api_GET('requerimento/GetHistoricoAprovacaoRequerimento/' + item.requerimento_Id)\r\n .then(result => set_historicoAnaliseGestor(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n\r\n useEffect(() => {\r\n loadItem();\r\n loadSteps();\r\n loadHistoricoAnaliseGestor();\r\n laodJustificativasProtocolo();\r\n }, []);\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n const handleEmitirGuia = () => {\r\n let json_submit = {\r\n requerimento_Id: requerimento.requerimento_Id\r\n }\r\n\r\n setIsLoadingEmitirGuia(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload()))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n\r\n return (\r\n <>\r\n \r\n Histórico de Justificativas na tela de manunteção.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {justificativaList.length > 0 && justificativaList.map(justificativa => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Data da JustificativaObservaçãoUsuário
{formateDateandTime(justificativa.dataJustificativa)}{justificativa.observacao}{justificativa.nome ?? \"\"}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {isLoadingEmitirGuia &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {!isLoadingEmitirGuia && requerimento != null &&\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {handleReturn != 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

{requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.descricao}

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

Empresa

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].nome_Fantasia : requerimento.protocolo.protocoloTransportador[0].nome_Fantasia}
\r\n
\r\n
\r\n
{requerimento.cpf_Cnpj}
\r\n
\r\n
\r\n

Razão Social: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].razaoSocial : requerimento.protocolo.protocoloTransportador[0].razaoSocial}

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

CCM: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].ccm : requerimento.protocolo.protocoloTransportador[0].ccm}

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

Código Cadastro: {requerimento?.protocolo?.codigoCadastro}

\r\n
\r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla != \"RGG\" &&\r\n
\r\n

Ramo: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].ramoAtividade : requerimento.protocolo.protocoloTransportador[0].ramoAtividade}

\r\n
}\r\n
\r\n

Tipo de Indústria / Coméricio: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].tipoIndustriaComercio : requerimento.protocolo.protocoloTransportador[0].tipoIndustriaComercio}

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

CEP: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].cep : requerimento.protocolo.protocoloTransportador[0].cep}

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

Endereço: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].logradouro + \", \" + requerimento.requerimentoTransportador[0].numEndereco + \", \" + requerimento.requerimentoTransportador[0].complemento : requerimento.protocolo.protocoloTransportador[0].logradouro + \", \" + requerimento.protocolo.protocoloTransportador[0].numEndereco}

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

Bairro: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].bairro : requerimento.protocolo.protocoloTransportador[0].bairro}

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

Cidade: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].cidade : requerimento.protocolo.protocoloTransportador[0].cidade}

\r\n
\r\n
\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && justificativaList.length > 0 &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n

Responsável

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].nomeResponsavel : requerimento.protocolo.protocoloTransportador[0].nomeResponsavel}
\r\n
\r\n
\r\n
{requerimento.email}
\r\n
\r\n
\r\n

Telefone: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].telefone : requerimento.protocolo.protocoloTransportador[0].telefone}

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

Celular: {requerimento.requerimentoTransportador.length > 0 ? requerimento.requerimentoTransportador[0].celular : requerimento.protocolo.protocoloTransportador[0].celular}

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

Requerimento

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

{requerimento.setupSolicitacaoAcao.acao}

\r\n
\r\n
\r\n Número :

{requerimento.numeroRequerimento}

\r\n
\r\n
\r\n Status:

{requerimento.status}

\r\n
\r\n
\r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor != null &&\r\n
\r\n
\r\n Divergência:

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoMotivoCancelamento.length > 0 &&\r\n
\r\n
\r\n

Motivo do Cancelamento

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

{requerimento.requerimentoMotivoCancelamento[0].motivo}

\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoTransportadorVeiculo != null && requerimento.requerimentoTransportadorVeiculo.length > 0 &&\r\n
\r\n
\r\n

Veículos

\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoTransportadorVeiculo.map((item, key) => (\r\n
\r\n
\r\n
\r\n Placa:

{item.placa}

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

{item.tipo}

\r\n
\r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n
\r\n Modalidades: {item.requerimentoTransportadorVeiculoModalidade && item.requerimentoTransportadorVeiculoModalidade.map((item, key) => (\r\n

{item.modalidade}

))}\r\n
}\r\n
\r\n Marca/Modelo:

{item.marca}

\r\n
\r\n
\r\n Ano Fabricação:

{item.anoFabricacao}

\r\n
\r\n
\r\n Ano Fab. Equip.:

{item.anoFabricacaoEquipamento}

\r\n
\r\n
\r\n Cor:

{item.cor}

\r\n
\r\n
\r\n Tara (kg):

{item.tara}

\r\n
\r\n
\r\n Capacidade (kg):

{item.capacidadeCarga}

\r\n
\r\n
\r\n Volume (m³):

{transformValueFloattoFormated(item.volume)}

\r\n
\r\n
\r\n Renavam:

{item.numeroRenavam}

\r\n
\r\n
\r\n Proprietário ou Locado:

{item.proprietarioOuLocado}

\r\n
\r\n
\r\n Status:

{item.status}

\r\n
\r\n
\r\n {item.requerimentoTransportadorAgendamento.length > 0 &&\r\n
\r\n
\r\n Agendamento da Vistoria:

{formateDate(item.requerimentoTransportadorAgendamento[0].dataHora)}

\r\n
\r\n
\r\n Situação do Agendamento:

{item.requerimentoTransportadorAgendamento[0].situacao}

\r\n
\r\n {item.requerimentoTransportadorAgendamento[0].requerimentoTransportadorVistoria.length > 0 &&\r\n <>\r\n
\r\n Data da Vistoria:

{formateDate(item.requerimentoTransportadorAgendamento[0].requerimentoTransportadorVistoria[0].dataHoraAtualizacao)}

\r\n
\r\n
\r\n Situação da Vistoria:

{item.requerimentoTransportadorAgendamento[0].requerimentoTransportadorVistoria[0].situacao}

\r\n
\r\n
\r\n Observações:

{item.requerimentoTransportadorAgendamento[0].requerimentoTransportadorVistoria[0].observacao}

\r\n
\r\n \r\n \r\n }\r\n
\r\n }\r\n
\r\n {item.arquivoRenavam != null && }\r\n {item.arquivoInspecaoInmetro != null && }\r\n {item.arquivoComprovanteTara != null && }\r\n {item.arquivoComodato != null && }\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoTransportadorLocalGuarda != null && requerimento.requerimentoTransportadorLocalGuarda.length > 0 &&\r\n
\r\n
\r\n

Locais de Guarda de Veículo

\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoTransportadorLocalGuarda.map((item, key) => (\r\n
\r\n
\r\n
\r\n CEP:

{item.cep}

\r\n
\r\n
\r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

\r\n
\r\n
\r\n Bairro:

{item.bairro}

\r\n
\r\n
\r\n Status:

{item.status}

\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoTransportadorLocalDestino != null && requerimento.requerimentoTransportadorLocalDestino.length > 0 &&\r\n
\r\n
\r\n

Locais de Destinação

\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoTransportadorLocalDestino.map((item, key) => (\r\n
\r\n
\r\n
\r\n CNPJ:

{item.cnpj}

\r\n
\r\n
\r\n Fantasia:

{item.fantasia}

\r\n
\r\n
\r\n Razão Social:

{item.razaoSocial}

\r\n
\r\n
\r\n Status:

{item.status}

\r\n
\r\n
\r\n CEP:

{item.cep}

\r\n
\r\n
\r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

\r\n
\r\n
\r\n Bairro:

{item.bairro}

\r\n
\r\n
\r\n Cidade:

{item.cidade}

\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoTransportadorEquipamento != null && requerimento.requerimentoTransportadorEquipamento.length > 0 &&\r\n
\r\n
\r\n

Equipamentos

\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoTransportadorEquipamento.map((item, key) => (\r\n
\r\n
\r\n
\r\n Número:

{item.numeroEquipamento}

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

{item.tipo}

\r\n
\r\n
\r\n Dimensão:

{item.dimensao}

\r\n
\r\n
\r\n Capacidade (m³):

{item.capacidadeVolume}

\r\n
\r\n
\r\n Status:

{item.status}

\r\n
\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 window.open(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n\r\n {session != null && requerimento && !!requerimento?.observacaoRequerente &&\r\n
\r\n
\r\n

Observações do Requerente

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

{requerimento?.observacaoRequerente}

\r\n
\r\n
\r\n }\r\n\r\n {setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" && requerimento.requerimentoCobrancas.length > 0 &&\r\n
\r\n
\r\n

Cobranças

\r\n
\r\n
\r\n\r\n formateDateandTime(rowData.dataVencimento) },\r\n {\r\n title: 'Último Retorno', field: 'status',\r\n render: (rowData) => rowData.logCobrancas && rowData.logCobrancas.length > 0 ? formateDateandTime(rowData.logCobrancas[rowData.logCobrancas.length - 1].dataHora) : \"\"\r\n },\r\n {\r\n title: 'Retorno', field: 'status',\r\n render: (rowData) => rowData.logCobrancas && rowData.logCobrancas.length > 0 ? rowData.logCobrancas[rowData.logCobrancas.length - 1].retorno : \"\"\r\n },\r\n ]}\r\n data={requerimento.requerimentoCobrancas}\r\n isLoading={false}\r\n actions={[\r\n {\r\n icon: 'insert_drive_file',\r\n tooltip: 'Visualizar',\r\n onClick: (event, rowData) => openGuiaCobranca(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n }\r\n {historicoAnaliseGestor.length > 0 &&\r\n
\r\n
\r\n

Histórico de Análise Gestor

\r\n
\r\n
\r\n\r\n formateDateandTime(rowData.dataAnalise) },\r\n { title: 'Usuário', field: 'usuarioAnalise_Nome' },\r\n { title: 'Aprovado', field: 'aceite', render: (rowData) => rowData.aceite ? \"Sim\" : \"Não\" },\r\n { title: 'Observação', field: 'observacao' },\r\n { title: 'Data de Aceite', field: 'dataAceite', render: (rowData) => rowData.dataAceite ? formateDateandTime(rowData.dataAceite) : \"\" },\r\n ]}\r\n data={historicoAnaliseGestor}\r\n isLoading={false}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n }\r\n {setupSistema && setupSistema.metodologiaCobranca == \"Email\" && requerimento.requerimentoCobrancas.length > 0 &&\r\n requerimento.requerimentoCobrancas[0].requerimentoCobrancaComprovantes.length > 0 &&\r\n
\r\n
\r\n

Comprovante de Pagamento

\r\n
\r\n
\r\n {requerimento.requerimentoCobrancas[0].requerimentoCobrancaComprovantes.map((m, key) => {\r\n return \r\n })}\r\n
\r\n }\r\n {showAcoesGestor && session != null && session.tipoAcesso == \"AreaRestrita\" && requerimento != null && requerimento.status != \"Finalizado\" &&\r\n
\r\n \r\n
\r\n }\r\n\r\n {(session == null || (session && session.tipoAcesso == \"Protocolo\")) &&\r\n requerimento.status == \"Pendente\" &&\r\n requerimento.fluxoCadastroEtapaAtual != null &&\r\n requerimento.fluxoCadastroEtapaAtual.tipo == \"Emissão de Guia\" &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n \r\n {\r\n if (requerimento?.requerimentoCobrancas.filter(x => x.status == \"Pendente\").length > 0) {\r\n showMessage(\"Aviso\", \"Não é permitido emitir um novo boleto, pois você tem boletos pendentes.\", \"warning\", null);\r\n return;\r\n } else {\r\n handleEmitirGuia();\r\n }\r\n }}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Emitir Guia\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 MaterialTable from \"material-table\";\r\n\r\n// Reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Container, Modal, ModalBody, ModalFooter, Input } from \"reactstrap\";\r\nimport Form from \"reactstrap/lib/Form\";\r\nimport ModalHeader from \"reactstrap/lib/ModalHeader\";\r\n\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// leaflet\r\nimport { MapContainer, TileLayer, Marker, useMap } from 'react-leaflet'\r\nimport L from 'leaflet';\r\n\r\n// style\r\nimport \"assets/css/map.css\";\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDateandTime } from \"../../../helpers/formats\";\r\n\r\n// services\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\n\r\n// views\r\nimport AcoesGestor from \"../../../views/Shared/AcoesGestor\";\r\nimport { api_POST } from \"../../../services/api_service\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nexport default function FichaRequerimento({ item, handleReturn, showAcoesGestor }) {\r\n const { session, setupSistema } = useAuth();\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n const [stepAtual, set_stepAtual] = useState(0);\r\n const [steps, set_steps] = useState([]);\r\n\r\n // pegar as justificativas feitas no protocolo na tela de manutenção\r\n const [justificativaList, setJustificativaList] = React.useState([]);\r\n\r\n const [isLoadingEmitirGuia, setIsLoadingEmitirGuia] = React.useState(false);\r\n\r\n const [modal, setModal] = React.useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n //State para modal do contrato\r\n const [modalContrato, set_modalContrato] = useState(false);\r\n\r\n //State Para adicionar os contratos em cada local\r\n const [listContratoLocal, set_listcontratoLocal] = useState([]);\r\n\r\n const toggleModalContrato = () => set_modalContrato(!modalContrato);\r\n\r\n\r\n const laodJustificativasProtocolo = () => {\r\n api_GET(`protocolo/GetJustificativaManuntecaoProtocolo/${item.protocolo_Id}`)\r\n .then(result => setJustificativaList(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null));\r\n }\r\n\r\n // Mapa \r\n const [modalMapaOpen, set_modalMapaOpen] = useState(false);\r\n const [centerMap, setCenterMap] = useState([0, 0]);\r\n const [positionMarker, setpositionMarker] = useState([0, 0]);\r\n const iconMarker = new L.Icon({\r\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n iconRetinaUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n });\r\n const ChangeMap = ({ center, zoom }) => {\r\n const mapInstance = useMap();\r\n mapInstance.setView(center, zoom);\r\n return null;\r\n }\r\n const handleModalOpen = (geoLocalizacao) => {\r\n if (geoLocalizacao && geoLocalizacao.split(';').length > 1) {\r\n setCenterMap([geoLocalizacao.split(\";\")[0], geoLocalizacao.split(\";\")[1]]);\r\n setpositionMarker([geoLocalizacao.split(\";\")[0], geoLocalizacao.split(\";\")[1]]);\r\n set_modalMapaOpen(true);\r\n }\r\n }\r\n\r\n const [existAcaoDocumento, setExistAcaoDocumento] = useState(null);\r\n const loadItem = () => {\r\n //verifica se a ação teve o step de documento\r\n api_GET('setupSolicitacao/GetByAcaoId/' + item.setupSolicitacaoAcao_Id)\r\n .then(result => setExistAcaoDocumento(result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null));\r\n\r\n if (item.etapaCadastro == 0 && existAcaoDocumento > 0) {\r\n showMessage(\"Aviso\", \"No momento não é possivel visualizar os dados em andamento, porque o Requerimento ainda não passou da tela de identificação.\", \"warning\", null)\r\n handleReturn();\r\n }\r\n\r\n set_requerimento(item);\r\n\r\n if (item.fluxoCadastroEtapaAtual != null)\r\n set_stepAtual(item.fluxoCadastroEtapaAtual.ordem - 1);\r\n }\r\n\r\n const openGuiaCobranca = (rowData) => {\r\n const arquivoPDF = rowData.logCobrancas.filter(l => l.nomeArquivo != null);\r\n const linkSource = `data:application/pdf;base64,${arquivoPDF[0].nomeArquivo}`;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = requerimento.numeroRequerimento + \".pdf\";\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n }\r\n\r\n const openArquivoContrata = (rowData) => {\r\n const linkSource = `data:application/pdf;base64,${rowData.arquivoContrato}`;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = \"ContratoLocal.pdf\";\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n }\r\n\r\n const loadSteps = () => {\r\n api_GET('FluxoCadastro/BySetupSolicitacaoAcaoId/' + item.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data != null) {\r\n let etapas = [];\r\n result.data.fluxoCadastroEtapas.sort(function (a, b) { return a.ordem - b.ordem }).map(m => {\r\n etapas.push(m.tipo);\r\n })\r\n set_steps(etapas);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n const [historicoAnaliseGestor, set_historicoAnaliseGestor] = useState([]);\r\n const loadHistoricoAnaliseGestor = () => {\r\n api_GET('requerimento/GetHistoricoAprovacaoRequerimento/' + item.requerimento_Id)\r\n .then(result => set_historicoAnaliseGestor(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n useEffect(() => {\r\n loadItem();\r\n loadSteps();\r\n loadHistoricoAnaliseGestor();\r\n laodJustificativasProtocolo();\r\n }, []);\r\n\r\n const handleEmitirGuia = () => {\r\n let json_submit = {\r\n requerimento_Id: requerimento.requerimento_Id\r\n }\r\n\r\n setIsLoadingEmitirGuia(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload()))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n\r\n return (\r\n <>\r\n \r\n Histórico de Justificativas na tela de manunteção.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {justificativaList.length > 0 && justificativaList.map((justificativa, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Data da JustificativaObservaçãoUsuário
{formateDateandTime(justificativa.dataJustificativa)}{justificativa.observacao}{justificativa.nome ?? \"\"}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n }\r\n >\r\n Contratos\r\n \r\n \r\n \r\n window.open(setupSistema?.caminhoVirtual + rowData.arquivoContrato, '_blank')\r\n }]}\r\n isLoading={false}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {isLoadingEmitirGuia &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {!isLoadingEmitirGuia && requerimento != null &&\r\n
\r\n \r\n \r\n \r\n {handleReturn != null &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n

{requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.descricao}

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

Empresa

\r\n
\r\n \r\n
\r\n \r\n \r\n
{requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].nome_Fantasia : requerimento.protocolo.protocoloGerador[0].nome_Fantasia}
\r\n \r\n \r\n
{requerimento.cpf_Cnpj}
\r\n \r\n \r\n

Razão Social: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].razaoSocial : requerimento.protocolo.protocoloGerador[0].razaoSocial}

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

CCM: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].ccm : requerimento.protocolo.protocoloGerador[0].ccm}

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

Código Cadastro: {item.protocolo.codigoCadastro != null ? item.protocolo.codigoCadastro : \"\"}

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

Ramo: {requerimento.requerimentoGerador.length > 0 && requerimento.requerimentoGerador[0].ramoAtividade != null ? requerimento.requerimentoGerador[0].ramoAtividade : requerimento.protocolo.protocoloGerador[0].ramoAtividade}

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

Tipo de Indústria / Coméricio: {requerimento.requerimentoGerador.length > 0 && requerimento.requerimentoGerador[0].tipoIndustriaComercio != null ? requerimento.requerimentoGerador[0].tipoIndustriaComercio : requerimento.protocolo.protocoloGerador[0].tipoIndustriaComercio}

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

CEP: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].cep : requerimento.protocolo.protocoloGerador[0].cep}

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

Endereço: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].logradouro + \", \" + requerimento.requerimentoGerador[0].numEndereco + \", \" + requerimento.requerimentoGerador[0].complemento : requerimento.protocolo.protocoloGerador[0].logradouro + \", \" + requerimento.protocolo.protocoloGerador[0].numEndereco}

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

Bairro: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].bairro : requerimento.protocolo.protocoloGerador[0].bairro}

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

Cidade: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].cidade : requerimento.protocolo.protocoloGerador[0].cidade}

\r\n \r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n \r\n

Tipo Estabelecimento: {requerimento.requerimentoGerador.length > 0 && requerimento.requerimentoGerador[0].tipoEstabelecimento != null ? requerimento.requerimentoGerador[0].tipoEstabelecimento.descricao\r\n : (requerimento.protocolo.protocoloGerador[0].tipoEstabelecimento == null ? \"\" : requerimento.protocolo.protocoloGerador[0].tipoEstabelecimento.descricao)}

\r\n \r\n }\r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n requerimento.requerimentoGerador.length > 0 &&\r\n requerimento.requerimentoGerador[0].tipoEstabelecimento != null &&\r\n requerimento.requerimentoGerador[0].tipoEstabelecimento.descricao == \"HOSPITAL\" &&\r\n \r\n

\r\n Quantidade Leitos Ativos: {requerimento.requerimentoGerador.length > 0 && requerimento.requerimentoGerador[0].quantidadeLeitosAtivos != null ? requerimento.requerimentoGerador[0].quantidadeLeitosAtivos : requerimento.protocolo.protocoloGerador[0].quantidadeLeitosAtivos}\r\n

\r\n \r\n }\r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n requerimento.requerimentoGerador.length > 0 &&\r\n requerimento.requerimentoGerador[0].tipoEstabelecimento != null &&\r\n requerimento.requerimentoGerador[0].tipoEstabelecimento.descricao == \"HOSPITAL\" &&\r\n \r\n

\r\n Quantidade Leitos Inativos: {requerimento.requerimentoGerador.length > 0 && requerimento.requerimentoGerador[0].quantidadeLeitosInativos != null ? requerimento.requerimentoGerador[0].quantidadeLeitosInativos : requerimento.protocolo.protocoloGerador[0].quantidadeLeitosInativos}\r\n

\r\n \r\n }\r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n \r\n

Classificação Estabelecimento: {requerimento.requerimentoGerador.length > 0 && requerimento.requerimentoGerador[0].classificacaoEstabelecimento != null ? requerimento.requerimentoGerador[0].classificacaoEstabelecimento.descricao\r\n : (requerimento.protocolo.protocoloGerador[0].classificacaoEstabelecimento == null ? \"\" : requerimento.protocolo.protocoloGerador[0].classificacaoEstabelecimento.descricao)}

\r\n \r\n }\r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null && justificativaList.length > 0 &&\r\n
\r\n \r\n
\r\n }\r\n \r\n
\r\n {requerimento?.setupSolicitacaoAcao?.setupSolicitacao?.categoria.sigla == \"RGG\" && requerimento?.setupSolicitacaoAcao?.setupSolicitacao?.categoria.segmento == \"Grande Gerador\" &&\r\n \r\n \r\n

Dados Adicionais

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

Número de Colaboradores: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].numeroColaboradores : requerimento.protocolo.protocoloGerador[0].numeroColaboradores}

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

Consumo mensal de Energia: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].consumoMensalAgua : requerimento.protocolo.protocoloGerador[0].consumoMensalAgua}

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

Consumo Mensal de Água: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].consumoMensalAgua : requerimento.protocolo.protocoloGerador[0].consumoMensalAgua}

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

Local do Empreendimento: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].localEmpreendimento : requerimento.protocolo.protocoloGerador[0].localEmpreendimento}

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

Área total (m²): {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0]?.areaTotal?.toString().replace(\".\", \",\") : requerimento.protocolo.protocoloGerador[0].areaTotal?.toString().replace(\".\", \",\")}

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

Área Construída (m²): {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].areaConstruida?.toString().replace(\".\", \",\") : requerimento.protocolo.protocoloGerador[0].areaConstruida?.toString().replace(\".\", \",\")}

\r\n \r\n
\r\n }\r\n \r\n \r\n

Responsável

\r\n
\r\n \r\n
\r\n \r\n \r\n
{requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].nomeResponsavel : requerimento.protocolo.protocoloGerador[0].nomeResponsavel}
\r\n \r\n \r\n
{requerimento.email}
\r\n \r\n \r\n

Telefone: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].telefone : requerimento.protocolo.protocoloGerador[0].telefone}

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

Celular: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].celular : requerimento.protocolo.protocoloGerador[0].celular}

\r\n \r\n
\r\n {requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n <>\r\n \r\n \r\n

Responsável Técnico

\r\n
\r\n \r\n
\r\n \r\n \r\n
{requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].nomeResponsavelTecnico : requerimento.protocolo.protocoloGerador[0].nomeResponsavelTecnico}
\r\n \r\n \r\n

Tipo Documento: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].tipoDocumentoResponsavelTecnico : requerimento.protocolo.protocoloGerador[0].tipoDocumentoResponsavelTecnico}

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

Número Documento: {requerimento.requerimentoGerador.length > 0 ? requerimento.requerimentoGerador[0].numeroDocumentoResponsavelTecnico : requerimento.protocolo.protocoloGerador[0].numeroDocumentoResponsavelTecnico}

\r\n \r\n \r\n {\r\n (requerimento.requerimentoGerador.length > 0 &&\r\n requerimento.requerimentoGerador[0].arquivoCertificadoResponsavelTecnico != null) ?\r\n Certificado Curso\r\n : \"\"\r\n }\r\n \r\n
\r\n \r\n }\r\n \r\n \r\n

Requerimento

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

{requerimento.setupSolicitacaoAcao.acao}

\r\n \r\n \r\n Número :

{requerimento.numeroRequerimento}

\r\n \r\n \r\n Data Solicitação:

{formateDateandTime(requerimento.dataCriacaoRequerimento)}

\r\n \r\n \r\n Data Atualização:

{formateDateandTime(requerimento.dataUltimaAcao)}

\r\n \r\n
\r\n \r\n \r\n Status:

{requerimento.status}

\r\n \r\n {requerimento.status == \"Divergente\" &&\r\n \r\n Divergência:

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n \r\n }\r\n
\r\n {requerimento.requerimentoMotivoCancelamento.length > 0 &&\r\n \r\n \r\n

Motivo do Cancelamento

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

{requerimento.requerimentoMotivoCancelamento[0].motivo}

\r\n \r\n
\r\n }\r\n {requerimento.requerimentoGeradorCaracterizacaoResiduo != null && requerimento.requerimentoGeradorCaracterizacaoResiduo.length > 0 &&\r\n \r\n \r\n

Caracterização dos Resíduos

\r\n
\r\n \r\n \r\n \r\n \r\n Grupo\r\n \r\n !!x.caracterizacaoResiduosConama.grupo).length > 0 ? \"1\" : \"2\"}>\r\n Código\r\n \r\n \r\n Tipo\r\n \r\n \r\n Descrição\r\n \r\n \r\n Quantidade\r\n \r\n \r\n {requerimento.requerimentoGeradorCaracterizacaoResiduo.map((item, key) => (\r\n
\r\n \r\n \r\n

{item.caracterizacaoResiduosConama.grupo ?? \"\"}

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

{item.caracterizacaoResiduosConama.codigo ?? \"\"}

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

{item.caracterizacaoResiduosConama.tipo ?? \"\"}

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

{item.caracterizacaoResiduosConama.descricao}

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

{item.quantidadeEstimada} {requerimento.setupSolicitacaoAcao?.setupSolicitacao?.categoria?.sigla == \"RSS\" ? 'Kg/dia' : 'Litros/dia'}

\r\n \r\n
\r\n
\r\n
\r\n ))}\r\n \r\n
\r\n }\r\n\r\n {requerimento.requerimentoGeradorLocalArmazenagem != null && requerimento.requerimentoGeradorLocalArmazenagem.length > 0 &&\r\n \r\n \r\n

Locais de Armazenagem

\r\n
\r\n \r\n \r\n {requerimento.requerimentoGeradorLocalArmazenagem.map((item, key) => (\r\n
\r\n \r\n \r\n CEP:

{item.cep}

\r\n \r\n \r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

\r\n \r\n \r\n Bairro:

{item.bairro}

\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ))}\r\n \r\n
\r\n }\r\n\r\n {requerimento.requerimentoGeradorLocal != null && requerimento.requerimentoGeradorLocal.length > 0 &&\r\n \r\n \r\n

Locais de Coleta

\r\n
\r\n \r\n \r\n {requerimento.requerimentoGeradorLocal.map((item, key) => (\r\n
\r\n \r\n \r\n CEP:

{item.cep}

\r\n \r\n \r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

\r\n \r\n \r\n Bairro:

{item.bairro}

\r\n \r\n \r\n {item.geoLocalizacao != null &&\r\n \r\n }\r\n\r\n {item?.requerimentoGeradorLocalContratos?.length > 0 &&\r\n {\r\n set_listcontratoLocal(item?.requerimentoGeradorLocalContratos);\r\n set_modalContrato(true);\r\n }}\r\n >\r\n Contratos\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n ))}\r\n \r\n
\r\n }\r\n\r\n {requerimento.requerimentoGerador != null && requerimento.requerimentoGerador.length > 0 &&\r\n requerimento.requerimentoGerador[0].requerimentoGeradorClasseResiduo != null && requerimento.requerimentoGerador[0].requerimentoGeradorClasseResiduo.length > 0 &&\r\n \r\n \r\n

Classes de Resíduo

\r\n
\r\n \r\n \r\n {requerimento.requerimentoGerador[0].requerimentoGeradorClasseResiduo.map((item, key) => (\r\n
\r\n \r\n \r\n Classe:

{item.classeResiduo.descricao}

\r\n \r\n \r\n Quantidade Estimada (Kg):

{item.quantidadeEstimada}

\r\n \r\n
\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 window.open(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && requerimento && !!requerimento?.observacaoRequerente &&\r\n \r\n \r\n

Observações do Requerente

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

{requerimento?.observacaoRequerente}

\r\n \r\n
\r\n }\r\n\r\n {setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" && requerimento.requerimentoCobrancas.length > 0 &&\r\n \r\n \r\n

Cobranças

\r\n
\r\n \r\n\r\n formateDateandTime(rowData.dataVencimento) },\r\n {\r\n title: 'Último Retorno', field: 'status',\r\n render: (rowData) => rowData.logCobrancas && rowData.logCobrancas.length > 0 ? formateDateandTime(rowData.logCobrancas[rowData.logCobrancas.length - 1].dataHora) : \"\"\r\n },\r\n {\r\n title: 'Retorno', field: 'status',\r\n render: (rowData) => rowData.logCobrancas && rowData.logCobrancas.length > 0 ? rowData.logCobrancas[rowData.logCobrancas.length - 1].retorno : \"\"\r\n },\r\n ]}\r\n data={requerimento.requerimentoCobrancas}\r\n isLoading={false}\r\n actions={[\r\n {\r\n icon: 'insert_drive_file',\r\n tooltip: 'Visualizar',\r\n onClick: (event, rowData) => openGuiaCobranca(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n }\r\n {historicoAnaliseGestor.length > 0 &&\r\n \r\n \r\n

Histórico de Análise Gestor

\r\n
\r\n \r\n\r\n formateDateandTime(rowData.dataAnalise) },\r\n { title: 'Usuário', field: 'usuarioAnalise_Nome' },\r\n { title: 'Aprovado', field: 'aceite', render: (rowData) => rowData.aceite ? \"Sim\" : \"Não\" },\r\n { title: 'Observação', field: 'observacao' },\r\n ]}\r\n data={historicoAnaliseGestor}\r\n isLoading={false}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n }\r\n\r\n {showAcoesGestor && session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null && requerimento != null && requerimento.status != \"Finalizado\" &&\r\n
\r\n \r\n
\r\n }\r\n\r\n {(session == null || (session && session.tipoAcesso == \"Protocolo\")) &&\r\n requerimento.status == \"Pendente\" &&\r\n requerimento.fluxoCadastroEtapaAtual != null &&\r\n requerimento.fluxoCadastroEtapaAtual.tipo == \"Emissão de Guia\" &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n \r\n {\r\n if (requerimento?.requerimentoCobrancas.filter(x => x.status == \"Pendente\").length > 0) {\r\n showMessage(\"Aviso\", \"Não é permitido emitir um novo boleto, pois você tem boletos pendentes.\", \"warning\", null);\r\n return;\r\n } else {\r\n handleEmitirGuia();\r\n }\r\n }}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Emitir Guia\r\n \r\n
\r\n }\r\n \r\n \r\n set_modalMapaOpen(false)} zIndex=\"9999999\">\r\n \r\n
Localização no Mapa
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\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 MaterialTable from \"material-table\";\r\nimport { useReactToPrint } from 'react-to-print';\r\n\r\n// Reactstrap components\r\nimport { Button, Container, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport Form from \"reactstrap/lib/Form\";\r\nimport ModalHeader from \"reactstrap/lib/ModalHeader\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDateandTime, formateDate } from \"../../../helpers/formats\";\r\n\r\n// services\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_POST } from \"../../../services/api_service\";\r\n\r\n// views\r\nimport AcoesGestor from \"../../../views/Shared/AcoesGestor\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function FichaRequerimento({ item, handleReturn, showAcoesGestor }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const [stepAtual, set_stepAtual] = React.useState(0);\r\n const [steps, set_steps] = React.useState([]);\r\n\r\n // pegar as justificativas feitas no protocolo na tela de manutenção\r\n const [justificativaList, setJustificativaList] = React.useState([]);\r\n\r\n const [isLoadingEmitirGuia, setIsLoadingEmitirGuia] = React.useState(false);\r\n\r\n const [modal, setModal] = React.useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n const laodJustificativasProtocolo = () => {\r\n api_GET(`protocolo/GetJustificativaManuntecaoProtocolo/${item.protocolo_Id}`)\r\n .then(result => setJustificativaList(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, \"error\", null))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n const [existAcaoDocumento, setExistAcaoDocumento] = useState(null);\r\n const loadItem = () => {\r\n //verifica se a ação teve o step de documento\r\n api_GET('setupSolicitacao/GetByAcaoId/' + item.setupSolicitacaoAcao_Id)\r\n .then(result => setExistAcaoDocumento(result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n\r\n if (item.etapaCadastro == 0 && existAcaoDocumento > 0) {\r\n showMessage(\"Aviso\", \"No momento não é possivel visualizar os dados em andamento, porque o Requerimento ainda não passou da tela de identificação.\", \"warning\", null)\r\n handleReturn();\r\n }\r\n\r\n if (document.querySelector('.main-panel') != null)\r\n document.querySelector('.main-panel').scrollTop = 0;\r\n\r\n set_requerimento(item);\r\n setTimeout(() => {\r\n if (item.fluxoCadastroEtapaAtual != null)\r\n set_stepAtual(item.fluxoCadastroEtapaAtual.ordem - 1);\r\n }, 1000);\r\n }\r\n\r\n const openGuiaCobranca = (rowData) => {\r\n const arquivoPDF = rowData.logCobrancas.filter(l => l.nomeArquivo != null);\r\n const linkSource = `data:application/pdf;base64,${arquivoPDF[0].nomeArquivo}`;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = requerimento.numeroRequerimento + \".pdf\";\r\n\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n }\r\n\r\n const loadSteps = () => {\r\n api_GET('FluxoCadastro/BySetupSolicitacaoAcaoId/' + item.setupSolicitacaoAcao_Id).then(result => {\r\n if (result.data != null) {\r\n let etapas = [];\r\n result.data.fluxoCadastroEtapas.sort(function (a, b) { return a.ordem - b.ordem }).map(m => {\r\n etapas.push(m.tipo);\r\n })\r\n set_steps(etapas);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, \"error\", null))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n const [historicoAnaliseGestor, set_historicoAnaliseGestor] = React.useState([]);\r\n const loadHistoricoAnaliseGestor = () => {\r\n api_GET('requerimento/GetHistoricoAprovacaoRequerimento/' + item.requerimento_Id)\r\n .then(result => set_historicoAnaliseGestor(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, \"error\", null))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n useEffect(() => {\r\n loadItem();\r\n loadSteps();\r\n loadHistoricoAnaliseGestor();\r\n laodJustificativasProtocolo();\r\n }, []);\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n const handleEmitirGuia = () => {\r\n let json_submit = {\r\n requerimento_Id: requerimento.requerimento_Id\r\n }\r\n\r\n setIsLoadingEmitirGuia(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit)\r\n .then(result => {\r\n setIsLoadingEmitirGuia(false)\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload())\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n \r\n Histórico de Justificativas na tela de manunteção.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {justificativaList.length > 0 && justificativaList.map(justificativa => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Data da JustificativaObservaçãoUsuário
{formateDateandTime(justificativa.dataJustificativa)}{justificativa.observacao}{justificativa.nome ?? \"\"}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n {isLoadingEmitirGuia &&\r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {!isLoadingEmitirGuia && requerimento != null &&\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {handleReturn != 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

{requerimento.setupSolicitacaoAcao.setupSolicitacao.categoria.descricao}

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

Empresa

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].nome_Fantasia : requerimento.protocolo.protocoloDestino[0].nome_Fantasia}
\r\n
\r\n
\r\n
{requerimento.cpf_Cnpj}
\r\n
\r\n
\r\n

Razão Social: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].razaoSocial : requerimento.protocolo.protocoloDestino[0].razaoSocial}

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

CCM: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].ccm : requerimento.protocolo.protocoloDestino[0].ccm}

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

Código Cadastro: {requerimento?.protocolo?.codigoCadastro}

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

IM: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].inscricaoMunicipal : requerimento.protocolo.protocoloDestino[0].inscricaoMunicipal}

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

CEP: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].cep : requerimento.protocolo.protocoloDestino[0].cep}

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

Endereço: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].logradouro + \", \" + requerimento.requerimentoDestino[0].numEndereco + \", \" + requerimento.requerimentoDestino[0].complemento : requerimento.protocolo.protocoloDestino[0].logradouro + \", \" + requerimento.protocolo.protocoloDestino[0].numEndereco}

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

Bairro: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].bairro : requerimento.protocolo.protocoloDestino[0].bairro}

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

Cidade: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].cidade : requerimento.protocolo.protocoloDestino[0].cidade}

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

Licença de Operação: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].numeroLicensaOperacao : requerimento.protocolo.protocoloDestino[0].numeroLicensaOperacao}

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

Tipo de Destino: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].tipoDestino : requerimento.protocolo.protocoloDestino[0].tipoDestino}

\r\n
\r\n
\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && justificativaList.length > 0 &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n

Responsável

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].nomeResponsavel : requerimento.protocolo.protocoloDestino[0].nomeResponsavel}
\r\n
\r\n
\r\n
{requerimento.email}
\r\n
\r\n
\r\n

Telefone: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].telefone : requerimento.protocolo.protocoloDestino[0].telefone}

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

Celular: {requerimento.requerimentoDestino.length > 0 ? requerimento.requerimentoDestino[0].celular : requerimento.protocolo.protocoloDestino[0].celular}

\r\n
\r\n
\r\n {requerimento.requerimentoDestino != null && requerimento.requerimentoDestino.length > 0 &&\r\n requerimento.requerimentoDestino[0].requerimentoDestinoClasseResiduos != null && requerimento.requerimentoDestino[0].requerimentoDestinoClasseResiduos.length > 0 &&\r\n <>\r\n
\r\n
\r\n

Classes de Resíduo

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoDestino[0].requerimentoDestinoClasseResiduos.map((item, key) => (\r\n
{item.classeResiduo.descricao}
\r\n ))}\r\n
\r\n
\r\n \r\n }\r\n {requerimento.requerimentoDestino != null && requerimento.requerimentoDestino.length > 0 &&\r\n requerimento.requerimentoDestino[0].requerimentoDestinoTransportadores != null && requerimento.requerimentoDestino[0].requerimentoDestinoTransportadores.length > 0 &&\r\n <>\r\n
\r\n
\r\n

Transportadores Liberados

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoDestino[0].requerimentoDestinoTransportadores.map((item, key) => (\r\n
{item.protocoloTransportador.nome_Fantasia}
\r\n ))}\r\n
\r\n
\r\n \r\n }\r\n
\r\n
\r\n

Requerimento

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

{requerimento.setupSolicitacaoAcao.acao}

\r\n
\r\n
\r\n Número :

{requerimento.numeroRequerimento}

\r\n
\r\n
\r\n Status:

{requerimento.status}

\r\n
\r\n
\r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor != null &&\r\n
\r\n
\r\n Divergência:

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoMotivoCancelamento.length > 0 &&\r\n
\r\n
\r\n

Motivo do Cancelamento

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

{requerimento.requerimentoMotivoCancelamento[0].motivo}

\r\n
\r\n
\r\n }\r\n {requerimento.requerimentoDestinoLocais != null && requerimento.requerimentoDestinoLocais.length > 0 &&\r\n
\r\n
\r\n

Locais de Destinação

\r\n
\r\n
\r\n
\r\n {requerimento.requerimentoDestinoLocais.map((item, key) => (\r\n
\r\n
\r\n
\r\n Identificação:

{item.identificacao}

\r\n
\r\n
\r\n CEP:

{item.cep}

\r\n
\r\n
\r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

\r\n
\r\n
\r\n Bairro:

{item.bairro}

\r\n
\r\n
\r\n Capacidade:

{item.capacidade}

\r\n
\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 window.open(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && requerimento && !!requerimento?.observacaoRequerente &&\r\n
\r\n
\r\n

Observações do Requerente

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

{requerimento?.observacaoRequerente}

\r\n
\r\n
\r\n }\r\n\r\n\r\n {setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" && requerimento.requerimentoCobrancas.length > 0 &&\r\n
\r\n
\r\n

Cobranças

\r\n
\r\n
\r\n\r\n formateDateandTime(rowData.dataVencimento) },\r\n {\r\n title: 'Último Retorno', field: 'status',\r\n render: (rowData) => rowData.logCobrancas && rowData.logCobrancas.length > 0 ? formateDateandTime(rowData.logCobrancas[rowData.logCobrancas.length - 1].dataHora) : \"\"\r\n },\r\n {\r\n title: 'Retorno', field: 'status',\r\n render: (rowData) => rowData.logCobrancas && rowData.logCobrancas.length > 0 ? rowData.logCobrancas[rowData.logCobrancas.length - 1].retorno : \"\"\r\n },\r\n ]}\r\n data={requerimento.requerimentoCobrancas}\r\n isLoading={false}\r\n actions={[\r\n {\r\n icon: 'insert_drive_file',\r\n tooltip: 'Visualizar',\r\n onClick: (event, rowData) => openGuiaCobranca(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n }\r\n {historicoAnaliseGestor.length > 0 &&\r\n
\r\n
\r\n

Histórico de Análise Gestor

\r\n
\r\n
\r\n\r\n formateDateandTime(rowData.dataAnalise) },\r\n { title: 'Usuário', field: 'usuarioAnalise_Nome' },\r\n { title: 'Aprovado', field: 'aceite', render: (rowData) => rowData.aceite ? \"Sim\" : \"Não\" },\r\n { title: 'Observação', field: 'observacao' },\r\n { title: 'Data de Aceite', field: 'dataAceite', render: (rowData) => rowData.dataAceite ? formateDateandTime(rowData.dataAceite) : \"\" },\r\n ]}\r\n data={historicoAnaliseGestor}\r\n isLoading={false}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n }\r\n {setupSistema && setupSistema.metodologiaCobranca == \"Email\" && requerimento.requerimentoCobrancas.length > 0 &&\r\n requerimento.requerimentoCobrancas[0].requerimentoCobrancaComprovantes.length > 0 &&\r\n
\r\n
\r\n

Comprovante de Pagamento

\r\n
\r\n
\r\n {requerimento.requerimentoCobrancas[0].requerimentoCobrancaComprovantes.map((m, key) => {\r\n return \r\n })}\r\n
\r\n }\r\n {showAcoesGestor && session != null && session.usuario_Id != null && requerimento != null && requerimento.status != \"Finalizado\" &&\r\n
\r\n \r\n
\r\n }\r\n\r\n {(session == null || (session && session.tipoAcesso == \"Protocolo\")) &&\r\n requerimento.status == \"Pendente\" &&\r\n requerimento.fluxoCadastroEtapaAtual != null &&\r\n requerimento.fluxoCadastroEtapaAtual.tipo == \"Emissão de Guia\" &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n \r\n {\r\n if (requerimento?.requerimentoCobrancas.filter(x => x.status == \"Pendente\").length > 0) {\r\n showMessage(\"Aviso\", \"Não é permitido emitir um novo boleto, pois você tem boletos pendentes.\", \"warning\", null);\r\n return;\r\n } else {\r\n handleEmitirGuia();\r\n }\r\n }}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Emitir Guia\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, useRef, useState } from \"react\";\r\nimport MaterialTable from 'material-table';\r\nimport moment from \"moment\";\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col,\r\n Button,\r\n Card, CardBody,\r\n Form,\r\n Input,\r\n Modal, ModalHeader, ModalBody, ModalFooter\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate } from \"../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDateApi } from \"../../helpers/formats\";\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"services/acesso.js\";\r\n\r\n//Views\r\nimport FichaRequerimentoTransportador from \"../../views/Shared/Transportador/FichaRequerimento\";\r\nimport FichaRequerimentoGerador from \"../../views/Shared/Gerador/FichaRequerimento\";\r\nimport FichaRequerimentoDestino from \"../../views/Shared/Destino/FichaRequerimento\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function AcompanhamentoLista({ requerimentos, handleReturn }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const [list_table, set_list_table] = useState([]);\r\n\r\n const [tipoAcao, setTipoAcao] = useState(null);\r\n\r\n //State para pegar o requerimento\r\n const [item_requerimento, set_item_requerimento] = useState(null);\r\n\r\n //State para manipular checkbox na tabela\r\n const [selection, set_selection] = useState({ selection: false, filtering: true });\r\n\r\n //State para pegar os requerimentos para publicação\r\n const [requerimentos_publicacao, set_requerimentos_publicacao] = useState([]);\r\n\r\n //State para pegar lista de lote para publicação\r\n const [listLotePublicacao, setListLotePublicacao] = useState([]);\r\n\r\n //State para pegar a data de publicação do lote\r\n const [dataPublicacao, setDataPublicacao] = useState(null);\r\n\r\n //State para pegar lista de lote para cancelamento\r\n const [listLoteCancelamento, setListLoteCancelamento] = useState([]);\r\n\r\n // State para pegar a permissão de cancelar requerimentos\r\n const [permissaoCancelarRequerimentos, setPermissaoCancelarRequerimentos] = useState(false)\r\n\r\n // State para setar o número de registros por página\r\n const [rowsPerPage, setRowsPerPage] = useState(5);\r\n\r\n const formateDate = (date) => {\r\n return moment(date).format('DD/MM/YYYY');\r\n };\r\n\r\n //State para colocar os campos na tabela\r\n const [listaColumn, setListaColumn] = useState([\r\n {\r\n title: 'Ações',\r\n field: \"internal_action\",\r\n filtering: false,\r\n editable: 'never', render: (rowData) =>\r\n rowData && (\r\n
\r\n handleVisualizarRequerimento(rowData)}>\r\n {requerimentos[0]?.fluxoCadastroEtapaAtual?.tipo == \"Aguardando Diário Oficial\" && rowData?.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status == \"Falha\" &&\r\n handlePublicaoLoteRefresh(rowData?.requerimento_Id)}>\r\n }\r\n
\r\n )\r\n },\r\n { title: 'Número Requerimento', field: 'numeroRequerimento', editable: 'never', filtering: true },\r\n (requerimentos[0]?.excluirRequerimento) ? { title: 'Modalidade', field: 'setupSolicitacaoAcao.setupSolicitacao.categoria.segmento', editable: 'never', filtering: true } : [],\r\n { title: 'Categoria', field: 'setupSolicitacaoAcao.setupSolicitacao.categoria.descricao', editable: 'never', filtering: true },\r\n { title: 'Etapa', field: 'fluxoCadastroEtapaAtual.tipo', editable: 'never', filtering: true },\r\n (requerimentos[0]?.excluirRequerimento) ? { title: 'Tipo', field: 'setupSolicitacaoAcao.acao', editable: 'never', filtering: true } : [],\r\n { title: 'Data da Solicitação', field: 'dataCriacaoRequerimento', render: (rowData) => formateDate(rowData.dataCriacaoRequerimento), editable: 'never', filtering: true, customFilterAndSearch: (filter, rowData) => moment(rowData.dataCriacaoRequerimento).format('DD/MM/YYYY').includes(filter) },\r\n { title: 'Última Ação', field: 'dataUltimaAcao', render: rowData => rowData.dataUltimaAcao ? formateDate(rowData.dataUltimaAcao) : \"\", editable: 'never', filtering: true, customFilterAndSearch: (filter, rowData) => rowData.dataUltimaAcao ? moment(rowData.dataUltimaAcao).format('DD/MM/YYYY').includes(filter) : false },\r\n { title: 'CNPJ/CPF', field: 'protocolo.cpf_Cnpj', editable: 'never', filtering: true },\r\n { title: 'Solicitante', field: 'protocolo.nomeSolicitante', editable: 'never', filtering: true },\r\n ]);\r\n\r\n //State para pegar lista de lote para analise de requerimento\r\n const [listLoteAguardadoAnaliseRGG, setListLoteAguardadoAnaliseRGG] = useState([]);\r\n\r\n //State para pegar o enquandramento\r\n const [enquadramento, set_enquadramento] = useState(null);\r\n\r\n const [modalLotePublicacao, setModalLotePublicacao] = useState(false);\r\n\r\n const toggleLotePublicacao = () => {\r\n setModalLotePublicacao(!modalLotePublicacao)\r\n setDataPublicacao(null);\r\n };\r\n\r\n //State para abrir modal\r\n const [modalEnquadramento, setModalEnquadramento] = useState(false);\r\n\r\n const toggleEnquadramento = () => setModalEnquadramento(!modalEnquadramento);\r\n\r\n const ref = useRef(null);\r\n\r\n const [options_enquadramento, set_options_enquadramento] = useState([]);\r\n const loadOptionsEnquadramento = () => {\r\n api_GET('enquadramento')\r\n .then(result => set_options_enquadramento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleModal = () => {\r\n if (tipoAcao?.tipo == \"Aguardando Análise\" && tipoAcao?.sigla == \"RGG\" && tipoAcao?.segmento == \"Grande Gerador\") {\r\n handleLoteAguardandoAnalise(true);\r\n return\r\n }\r\n if (tipoAcao?.tipo == \"Publicar Diário Oficial\" && requerimentos_publicacao.length > 0) {\r\n\r\n //pegar todos os requerimentos sem enquadramentos\r\n let json_submit = [];\r\n requerimentos_publicacao.filter(x => x.protocolo.enquadramento_Id == null).map(item => {\r\n json_submit.push({\r\n requerimento_Id: item.requerimento_Id,\r\n Enquadramento_Id: enquadramento.enquadramento_Id\r\n })\r\n })\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostEnquadramentos', json_submit).then(result => {\r\n toggleEnquadramento();\r\n handlePublicarDiarioOficial();\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handlePublicarDiarioOficial = () => {\r\n\r\n if (enquadramento == null &&\r\n requerimentos_publicacao.length > 0 &&\r\n requerimentos_publicacao.filter(x => x.protocolo.enquadramento_Id == null).length > 0) {\r\n toggleEnquadramento();\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n laudaDiarioOficial_Id: 0,\r\n dataPublicacao: formateDateApi(new Date()),\r\n usuario_Id: session.usuario_Id,\r\n requerimentoLaudaDiarioOficial: requerimentos_publicacao\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostLaudaDiarioOficial', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn(); }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleEmitirGuia = () => {\r\n let json_submit = [];\r\n for (var i in requerimentos_publicacao) {\r\n json_submit.push({\r\n requerimento_Id: requerimentos_publicacao[i].requerimento_Id,\r\n usuarioEmissao_Id: session.usuario_Id,\r\n });\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobrancaLote', json_submit)\r\n .then(result => showMessage(\"Aviso\", result.data, 'success', function () { handleReturn() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleVisualizarRequerimento = (rowData) => {\r\n setLoading(true);\r\n api_GET('requerimento/' + rowData.requerimento_Id)\r\n .then(result => set_item_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleChange = (e) => {\r\n set_enquadramento(e);\r\n };\r\n\r\n const handlePublicarDiarioLote = () => {\r\n if (dataPublicacao == null) {\r\n showMessage(\"Aviso\", \"Por favor, selecione a data de publicação.\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (listLotePublicacao.length == 0) {\r\n showMessage(\"Aviso\", \"Por favor, selecione algum requerimento.\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (listLotePublicacao.length > 10) {\r\n showMessage(\"Aviso\", \"Selecione apenas 10 registros por vez\", \"warning\", null);\r\n return;\r\n }\r\n\r\n let json_submit = [];\r\n\r\n listLotePublicacao.map(req => {\r\n json_submit.push({\r\n requerimentoSolicitacaoPublicacaoDiarioOficial_Id: 0,\r\n requerimento_Id: req.requerimento_Id,\r\n status: \"Solicitado\",\r\n dataPublicacao: moment(dataPublicacao).format(\"YYYY-MM-DD\"),\r\n usuarioPublicacao_Id: session.usuario_Id\r\n })\r\n });\r\n\r\n toggleLotePublicacao();\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoSolicitacaoPublicacaoDiarioOficial', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handlePublicaoLoteRefresh = (requerimento_Id) => {\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostProcessaPublicacaoDiarioOficial/' + requerimento_Id)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { handleReturn() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAcaoSectionTable = (rows, selectedRow) => {\r\n if(tipoAcao.excluirRequerimento) {\r\n setListLoteCancelamento(rows)\r\n } \r\n else if (tipoAcao.tipo == \"Aguardando Análise\" && tipoAcao.sigla == \"RGG\" && tipoAcao.segmento == \"Grande Gerador\") {\r\n if (rows?.length > 10) {\r\n showMessage(\"Aviso\", \"Selecione apenas 10 registros por vez\", \"warning\", null);\r\n return;\r\n }\r\n setListLoteAguardadoAnaliseRGG(rows);\r\n }\r\n else if (tipoAcao.tipo == \"Emissão de Guia\" || tipoAcao.tipo == \"Publicar Diário Oficial\") {\r\n set_requerimentos_publicacao(rows);\r\n } \r\n else if (tipoAcao.tipo == \"Aguardando Diário Oficial\") {\r\n setListLotePublicacao(rows.filter(x => x?.requerimentoSolicitacaoPublicacaoDiarioOficiais?.length == 0));\r\n }\r\n\r\n set_list_table(prev => {\r\n return prev?.map(m => {\r\n if (rows.some(r => r.tableData.id == m.tableData.id)) {\r\n m.tableData.checked = true;\r\n }\r\n else {\r\n m.tableData.checked = false;\r\n }\r\n return m;\r\n })\r\n })\r\n }\r\n\r\n const handleLoteAguardandoAnalise = (aprovacao) => {\r\n if (listLoteAguardadoAnaliseRGG.length > 10) {\r\n showMessage(\"Aviso\", \"Por favor, selecione no máximo 10 requisições.\", 'warning', null);\r\n return;\r\n }\r\n if (listLoteAguardadoAnaliseRGG.length == 0) {\r\n showMessage(\"Aviso\", \"Selecione os requerimento(s).\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (enquadramento == null &&\r\n aprovacao == true &&\r\n listLoteAguardadoAnaliseRGG.some(x => x.setupSolicitacaoAcao.enquadramentoObrigatorio == true)) {\r\n toggleEnquadramento();\r\n return;\r\n }\r\n\r\n let listaRequerimentos = [];\r\n\r\n listLoteAguardadoAnaliseRGG.forEach(({ requerimento_Id }) => {\r\n listaRequerimentos.push({\r\n requerimentoAnaliseGestor_Id: 0,\r\n requerimento_Id: requerimento_Id,\r\n dataAnalise: formateDateApi(new Date()),\r\n usuarioAnalise_Id: session.usuario_Id,\r\n enquadramento_Id: enquadramento?.enquadramento_Id ?? null,\r\n aceite: aprovacao,\r\n });\r\n });\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentosLoteAnaliseGestor', listaRequerimentos).then(result => {\r\n if (result.data?.length > 0 && result.data?.filter(x => x.requerimentoAnaliseGestor_Id == 0).length > 0) {\r\n let requerimentos_IDs = result.data?.filter(x => x.requerimentoAnaliseGestor_Id == 0).map(({ requerimento_Id }) => requerimento_Id);\r\n let requerimentosFalha = listLoteAguardadoAnaliseRGG.filter(x => requerimentos_IDs.includes(x.requerimento_Id)).map(({ numeroRequerimento }) => numeroRequerimento);\r\n\r\n showMessage(\"Error\", `Alguns requerimentos falharam: (${requerimentosFalha?.join(\", \")}). Por favor, verifique cada um individualmente.`, 'warning', () => handleReturn());\r\n }\r\n else\r\n showMessage(\"Sucesso\", \"Sucesso na operação.\", 'success', () => handleReturn());\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleCancelarRequerimentos = () => {\r\n showQuestion(\"Aviso\", \"Tem certeza que deseja cancelar os requerimentos? Esta ação é irreversível\", 'question', function (retorno) {\r\n if (retorno) {\r\n let listaRequerimentos = [];\r\n\r\n listLoteCancelamento.forEach(({ requerimento_Id, protocolo_Id }) => {\r\n listaRequerimentos.push({\r\n requerimento_Id: requerimento_Id,\r\n usuarioCancelamento_Id: session.usuario_Id,\r\n protocolo_Id: protocolo_Id,\r\n });\r\n });\r\n \r\n setLoading(true);\r\n api_POST('requerimento/CancelamentoLoteRequerimentos', listaRequerimentos).then(result => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null);\r\n handleReturn();\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (ref) {\r\n ref.current.scrollIntoView();\r\n }\r\n\r\n ValidaAcessoFuncionalidadeAcao(\"AnaliseRequerimento.Editar\", function (result) { setPermissaoCancelarRequerimentos(result) });\r\n\r\n const _tipoAcao = {\r\n tipo: requerimentos[0].fluxoCadastroEtapaAtual.tipo,\r\n sigla: requerimentos[0]?.setupSolicitacaoAcao?.setupSolicitacao?.categoria?.sigla,\r\n segmento: requerimentos[0]?.setupSolicitacaoAcao?.setupSolicitacao?.segmento,\r\n excluirRequerimento: requerimentos[0]?.excluirRequerimento\r\n };\r\n\r\n setTipoAcao({ ..._tipoAcao });\r\n set_list_table(requerimentos);\r\n\r\n if (_tipoAcao.tipo == \"Publicar Diário Oficial\" || _tipoAcao.excluirRequerimento == true || \r\n (_tipoAcao.tipo == \"Aguardando Análise\" && _tipoAcao.sigla == \"RGG\" && _tipoAcao.segmento == \"Grande Gerador\")\r\n ) {\r\n set_selection({ ...selection, selection: true });\r\n } else if (_tipoAcao.tipo == \"Emissão de Guia\") {\r\n set_selection({ ...selection, selection: true });\r\n setListaColumn([\r\n ...listaColumn, {\r\n filtering: true,\r\n title: 'Quantidade de Boletos',\r\n field: \"requerimentoCobrancas\",\r\n editable: 'never',\r\n render: (rowData) => rowData.requerimentoCobrancas.length > 0 ? rowData.requerimentoCobrancas.length : 0,\r\n customFilterAndSearch: (filter, rowData) => rowData.requerimentoCobrancas.length.toString().includes(filter) \r\n }]);\r\n }\r\n else if (_tipoAcao.tipo == \"Aguardando Diário Oficial\") {\r\n set_selection({\r\n ...selection,\r\n selection: true,\r\n selectionProps: rowData => ({ style: { visibility: rowData?.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status ? 'hidden' : 'visible' }, disabled: rowData?.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status ? true : false })\r\n });\r\n setListaColumn([\r\n ...listaColumn,\r\n {\r\n filtering: true,\r\n title: 'Status Processamento',\r\n field: 'status',\r\n render: (rowData) => rowData.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status ?? null, editable: 'never',\r\n customFilterAndSearch: (filter, rowData) => {\r\n const status = rowData.requerimentoSolicitacaoPublicacaoDiarioOficiais[0]?.status ?? '';\r\n return status.toLowerCase().includes(filter.toLowerCase());\r\n }\r\n }]);\r\n }\r\n loadOptionsEnquadramento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {modalEnquadramento &&\r\n \r\n Enquadramento\r\n \r\n Selecione o Enquadramento para aplicar ao(s) protocolo(s) selecionado(s).\r\n
\r\n option.descricao}\r\n getOptionValue={option => option.enquadramento_Id}\r\n onChange={(e) => { handleChange(e) }}\r\n value={enquadramento != null && options_enquadramento.find(obj => obj.enquadramento_Id === enquadramento.enquadramento_Id)}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {modalLotePublicacao &&\r\n \r\n Data de Publicação\r\n \r\n
\r\n setDataPublicacao(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 {item_requerimento == null &&\r\n
\r\n \r\n \r\n \r\n \r\n \r\n { handleAcaoSectionTable(rows.filter((r, i) => i < rowsPerPage), selectedRow) }}\r\n onChangeRowsPerPage={_rows => setRowsPerPage(_rows)}\r\n localization={table_translate}\r\n cellEditable={{\r\n onCellEditApproved: (newValue, oldValue, rowData, columnDef) => {\r\n return new Promise((resolve, reject) => {\r\n setTimeout(resolve, 1000);\r\n });\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n {(tipoAcao && tipoAcao.tipo == \"Aguardando Análise\" &&\r\n tipoAcao.sigla == \"RGG\" &&\r\n tipoAcao.segmento == \"Grande Gerador\"\r\n ) &&\r\n \r\n handleLoteAguardandoAnalise(true)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Aprovar Requerimentos em Lote\r\n \r\n handleLoteAguardandoAnalise(false)}\r\n className=\"btn-mobile\"\r\n type=\"button\"\r\n >\r\n Reprovar Requerimentos em Lote\r\n \r\n \r\n }\r\n {tipoAcao && tipoAcao.tipo == \"Publicar Diário Oficial\" &&\r\n \r\n \r\n Publicár Diário Oficial\r\n \r\n \r\n }\r\n {tipoAcao && tipoAcao.tipo == \"Emissão de Guia\" &&\r\n \r\n \r\n Emitir Guias\r\n \r\n \r\n }\r\n {tipoAcao && tipoAcao.tipo == \"Aguardando Diário Oficial\" && requerimentos?.filter(x => x?.requerimentoSolicitacaoPublicacaoDiarioOficiais?.length == 0).length &&\r\n \r\n {\r\n if (listLotePublicacao.length == 0 && list_table.filter(x => x?.requerimentoSolicitacaoPublicacaoDiarioOficiais?.length == 0).length > 0) {\r\n showMessage(\"Aviso\", \"Por favor, selecione algum requerimento para fazer a publicação de lote.\", 'warning', null);\r\n return;\r\n }\r\n if (list_table.length == list_table.filter(x => x?.requerimentoSolicitacaoPublicacaoDiarioOficiais?.length > 0).length) {\r\n showMessage(\"Aviso\", \"Não existe requerimento para ser feito a publicação em lote.\", 'warning', null);\r\n return;\r\n }\r\n if (listLotePublicacao.length > 0)\r\n setModalLotePublicacao(true)\r\n }}\r\n >\r\n Publicação em Lote\r\n \r\n \r\n }\r\n {(tipoAcao && tipoAcao.excluirRequerimento && permissaoCancelarRequerimentos) &&\r\n \r\n \r\n Cancelar Requerimentos\r\n \r\n \r\n }\r\n \r\n \r\n \r\n
\r\n }\r\n {item_requerimento != null &&\r\n item_requerimento.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Transportador\" &&\r\n \r\n }\r\n {item_requerimento != null &&\r\n item_requerimento.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Grande Gerador\" &&\r\n \r\n }\r\n {item_requerimento != null &&\r\n item_requerimento.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Destino Final\" &&\r\n \r\n }\r\n
\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { FormGroup, Label, Input, InputGroupText } from 'reactstrap';\r\nimport Select from 'react-select';\r\nimport CreatableSelect from 'react-select/creatable';\r\n\r\n//Assets\r\nimport \"../../assets/css/textField.css\"\r\n\r\nexport default function TextField({ inputClassName = \"\", icon, placeholder = \"\", multiple = false, label, onChange, onBlur, type, id, name, options, value = \"\", invalid, searchable = false, className, disabled, onClickIcon, style, maxLength, mask = (value) => value, creatable }) {\r\n\r\n //Estado de controle do valor do input creatable\r\n const [inputValue, setInputValue] = useState(\"\");\r\n\r\n //Estilos customizados para os selects multiplos ou de pesquisa que usam o react-select\r\n const customStyles = {\r\n control: (base, state) => ({\r\n ...base,\r\n menu: provided => ({ ...provided, zIndex: 9999 }),\r\n borderColor: state.isFocused ?\r\n '#ddd' : invalid ?\r\n '#DC3545' : '#ddd',\r\n // overwrittes hover style\r\n '&:hover': {\r\n borderColor: state.isFocused ?\r\n '#ddd' : invalid ?\r\n '#DC3545' : '#ddd'\r\n }\r\n })\r\n }\r\n\r\n //Função que faz o controle das teclas apertadas no select creatable\r\n const handleKeyDown = (event) => {\r\n if (!inputValue) return;\r\n switch (event.key) {\r\n case 'Enter':\r\n case 'Tab':\r\n onChange(inputValue);\r\n setInputValue('');\r\n event.preventDefault();\r\n }\r\n };\r\n\r\n return (\r\n \r\n {label && }\r\n
\r\n \r\n {/* Se o input for um select de multiplas opções é retornado o campo abaixo */}\r\n {type === \"select\" && multiple\r\n && \r\n }\r\n {/* Se o input for um select de multiplas opções é retornado o campo abaixo */}\r\n {type === \"select\" && creatable\r\n &&\r\n setInputValue(newValue)}\r\n onKeyDown={handleKeyDown}\r\n placeholder={placeholder}\r\n value={value}\r\n styles={customStyles}\r\n />\r\n }\r\n {/* Se o select for do tipo pesquisavel é retornado o campo abaixo */}\r\n {type === \"select\" && searchable\r\n && \r\n }\r\n {/* Se o select for normal é retornado o campo abaixo */}\r\n {type == \"select\" && !multiple && !searchable && !creatable &&\r\n < Input className={inputClassName} onBlur={onBlur} maxLength={maxLength ? maxLength : \"1000000000\"} disabled={disabled} placeholder={placeholder} id={id} type={type} invalid={invalid} name={name} onChange={onChange} value={value} style={style} >\r\n {\r\n options && options.map((option, key) => {\r\n return \r\n })\r\n }\r\n \r\n }\r\n {/*Se o input for do tipo checkbox é retornado o campo abaixo */}\r\n {type === \"checkbox\" &&\r\n \r\n }\r\n {/*Se o input não for nem select nem checkbox é retornado o campo abaixo*/}\r\n {type !== \"select\" && type !== \"checkbox\" && type !== \"file\" &&\r\n {\r\n e.target.value = mask(e.target.value, true);\r\n onChange(e)\r\n }} value={mask(value)} />\r\n }\r\n {/* Se o tipo de input for file então retorna o seguinte objeto */}\r\n {type === \"file\" &&\r\n \r\n }\r\n\r\n
\r\n
\r\n )\r\n}","import React, { useEffect, useState } from 'react';\r\n\r\nimport MaterialTable from 'material-table';\r\n\r\nimport { table_style, table_translate } from '../../constants/MaterialTable';\r\nimport { showMessage } from '../../services/message';\r\nimport { api_GET } from '../../services/api_service';\r\n\r\n// components \r\nimport FichaRequerimentoTransportador from '../../views/Shared/Transportador/FichaRequerimento';\r\nimport FichaRequerimentoDestino from '../../views/Shared/Destino/FichaRequerimento';\r\nimport FichaRequerimentoGerador from '../../views/Shared/Gerador/FichaRequerimento';\r\n\r\nimport { formateDateandTime } from '../../helpers/formats';\r\n\r\nimport { useAuth } from '../../context/auth';\r\n\r\nfunction ListaDashboardRequerimento({ listShow, handleReturnDashboard }) {\r\n const { setLoading } = useAuth();\r\n\r\n\r\n // pegar os requerimentos pelo status passado\r\n const [requerimentos, setRequerimentos] = useState([]);\r\n\r\n const [requerimentoVisualizar, setRquerimentoVisualizar] = useState(null);\r\n\r\n const columns = [\r\n { title: \"Requerimento\", field: \"numeroRequerimento\" },\r\n { title: \"CPF/CNPJ\", field: \"cpf_Cnpj\" },\r\n { title: \"Código Cadastro\", field: \"codigoCadastro\" },\r\n { title: \"E-mail\", field: \"email\" },\r\n { title: \"Categoria\", field: \"categoria\" },\r\n { title: \"Etapa\", field: \"etapa\" },\r\n { title: \"Data Solicitacao\", field: \"dataSolicitacao\" },\r\n { title: \"Data ultima Ação\", field: \"ultimaAcao\" },\r\n { title: \"Ação\", field: \"acao\" },\r\n ];\r\n\r\n useEffect(() => {\r\n if (listShow && listShow.requerimentos) {\r\n const _etapa = listShow.etapa === \"Rejeitado\" ? \"Divergente\" : listShow.etapa;\r\n\r\n const { requerimentosList } = listShow.requerimentos;\r\n\r\n if (requerimentosList.length > 0) {\r\n // pegando os requeirimentos pelo status especifico passado\r\n const _requerimentos = requerimentosList.filter((req) => {\r\n if (req.etapa === _etapa && req.segmento === listShow.segmento && req.descricao === listShow.descricao) {\r\n req.ultimaAcao = formateDateandTime(req.ultimaAcao);\r\n req.dataSolicitacao = formateDateandTime(req.dataSolicitacao);\r\n return req;\r\n }\r\n })\r\n setRequerimentos(_requerimentos);\r\n }\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n const handleRequerimento = (rowData) => {\r\n const { requerimentosList } = listShow.requerimentos;\r\n const requerimento = requerimentosList.filter((req, index) => {\r\n if (req.requerimento_Id == rowData.requerimento_Id) {\r\n return req;\r\n }\r\n })\r\n\r\n setLoading(true);\r\n api_GET('requerimento/' + requerimento[0].requerimento_Id)\r\n .then(result => {\r\n if (result.data.etapaCadastro == 0 || result.data?.requerimentoGerador?.length == 0) {\r\n showMessage(\"Aviso\", \"Este requerimento está na primeira etapa de preenchimento dos dados e sua ficha não pode ser aberta pois os dados ainda não estão preenchidos!\", 'info', null)\r\n return;\r\n }\r\n setRquerimentoVisualizar(result.data)\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleView = (rowData) => {\r\n handleRequerimento(rowData);\r\n }\r\n\r\n const handleReturn = () => {\r\n setRquerimentoVisualizar(null);\r\n }\r\n\r\n return (\r\n
\r\n {requerimentoVisualizar === null &&\r\n <>\r\n \r\n handleView(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n }\r\n\r\n {/* mostrar dados dos tipos especificos de cada requerimento */}\r\n {requerimentoVisualizar && listShow.segmento === \"Destino Final\" &&\r\n }\r\n {requerimentoVisualizar && listShow.segmento === \"Grande Gerador\" &&\r\n }\r\n {requerimentoVisualizar && listShow.segmento === \"Transportador\" &&\r\n }\r\n
\r\n );\r\n}\r\n\r\nexport default ListaDashboardRequerimento;","import React, { useState, useEffect } from 'react';\r\nimport { Card, CardBody, CardFooter, Row, Col, Button, Label, Input } from \"reactstrap\";\r\n\r\n// styles ccs\r\nimport \"assets/css/efeitoCards.css\";\r\n\r\n//Api\r\nimport { api_GET, api_POST } from '../../services/api_service';\r\n\r\n//Helpers\r\nimport { formateDateApi } from '../../helpers/formats';\r\nimport { showMessage } from \"../../services/message.js\";\r\n\r\n//Components\r\nimport ListaDashboardRequerimento from './ListaDashboardRequerimento';\r\nimport TextField from '../../components/TextField/TextField';\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth';\r\n\r\nfunction initialStateFiltro() {\r\n return {\r\n modalidade: \"Todos\"\r\n }\r\n}\r\nfunction Dashboard() {\r\n const {setLoading, loading} = useAuth();\r\n\r\n // Estado para o botão de aparecer fitros de Data\r\n const [btnfiltro, setBtnFiltro] = useState(false);\r\n\r\n // Estado para pegar a lista de protocolos\r\n const [dashboardProtocolo, setDashboardProtocolo] = useState(null);\r\n\r\n // Estado para pegar a lista de requerimentos\r\n const [dashboardRequerimento, setDashboardRequerimento] = useState(null);\r\n\r\n // Estado para controlar os indicadores\r\n const [mostrarTotalIndicadores, setMostrarTotalIndicadores] = useState(true);\r\n\r\n // Estado auxiliar para guardar valores dos protocolos e requerimentos\r\n const [dashboardAuxiliar, setDashboardAuxiliar] = useState(\r\n {\r\n dashboardProtocolo: null,\r\n dashboardRequerimento: null\r\n }\r\n );\r\n\r\n // Estado para abrir as informaçoes de cada indicador\r\n const [visibleDadosIndicadores, setVisibleDadosIndicadores] = useState({\r\n index: '',\r\n tipoIndicador: ''\r\n });\r\n\r\n // Estado para mostrar component da lista dos requerimentos\r\n const [listShow, setListShow] = useState(null);\r\n\r\n // Estado para para pegar a modalidade\r\n const [filtro, setFiltro] = useState(initialStateFiltro());\r\n\r\n // Estado para options de modalidade\r\n const [optionsModalidade, setOptionsModalidade] = useState([\r\n { text: \"Todos\", value: \"Todos\" },\r\n { text: \"RCC\", value: \"RCC\" },\r\n { text: \"RGG\", value: \"RGG\" },\r\n { text: \"RSS\", value: \"RSS\" },\r\n ]);\r\n\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n api_GET('Dashboard/protocolos')\r\n .then(result => {\r\n setDashboardAuxiliar({\r\n ...dashboardAuxiliar,\r\n dashboardProtocolo: result.data\r\n })\r\n setDashboardProtocolo(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }, []);\r\n\r\n // função para marcar qual card abrir\r\n const handleVisibleDadosIndicadores = (index, tipoIndicador) => {\r\n setMostrarTotalIndicadores(!mostrarTotalIndicadores)\r\n setVisibleDadosIndicadores(\r\n {\r\n index: index,\r\n tipoIndicador: tipoIndicador\r\n }\r\n )\r\n }\r\n\r\n // altera texto apresentando no cards\r\n const HandleModificarTextoCardIndicador = (obj, tipo) => {\r\n let total = 0;\r\n if (tipo === \"requerimento\") {\r\n total = (obj.qtdFinalizado + obj.qtdPendente + obj.qtdEmAndamento + obj.qtdRejeitado)\r\n } else {\r\n total = obj.tiposProtocolos.reduce((acc, tipo) => acc + tipo.qtdAtivos + tipo.qtdInativos + tipo.qtdCancelados + tipo.qtdVencidos, 0);\r\n }\r\n\r\n return {\r\n texto: obj.descricaoDashboard,\r\n color: obj.corIcone,\r\n icone: obj.classeIcone,\r\n total: total\r\n }\r\n }\r\n\r\n // montar card Cadastro dos protocolos\r\n const CardsCadastroIndicativo = ({ cadastro, index }) => {\r\n const dado = HandleModificarTextoCardIndicador(cadastro, \"cadastro\");\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 {dado?.total}\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n {cadastro.tiposProtocolos && cadastro.tiposProtocolos.map((el, index) => (\r\n \r\n \r\n PESSOA {el.tipoPessoa}\r\n \r\n \r\n ATIVOS:\r\n \r\n \r\n {el.qtdAtivos}\r\n \r\n \r\n CANCELADOS:\r\n \r\n \r\n {el.qtdCancelados}\r\n \r\n \r\n INATIVOS:\r\n \r\n \r\n {el.qtdInativos}\r\n \r\n \r\n VENCIDOS:\r\n \r\n \r\n {el.qtdVencidos}\r\n \r\n \r\n ))}\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n // montar card Cadastro dos Requerimento\r\n const CardsRequerimentoIndicativo = ({ requerimento, index }) => {\r\n const dadoRequerimento = HandleModificarTextoCardIndicador(requerimento, \"requerimento\");\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadoRequerimento.total}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
setListShow({\r\n requerimentos: requerimento,\r\n categoria: dadoRequerimento.texto,\r\n etapa: \"Em Andamento\",\r\n segmento: requerimento.segmento,\r\n descricao: requerimento.descricao,\r\n sigla: requerimento.sigla\r\n })}>\r\n Em Andamento:\r\n {requerimento.qtdEmAndamento}\r\n
\r\n
setListShow(\r\n {\r\n requerimentos: requerimento,\r\n categoria: dadoRequerimento.texto,\r\n etapa: \"Finalizado\",\r\n segmento: requerimento.segmento,\r\n descricao: requerimento.descricao,\r\n sigla: requerimento.sigla\r\n }\r\n )}>\r\n Finalizado:\r\n {requerimento.qtdFinalizado}\r\n
\r\n
setListShow({\r\n requerimentos: requerimento,\r\n categoria: dadoRequerimento.texto,\r\n etapa: \"Pendente\",\r\n segmento: requerimento.segmento,\r\n descricao: requerimento.descricao,\r\n sigla: requerimento.sigla\r\n })}>\r\n Pendente:\r\n {requerimento.qtdPendente}\r\n
\r\n
setListShow({\r\n requerimentos: requerimento,\r\n categoria: dadoRequerimento.texto,\r\n etapa: \"Rejeitado\",\r\n segmento: requerimento.segmento,\r\n descricao: requerimento.descricao,\r\n sigla: requerimento.sigla\r\n })}>\r\n Rejeitado:\r\n {requerimento.qtdRejeitado}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n\r\n const [dadoFiltro, setDadoFiltro] = React.useState({\r\n datainicio: '',\r\n datafim: ''\r\n })\r\n // pegando os dados campos de data\r\n const handleDataFiltros = (event) => {\r\n setDadoFiltro(\r\n {\r\n ...dadoFiltro,\r\n [event.target.name]: event.target.value\r\n }\r\n )\r\n }\r\n\r\n // filtro de pegar os dados na Api\r\n const handleFiltroIndicadores = () => {\r\n if (dadoFiltro.datafim === \"\" || dadoFiltro.datafim === \"\") {\r\n showMessage(\"Aviso\", \"Os campos de Data devem está preenchido!\", \"warning\", null);\r\n return;\r\n }\r\n const json_submit = {\r\n Inicio: formateDateApi(dadoFiltro.datainicio),\r\n Fim: formateDateApi(dadoFiltro.datafim)\r\n }\r\n setLoading(true);\r\n api_POST('Dashboard/requerimentos', json_submit).then(result => {\r\n setDashboardAuxiliar({\r\n ...dashboardAuxiliar,\r\n dashboardRequerimento: result.data\r\n });\r\n\r\n if (filtro.modalidade != \"Todos\") {\r\n setDashboardRequerimento({ requerimentos: result.data?.requerimentos?.filter(x => x.sigla == filtro.modalidade) });\r\n }\r\n else\r\n setDashboardRequerimento(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n //voltar para dashboard\r\n const handleReturnDashboard = () => {\r\n setVisibleDadosIndicadores({\r\n index: '',\r\n tipoIndicador: ''\r\n })\r\n setLoading(false);\r\n setListShow(null);\r\n }\r\n\r\n const handleFiltroModalidade = (e) => {\r\n const { name, value } = e.target;\r\n setFiltro({\r\n ...filtro,\r\n [name]: value\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (filtro?.modalidade != \"Todos\") {\r\n setDashboardProtocolo({\r\n protocolos: dashboardAuxiliar.dashboardProtocolo?.protocolos?.length > 0 ? dashboardAuxiliar.dashboardProtocolo?.protocolos.filter(x => x.sigla == filtro?.modalidade) : []\r\n });\r\n setDashboardRequerimento({\r\n requerimentos: dashboardAuxiliar.dashboardRequerimento?.requerimentos?.length > 0 ? dashboardAuxiliar.dashboardRequerimento?.requerimentos?.filter(x => x.sigla == filtro?.modalidade) : []\r\n });\r\n } else {\r\n setDashboardProtocolo(dashboardAuxiliar.dashboardProtocolo)\r\n setDashboardRequerimento(dashboardAuxiliar.dashboardRequerimento)\r\n }\r\n }, [filtro]);\r\n\r\n return (\r\n <>\r\n {!loading && listShow === null &&\r\n
\r\n \r\n \r\n Modalidades}\r\n type={\"select\"}\r\n options={optionsModalidade}\r\n value={filtro.modalidade}\r\n onChange={handleFiltroModalidade}\r\n />\r\n \r\n \r\n \r\n \r\n {dashboardProtocolo && dashboardProtocolo.protocolos.length > 0 &&\r\n <>\r\n \r\n \r\n
\r\n Cadastros\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n {dashboardProtocolo.protocolos.map((cadastro, index) => (\r\n \r\n ))}\r\n \r\n
\r\n \r\n }\r\n\r\n \r\n \r\n
\r\n Requerimentos\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n {btnfiltro &&\r\n \r\n \r\n
\r\n handleDataFiltros(e)}\r\n />\r\n \r\n \r\n
\r\n handleDataFiltros(e)}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {dashboardRequerimento && dashboardRequerimento.requerimentos.length > 0 &&\r\n <>\r\n
\r\n \r\n {dashboardRequerimento.requerimentos.map((requerimento, index) => (\r\n \r\n ))}\r\n \r\n
\r\n \r\n }\r\n
\r\n
\r\n
\r\n }\r\n {listShow &&\r\n \r\n }\r\n \r\n );\r\n}\r\n\r\nexport default Dashboard;","import React, { useEffect, useState } from \"react\";\r\nimport moment from \"moment\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Input, Button, Row, Col, Card, CardBody, FormGroup, Form } from \"reactstrap\";\r\n\r\n// helpers\r\nimport { formateDateandTimeApi, formateMonthName } from \"../../../helpers/formats.js\";\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_PUT } from \"../../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function AgendamentoVistoria({ requerimentoAgendamento, handleReturn }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n\r\n const [list_agendamentos, set_list_agendamentos] = useState([]);\r\n\r\n const loadListAgendamentos = () => {\r\n setLoading(true);\r\n api_GET(`AgendamentoVistoria/GetAgendamentoVistoriaByRequerimento/${requerimentoAgendamento.requerimento_Id}`)\r\n .then(result => set_list_agendamentos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleChangeDataHoraAgendamento = (requerimentoTransportadorAgendamento_Id, value) => {\r\n if (list_agendamentos.filter(f => f.requerimentoTransportadorAgendamento_Id != requerimentoTransportadorAgendamento_Id\r\n && f.dataHora == value && f.dataHora != null).length > 0) {\r\n value = null;\r\n showMessage(\"Aviso\", \"Você já agendou outro veículo neste horário!\", 'error', null);\r\n }\r\n\r\n let _newlist = [];\r\n list_agendamentos.map(m => {\r\n if (m.requerimentoTransportadorAgendamento_Id == requerimentoTransportadorAgendamento_Id) {\r\n m.dataHora = value;\r\n\r\n if (value)\r\n m.situacao = \"Agendado\";\r\n else\r\n m.situacao = \"Pendente\";\r\n }\r\n _newlist.push(m);\r\n });\r\n set_list_agendamentos(_newlist);\r\n }\r\n\r\n const handleClickRemoverVeiculo = (requerimentoTransportadorAgendamento_Id) => {\r\n showQuestion(\"Confirma o cancelamento do agendamento do veículo?\", \"Este veículo não poderá mais ser agendado para vistoria.\", 'question', function (retorno) {\r\n if (retorno) {\r\n let _newlist = [];\r\n list_agendamentos.map(m => {\r\n if (m.requerimentoTransportadorAgendamento_Id == requerimentoTransportadorAgendamento_Id) {\r\n m.situacao = \"Cancelado\";\r\n m.dataHora = null;\r\n }\r\n _newlist.push(m);\r\n });\r\n set_list_agendamentos(_newlist);\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n loadListAgendamentos();\r\n }, [requerimentoAgendamento]);\r\n\r\n const onSubmit = (data) => {\r\n if (list_agendamentos.filter(f => f.dataHora == null && f.situacao != \"Cancelado\").length > 0) {\r\n showMessage(\"Aviso\", \"É necessário criar o agendamento de todos os veículos!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = []\r\n list_agendamentos.map(m => {\r\n json_submit.push({\r\n requerimentoTransportadorAgendamento_Id: m.requerimentoTransportadorAgendamento_Id,\r\n requerimentoTransportadorVeiculo_Id: m.requerimentoTransportadorVeiculo_Id,\r\n dataHora: m.dataHora,\r\n situacao: m.situacao,\r\n logAgendamento: session != null && session.tipoAcesso == \"AreaRestrita\" ? `Atualizado pelo usuário ${session.nome} (${session.usuario_Id})` : \"Atualizado pelo Transportador\"\r\n })\r\n })\r\n\r\n setLoading(true);\r\n api_PUT(`AgendamentoVistoria/PutRequerimentoTransportadorAgendamento`, json_submit)\r\n .then(result => {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Agendamento atualizado com sucesso\", 'success', function () {\r\n if (handleReturn)\r\n handleReturn();\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n {handleReturn && }\r\n \r\n \r\n
\r\n \r\n \r\n

{requerimentoAgendamento && requerimentoAgendamento.categoria_Descricao}

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

CPF/CNPJ: {requerimentoAgendamento && requerimentoAgendamento.cpf_Cnpj}

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

Nome/Fantasia: {requerimentoAgendamento && requerimentoAgendamento.nome_Fantasia}

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

Tipo Requerimento: {requerimentoAgendamento && requerimentoAgendamento.tipoRequerimento}

\r\n \r\n
\r\n {list_agendamentos.map((m, key) => {\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\nfunction ItemAgendaVistoria({ item, handleChangeDataHoraAgendamento, setLoading, handleClickRemoverVeiculo }) {\r\n // Ano (ano atual + próximo ano)\r\n const options_ano = [\r\n { value: moment(new Date()).format('YYYY'), label: moment(new Date()).format('YYYY') },\r\n { value: moment(new Date()).add(1, 'years').format('YYYY'), label: moment(new Date()).add(1, 'years').format('YYYY') }\r\n ];\r\n const [ano, set_ano] = useState(moment(new Date()).format('YYYY'));\r\n const handleAno = (value) => {\r\n set_ano(value);\r\n loadOptionsMes(value);\r\n }\r\n\r\n // Mês\r\n const [options_mes, set_options_mes] = useState([]);\r\n const loadOptionsMes = (_ano) => {\r\n let _meses = [];\r\n let _mes = 1\r\n if (_ano == moment(new Date()).format('YYYY'))\r\n _mes = parseInt(moment(new Date()).format('MM'));\r\n\r\n do {\r\n _meses.push({ value: _mes, label: formateMonthName(_mes) });\r\n _mes++;\r\n } while (12 >= _mes);\r\n set_options_mes(_meses)\r\n }\r\n const [mes, set_mes] = useState(moment(new Date()).format('MM'));\r\n const handleMes = (value) => {\r\n set_mes(value);\r\n set_diaAgendamento(null);\r\n set_horario(null);\r\n handleChangeDataHoraAgendamento(item.requerimentoTransportadorAgendamento_Id, null);\r\n loadOptionsDisponibilidadeAgenda(value);\r\n }\r\n\r\n // Disponibilidade Agenda\r\n const [options_disponibilidadeAgenda, set_options_disponibilidadeAgenda] = useState([]);\r\n const loadOptionsDisponibilidadeAgenda = (_mes, _dia) => {\r\n setLoading(true);\r\n api_GET(`AgendamentoVistoria/GetDisponibilidadeAgenda/${item.requerimentoTransportadorAgendamento_Id}/${ano}/${_mes}`)\r\n .then(result => {\r\n set_options_disponibilidadeAgenda(result.data);\r\n if (_dia && result.data.filter(f => f.dia == _dia).length > 0)\r\n set_options_horario(result.data.filter(f => f.dia == _dia)[0].horarios);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [diaAgendamento, set_diaAgendamento] = useState(null);\r\n const handleDiaAgendamento = (value) => {\r\n set_diaAgendamento(value);\r\n set_options_horario(options_disponibilidadeAgenda.filter(f => f.dia == value)[0].horarios);\r\n set_horario(null);\r\n handleChangeDataHoraAgendamento(item.requerimentoTransportadorAgendamento_Id, null);\r\n }\r\n\r\n // Horarios disponiveis\r\n const [options_horario, set_options_horario] = useState([]);\r\n const [horario, set_horario] = useState(null);\r\n const handleHorario = (value) => {\r\n set_horario(value);\r\n let datahora = formateDateandTimeApi(new Date(ano, mes - 1, diaAgendamento, parseInt(value.split(':')[0]), parseInt(value.split(':')[1])));\r\n handleChangeDataHoraAgendamento(item.requerimentoTransportadorAgendamento_Id, datahora);\r\n }\r\n\r\n const loadDefaultValues = () => {\r\n set_ano(moment(item.dataHora).format('YYYY'));\r\n loadOptionsMes(moment(item.dataHora).format('YYYY'));\r\n set_mes(parseInt(moment(item.dataHora).format('MM')));\r\n set_diaAgendamento(parseInt(moment(item.dataHora).format('DD')));\r\n loadOptionsDisponibilidadeAgenda(parseInt(moment(item.dataHora).format('MM')), parseInt(moment(item.dataHora).format('DD')));\r\n set_horario(moment(item.dataHora).format('HH:mm'));\r\n }\r\n\r\n useEffect(() => {\r\n if (item.dataHora) {\r\n loadDefaultValues();\r\n }\r\n else {\r\n loadOptionsMes(moment(new Date()).format('YYYY'));\r\n }\r\n }, [item]);\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 {item.situacao == \"Agendado\" &&\r\n \r\n
\r\n \r\n \r\n }\r\n
\r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleAno(e.value) }}\r\n value={options_ano.find(obj => obj.value === ano)}\r\n isDisabled={(item.situacao == \"Executado\" || item.situacao == \"Cancelado\") ? true : false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleMes(e.value) }}\r\n value={options_mes.find(obj => obj.value === mes)}\r\n placeholder=\"Selecione\"\r\n isDisabled={(item.situacao == \"Executado\" || item.situacao == \"Cancelado\") ? true : false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n dia}\r\n getOptionValue={({ dia }) => dia}\r\n onChange={(e) => { handleDiaAgendamento(e.dia) }}\r\n value={options_disponibilidadeAgenda.find(obj => obj.dia === diaAgendamento)}\r\n placeholder=\"Selecione\"\r\n isDisabled={(item.situacao == \"Executado\" || item.situacao == \"Cancelado\") ? true : false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n f}\r\n getOptionValue={(f) => f}\r\n name=\"horario\"\r\n onChange={(e) => { handleHorario(e) }}\r\n value={options_horario.filter(obj => obj == horario)}\r\n placeholder=\"Selecione\"\r\n isDisabled={(item.situacao == \"Executado\" || item.situacao == \"Cancelado\") ? true : false}\r\n />\r\n \r\n \r\n \r\n
\r\n \r\n )\r\n}","import React, { useEffect } from \"react\";\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { showMessage } from \"services/message.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function InputPDF(props) {\r\n const { setupSistema } = useAuth();\r\n const inputImage = React.useRef(null);\r\n const [image, setImage] = React.useState(props.image == null ? require(\"assets/img/document.png\") : require(\"assets/img/document-ok.png\"))\r\n const handleImage = (event) => {\r\n event.preventDefault();\r\n if (event.target.files.length) {\r\n const file = event.target.files[0];\r\n const fsize = Math.round((file.size / 1024));\r\n\r\n if (fsize == 0) {\r\n showMessage(\"Aviso\", \"Arquivo selecionado está inválido, ou, o tamanho é insuficiente. Tamanho do aquivo: \" + fsize + \"MB\", 'error', null);\r\n return;\r\n }\r\n if (fsize > 15360) {\r\n showMessage(\"Aviso\", \"O limite máximo permitido para importação é de 15MB.\", 'error', null);\r\n return;\r\n }\r\n if (file.type != \"image/png\" && file.type != \"image/jpeg\" && file.type != \"application/pdf\") {\r\n showMessage(\"Aviso\", \"Formato do arquivo \" + file.type + \" inválido. O arquivo deve estar nos formatos: png/jpeg/pdf.\", 'error', null);\r\n return;\r\n }\r\n\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onloadend = function () {\r\n var base64data = reader.result;\r\n props.handlefile(\r\n {\r\n base64: base64data.replace(\"data:image/png;base64,\", \"\").replace(\"data:image/jpeg;base64,\", \"\").replace(\"data:application/pdf;base64,\", \"\"),\r\n name: uuidv4() + \".pdf\",\r\n documento_Id: props.documento_id\r\n },\r\n function () {\r\n setImage(require(\"assets/img/document-ok.png\"));\r\n }\r\n );\r\n }\r\n }\r\n }\r\n const handleClickImage = (event) => {\r\n event.preventDefault();\r\n inputImage.current.click();\r\n }\r\n\r\n useEffect(() => {\r\n if (props.image != null)\r\n setImage(require(\"assets/img/document-ok.png\"));\r\n else\r\n setImage(require(\"assets/img/document.png\"));\r\n }, [props.image]);\r\n\r\n return (\r\n <>\r\n { handleImage(event); event.target.value = null; }}\r\n />\r\n \r\n
\r\n {(props.image != null && props.image.base64 == null) &&\r\n Abrir Arquivo}\r\n \r\n )\r\n}","import React, { useEffect } from 'react';\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Button, FormGroup, Input, Row, Col, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport InputPDF from \"components/Input/InputPDF\";\r\n\r\n\r\n// services\r\nimport { showMessage, } from \"../../../services/message.js\";\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\nimport { formateDateApi } from \"../../../helpers/formats\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function ConfirmacaoVistoria({ requerimentoTransportadorAgendamento_Id, placa, handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [modal, setModal] = React.useState(false);\r\n const toggleModal = () => {\r\n setModal(!modal);\r\n handleReturn(false);\r\n }\r\n\r\n useEffect(() => {\r\n setModal(true);\r\n }, [requerimentoTransportadorAgendamento_Id]);\r\n\r\n // Arquivo Renavam\r\n const [file_laudo, set_file_laudo] = React.useState(null);\r\n const handleFileLaudo = (_file, callback) => {\r\n if (_file == null) {\r\n showMessage(\"Aviso\", \"Selecione o arquivo para importação.\", 'error', null);\r\n return;\r\n }\r\n set_file_laudo(_file);\r\n callback();\r\n }\r\n\r\n const handleClickAprovacao = (situacao) => {\r\n if (!file_laudo) {\r\n showMessage(\"Aviso\", \"Selecione o arquivo com o Laudo da Vistoria para importação.\", 'error', null);\r\n return;\r\n }\r\n\r\n let data = getValues();\r\n\r\n let json_submit = {\r\n requerimentoTransportadorVistoria_Id: 0,\r\n requerimentoTransportadorAgendamento_Id: requerimentoTransportadorAgendamento_Id,\r\n dataHoraAtualizacao: formateDateApi(new Date()),\r\n situacao: situacao,\r\n observacao: data.observacao,\r\n arquivoLaudoVistoria: file_laudo.name,\r\n arquivoLaudoVistoriaBase64: file_laudo.base64,\r\n usuario_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n api_POST(`AnaliseRequerimento/PostRequerimentoTransportadorVistoria`, json_submit)\r\n .then(result => {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Operação realizada com sucesso!\", 'success', function () {\r\n if (handleReturn)\r\n handleReturn(true);\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n \r\n ×} className=\"md-hd\">\r\n Confirmação de Vistoria\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Laudo da Vistoria

\r\n \r\n \r\n
\r\n \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\n\r\nimport { Row, Col, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// components\r\nimport FullCalendar from '@fullcalendar/react'\r\nimport dayGridPlugin from '@fullcalendar/daygrid'\r\nimport interactionPlugin from \"@fullcalendar/interaction\";\r\nimport listPlugin from '@fullcalendar/list';\r\n\r\n// helpers\r\nimport { formateDateandTimeApi } from \"helpers/formats\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport ConfirmacaoVistoria from \"./ConfirmacaoVistoria\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function CalendarioVistoria({ handleReturn }) {\r\n const { setLoading } = useAuth();\r\n\r\n const [eventosCalendario, set_eventosCalendario] = useState([]);\r\n\r\n const loadEventosCalendario = () => {\r\n setLoading(true);\r\n api_GET(`AgendamentoVistoria/GetFromCalendario`)\r\n .then(result => {\r\n let _eventos = [];\r\n result.data.map(m => {\r\n _eventos.push({\r\n requerimentoTransportadorAgendamento_Id: m.requerimentoTransportadorAgendamento_Id,\r\n placa: m.placa,\r\n id: m.requerimentoTransportadorAgendamento_Id,\r\n start: formateDateandTimeApi(m.dataHora),\r\n title: m.placa,\r\n backgroundColor: \"#6bd098\",\r\n allDay: false\r\n })\r\n })\r\n set_eventosCalendario(_eventos);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadEventosCalendario();\r\n }, []);\r\n\r\n const [evento, set_evento] = useState(null);\r\n const handleEventClick = (e) => {\r\n set_evento(eventosCalendario.filter(f => f.requerimentoTransportadorAgendamento_Id == e.event.id)[0]);\r\n }\r\n\r\n const handleReturnConfirmacaoVistoria = (reload) => {\r\n set_evento(null);\r\n if (reload)\r\n loadEventosCalendario();\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 \r\n \r\n
\r\n {evento != null &&\r\n \r\n \r\n }\r\n \r\n );\r\n};\r\n\r\n","import React from 'react';\r\nimport InputMask from 'react-input-mask';\r\n\r\nclass InputCPF extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nclass InputCNPJ extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nclass InputCEP extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nclass InputHourMinutes extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nclass InputPLACA extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nclass InputTELEFONE extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nclass InputDIAMES extends React.Component {\r\n render() {\r\n return ;\r\n }\r\n}\r\n\r\nexport { \r\n InputCPF,\r\n InputCNPJ,\r\n InputCEP,\r\n InputPLACA,\r\n InputTELEFONE,\r\n InputHourMinutes,\r\n InputDIAMES\r\n};","import { api_GETExternal } from \"services/api_service.js\";\r\n\r\nexport const GetCEPViaCEP = (cep) => {\r\n const promise = new Promise((resolve, reject) => {\r\n api_GETExternal(`https://viacep.com.br/ws/${cep.replace(\"-\", \"\")}/json/`).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n resolve(null);\r\n }\r\n else {\r\n resolve(result);\r\n }\r\n });\r\n });\r\n\r\n return promise;\r\n}","import { formateDateandTime } from 'helpers/formats';\r\nimport React from 'react';\r\nimport { Button, Form, Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap';\r\n\r\nexport default function ModalJustificativa({ visibilidadeModal, setVisibilidadeModal, item }) {\r\n return (\r\n \r\n Histórico de Justificativas\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item !== null && item?.protocoloJustificativas.map((value, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Data da JustificativaObservaçãoUsuário
{formateDateandTime(value.dataJustificativa)}{value.observacao}{value.usuario.nome ?? \"\"}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n )\r\n}","import { api_POST } from \"services/api_service.js\";\r\nimport { showMessage } from \"./message\";\r\n\r\nexport const CancelarRequerimentoByRequerimento = (requerimento_Id, usuario_Id, callback) => {\r\n api_POST(`requerimento/PostCancelaRequerimento/${requerimento_Id}/` + usuario_Id)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\nexport const CancelarRequerimentoByProtocolo = (protocolo_Id, callback) => {\r\n api_POST(`requerimento/CancelaRequerimentoByProtocolo/${protocolo_Id}`)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport MaterialTable from \"material-table\";\r\nimport { useReactToPrint } from 'react-to-print';\r\n\r\n// Reactstrap components\r\nimport { Button } from \"reactstrap\";\r\n\r\n// componentes\r\nimport ModalJustificativa from \"components/ModalJustificativa/ModalJustificativa\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDate, formateDateandTime, transformValueFloattoFormated } from \"../../../helpers/formats\";\r\n\r\n// services\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { CancelarRequerimentoByRequerimento } from \"../../../services/requerimento_service.js\";\r\n\r\n// views\r\nimport FichaRequerimento from \"./FichaRequerimento.jsx\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function FichaTransportador({ history, item, showAcoesGestor }) {\r\n const { session, setLoading, signOut, setupSistema } = useAuth();\r\n\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n\r\n const [list_acoes, set_list_acoes] = React.useState(null);\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const [modal, setModal] = useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n const loadOptionsAcoes = () => {\r\n api_GET('SetupSolicitacao/GetListByProtocolo/' + item.numeroProtocolo)\r\n .then(result => set_list_acoes(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleOpenRequerimento = (rowData) => {\r\n if ((rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\") && showAcoesGestor == false) {\r\n switch (rowData.setupSolicitacaoAcao.acao) {\r\n case \"Novo Cadastro\": {\r\n window.location = '/auth/TransportadorRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n break;\r\n }\r\n case \"Inclusão\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoInclusaoVeiculo',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Exclusão\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoExclusaoVeiculo',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Renovação\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Cancelamento\":\r\n history.push({\r\n pathname: '/auth/RequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração de Identificação\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracaoIdentificacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração de Equipamentos\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracaoEquipamentos',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n }\r\n }\r\n else {\r\n setLoading(true);\r\n api_GET('requerimento/' + rowData.requerimento_Id)\r\n .then(result => set_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleAtualizarContato = () => {\r\n history.push({\r\n pathname: '/auth/AtualizarContato',\r\n state: { protocolo: protocolo }\r\n })\r\n }\r\n\r\n const handleRequerimentoInclusaoVeiculo = (setupSolicitacaoAcao) => {\r\n showQuestion('Atenção', 'Deseja criar um requerimento de inclusão de veículo?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoInclusaoVeiculo',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoExclusaoVeiculo = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => (f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id) &&\r\n !(f.status == \"Cancelado\" || f.status == \"Finalizado\")).length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento de EXCLUSÃO em andamento. Conclua o requerimento ou efetue o cancelamento antes de criar um novo!\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja criar um requerimento de exclusão de veículo?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoExclusaoVeiculo',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoRenovarCadastro = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => (f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id) &&\r\n !(f.status == \"Cancelado\" || f.status == \"Finalizado\")).length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento de RENOVAÇÃO em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja criar um requerimento de renovação de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoCancelamento = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => (f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id) &&\r\n !(f.status == \"Cancelado\" || f.status == \"Finalizado\")).length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento de CANCELAMENTO em andamento. Conclua o requerimento ou efetue o cancelamento antes de criar um novo!\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja criar um requerimento de cancelamento de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/RequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAlterarVeiculo = (setupSolicitacaoAcao) => {\r\n showQuestion('Atenção', 'Deseja criar um requerimento de alteração de veículo?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAlterarCadastro = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => (f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id) &&\r\n !(f.status == \"Cancelado\" || f.status == \"Finalizado\")).length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento de ALTERAÇÃO em andamento. Conclua o requerimento ou efetue o cancelamento antes de criar um novo!\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja criar um requerimento de alteração de ficha de identificação?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracaoIdentificacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAlterarEquipamentos = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => (f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id) &&\r\n !(f.status == \"Cancelado\" || f.status == \"Finalizado\")).length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento de ALTERAÇÃO em andamento. Conclua o requerimento ou efetue o cancelamento antes de criar um novo!\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja criar um requerimento de alteração de equipamentos?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracaoEquipamentos',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleCancelarRequerimento = (_requerimento) => {\r\n showQuestion('Atenção', 'Deseja cancelar este requerimento?', 'question', function (result) {\r\n if (result) {\r\n let usuario_Id = session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : 0;\r\n setLoading(true);\r\n CancelarRequerimentoByRequerimento(_requerimento.requerimento_Id, usuario_Id, handleRetornoCancelaRequerimento);\r\n }\r\n })\r\n }\r\n\r\n const handleRetornoCancelaRequerimento = (result) => {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () { window.location.reload() })\r\n }\r\n\r\n const handleRequerimentoNovoCadastro = () => {\r\n showQuestion('Atenção', 'Deseja criar requerimento de Novo Cadastro?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n\r\n api_POST(`requerimento/PostNovoRequerimento/${protocolo.protocolo_Id}`)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Requerimento criado com sucesso! Preencha seus dados na tela seguinte.\", 'success', function () {\r\n window.location.href = `/auth/TransportadorRequerimento?protocolo=${protocolo.numeroProtocolo}`;\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n\r\n const handleReturnRequerimento = () => {\r\n set_requerimento(null);\r\n }\r\n\r\n useEffect(() => {\r\n set_protocolo(item);\r\n loadOptionsAcoes();\r\n if (item.status == \"Cancelado\") {\r\n showMessage(\"Aviso\", \"Seu cadastro encontra-se como Cancelado. Faça um novo Requerimento.\", 'warning', null);\r\n return;\r\n }\r\n }, []);\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n if (protocolo !== null && protocolo.requerimento.length > 0 && session === null) {\r\n const result = protocolo.requerimento\r\n .filter(x => x.fluxoCadastroEtapaAtual !== null && x.fluxoCadastroEtapaAtual.descricao === \"Aguardando Compensação\"\r\n && x.setupSolicitacaoAcao.valorGuia > 0);\r\n if (result.length > 0) {\r\n showMessage(\"Aviso\", `Os pagamentos dos boletos não devem ser efetuados via Bancos Digitais, pois o Sistema da Prefeitura não reconhece esses pagamentos, e assim o cadastro não será liberado!\r\n Por favor, efetuar os pagamentos pelos bancos: Banco do Brasil, Bancoob, Banco Inter, Banco Original, Bradesco, Caixa, Daycoval, Itaú, Correspondentes Bancários, Rendimento, Safra, Santander.`, \"warning\", null);\r\n }\r\n }\r\n\r\n const handleEmitirGuia = (requerimento_Id) => {\r\n let json_submit = {\r\n requerimento_Id: requerimento_Id,\r\n usuarioEmissao_Id: null,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit).then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload()))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n\r\n return (\r\n <>\r\n {protocolo != null && protocolo.protocoloTransportador != null && protocolo.protocoloTransportador.length > 0 && requerimento == null &&\r\n
\r\n
\r\n {(session == null || (session && session.tipoAcesso == \"Protocolo\")) &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n {!showAcoesGestor &&\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n {protocolo.status != \"Ativo\" &&\r\n
\r\n
\r\n
* Cadastro {protocolo.status} no sistema
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n

{protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao}

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

Empresa

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

Fantasia: {protocolo.protocoloTransportador[0].nome_Fantasia}

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

CNPJ/CPF: {protocolo.cpf_Cnpj}

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

Razão Social: {protocolo.protocoloTransportador[0].razaoSocial}

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

CCM: {protocolo.protocoloTransportador[0].ccm}

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

Número Cadastro: {protocolo.codigoCadastro}

\r\n
\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" &&\r\n
\r\n

Ramo: {protocolo.protocoloTransportador[0].ramoAtividade}

\r\n
}\r\n
\r\n

Tipo de Indústria / Coméricio: {protocolo.protocoloTransportador[0].tipoIndustriaComercio}

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

CEP: {protocolo.protocoloTransportador[0].cep}

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

Endereço: {protocolo.protocoloTransportador[0].logradouro + \", \" + protocolo.protocoloTransportador[0].numEndereco + \", \" + protocolo.protocoloTransportador[0].complemento}

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

Bairro: {protocolo.protocoloTransportador[0].bairro}

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

Cidade: {protocolo.protocoloTransportador[0].cidade}

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

Fim da Vigência: {protocolo.dataFimVigencia != null ? formateDate(protocolo.dataFimVigencia) : \"\"}

\r\n
\r\n {protocolo.codigoSistemaPrefeitura &&\r\n
\r\n

Processo Credenciamento: {protocolo.codigoSistemaPrefeitura}

\r\n
\r\n }\r\n
\r\n {protocolo.protocoloTransportador[0].protocoloTransportadorClasseResiduo != null && protocolo.protocoloTransportador[0].protocoloTransportadorClasseResiduo.length > 0 &&\r\n
\r\n
\r\n

Classe de Resíduos: {protocolo.protocoloTransportador[0].protocoloTransportadorClasseResiduo.map((item, key) => (\r\n

{item.classeResiduo.descricao}
)\r\n )}

\r\n
\r\n
\r\n }\r\n {protocolo != null && protocolo.status != \"Pendente\" && setupSistema && setupSistema.tipoCertificadoTransportador == \"Geral\" &&\r\n
\r\n
\r\n Certificado
\r\n window.open(\"/empty/CertificadoTransportador?protocolo=\" + protocolo.numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x\">\r\n
\r\n
\r\n }\r\n
\r\n
\r\n

Responsável

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{protocolo.protocoloTransportador[0].nomeResponsavel}
\r\n
\r\n
\r\n
{protocolo.email}
\r\n
\r\n
\r\n

Telefone: {protocolo.protocoloTransportador[0].telefone}

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

Celular: {protocolo.protocoloTransportador[0].celular}

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

Veículos

\r\n
\r\n
\r\n
\r\n\r\n {protocolo.protocoloTransportador[0].protocoloTransportadorVeiculo.map((item, key) => (\r\n
\r\n
\r\n
\r\n Placa:

{item.placa}

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

{item.tipo}

\r\n
\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n
\r\n Modalidades: {item.protocoloTransportadorVeiculoModalidades && item.protocoloTransportadorVeiculoModalidades.map((item, key) => (\r\n

{item.modalidade}

))}\r\n
}\r\n
\r\n Marca/Modelo:

{item.marca}

\r\n
\r\n
\r\n Ano Fabricação:

{item.anoFabricacao}

\r\n
\r\n
\r\n Ano Fab. Equip.:

{item.anoFabricacaoEquipamento}

\r\n
\r\n
\r\n Cor:

{item.cor}

\r\n
\r\n
\r\n Tara (kg):

{item.tara}

\r\n
\r\n
\r\n Capacidade (kg):

{item.capacidadeCarga}

\r\n
\r\n
\r\n Volume (m³):

{transformValueFloattoFormated(item.volume)}

\r\n
\r\n
\r\n Renavam:

{item.numeroRenavam}

\r\n
\r\n
\r\n Proprietário ou Locado:

{item.proprietarioOuLocado}

\r\n
\r\n
\r\n Status:

{item.status}

\r\n
\r\n
\r\n Data Vistoria:

{item.dataVistoria != null ? formateDate(item.dataVistoria) : \"\"}

\r\n
\r\n
\r\n Data Validade Vistoria:

{item.dataValidadeVistoria != null ? formateDate(item.dataValidadeVistoria) : \"\"}

\r\n
\r\n {protocolo != null && protocolo.status != \"Pendente\" && setupSistema && setupSistema.tipoCertificadoTransportador == \"Por Veículo\" && item.status == \"Ativo\" &&\r\n
\r\n Carteirinha
\r\n window.open(\"/empty/CarteirinhaVeiculo?protocolo=\" + protocolo.numeroProtocolo + \"&veiculo=\" + item.protocoloTransportadorVeiculo_Id, \"_blank\")} className=\"fas fa-qrcode fa-2x\">\r\n
\r\n }\r\n {item.arquivoRenavam != null &&\r\n
\r\n Arquivo Renavam\r\n
\r\n }\r\n {item.arquivoInspecaoInmetro != null &&\r\n \r\n }\r\n {item.arquivoComprovanteTara != null &&\r\n \r\n }\r\n {item.arquivoComodato != null &&\r\n \r\n }\r\n
\r\n
\r\n
\r\n ))}\r\n\r\n
\r\n
\r\n

Locais de Guarda de Veículo

\r\n
\r\n
\r\n
\r\n\r\n {protocolo.protocoloTransportador[0].protocoloTransportadorLocalGuarda.map((item, key) => (\r\n
\r\n
\r\n
\r\n CEP:

{item.cep}

\r\n
\r\n
\r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

\r\n
\r\n
\r\n Bairro:

{item.bairro}

\r\n
\r\n
\r\n Status:

{item.status}

\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n\r\n \r\n
\r\n
\r\n

Locais de Destinação

\r\n
\r\n
\r\n
\r\n\r\n {protocolo.protocoloTransportador[0].protocoloTransportadorLocalDestino.map((item, key) => (\r\n
\r\n
\r\n
\r\n CNPJ:

{item.cnpj}

\r\n
\r\n
\r\n Fantasia:

{item.fantasia}

\r\n
\r\n
\r\n Razão Social:

{item.razaoSocial}

\r\n
\r\n
\r\n Status:

{item.status}

\r\n
\r\n
\r\n CEP:

{item.cep}

\r\n
\r\n
\r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

\r\n
\r\n
\r\n Bairro:

{item.bairro}

\r\n
\r\n
\r\n Cidade:

{item.cidade}

\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" &&\r\n
\r\n
\r\n

Equipamentos

\r\n
\r\n
\r\n
}\r\n\r\n {protocolo.protocoloTransportador[0].protocoloTransportadorEquipamento.map((item, key) => (\r\n
\r\n
\r\n
\r\n Número:

{item.numeroEquipamento}

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

{item.tipo}

\r\n
\r\n
\r\n Dimensão:

{item.dimensao}

\r\n
\r\n
\r\n Capacidade (m³):

{item.capacidadeVolume}

\r\n
\r\n
\r\n Status:

{item.status}

\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 window.open(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n
\r\n
\r\n

Requerimentos

\r\n
\r\n
\r\n\r\n rowData.fluxoCadastroEtapaAtual != null ? rowData.fluxoCadastroEtapaAtual.tipo : \"\" },\r\n { title: 'Status', field: 'status' },\r\n { title: 'Data Requerimento', field: 'dataCriacaoRequerimento', render: (rowData) => formateDate(rowData.dataCriacaoRequerimento) },\r\n { title: 'Atualizado Em', field: 'dataUltimaAcao', render: (rowData) => formateDateandTime(rowData.dataUltimaAcao) },\r\n { title: 'Data de Aceite', field: 'fluxoCadastroEtapaAtual.tipo', render: (rowData) => rowData.dataAceiteDeclaracao != null ? formateDateandTime(rowData.dataAceiteDeclaracao) : \"\" },\r\n { title: 'Data de Finalização', field: 'dataUltimaAcao', render: (rowData) => rowData.dataUltimaAcao != null && rowData.status === \"Finalizado\" ? formateDateandTime(rowData.dataUltimaAcao) : \"\" },\r\n ]}\r\n data={protocolo.requerimento.sort(function (a, b) { return new Date(b.dataCriacaoRequerimento) - new Date(a.dataCriacaoRequerimento); })}\r\n isLoading={false}\r\n actions={[\r\n {\r\n icon: 'insert_drive_file',\r\n tooltip: 'Visualizar Detalhes',\r\n onClick: (event, rowData) => handleOpenRequerimento(rowData)\r\n },\r\n (rowData) => {\r\n return (rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\" || rowData.status == \"Pendente\") && {\r\n icon: 'cancel',\r\n tooltip: 'Cancelar Requerimento',\r\n onClick: (event, rowData) => handleCancelarRequerimento(rowData)\r\n }\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n
\r\n {modal &&\r\n \r\n }\r\n
\r\n {showAcoesGestor && item?.protocoloJustificativas.length > 0 &&\r\n \r\n }\r\n {showAcoesGestor == false && protocolo.status != \"Cancelado\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Cancelamento\") {\r\n return ();\r\n }\r\n })}\r\n\r\n\r\n {showAcoesGestor == false && (protocolo.status == \"Ativo\" || protocolo.status == \"Pendente\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Alteração\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Alteração de Identificação\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Alteração de Equipamentos\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Inclusão\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Exclusão\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Renovação\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && (protocolo.status == \"Vencido\" || protocolo.status == \"Inativo\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Renovação\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Cancelado\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Novo Cadastro\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Irregular\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Inclusão\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false &&\r\n protocolo?.requerimento?.filter(x =>\r\n x.status == \"Pendente\" &&\r\n x.fluxoCadastroEtapaAtual !== null &&\r\n x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\").length > 0 &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n handleEmitirGuia(protocolo?.requerimento?.filter(x => x.status == \"Pendente\" && x.fluxoCadastroEtapaAtual !== null && x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\")[0].requerimento_Id)}\r\n >\r\n Emitir Guia\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {requerimento != null &&\r\n \r\n }\r\n \r\n )\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\nimport MaterialTable from \"material-table\";\r\n\r\n// Reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\nimport ModalHeader from \"reactstrap/lib/ModalHeader\";\r\n\r\n// componente\r\nimport ModalJustificativa from \"components/ModalJustificativa/ModalJustificativa\";\r\n\r\n// leaflet\r\nimport { MapContainer, TileLayer, Marker, useMap } from 'react-leaflet'\r\nimport L from 'leaflet';\r\n\r\n// style\r\nimport \"assets/css/map.css\";\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDate, formateDateandTime } from \"../../../helpers/formats\";\r\n\r\n// services\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { CancelarRequerimentoByRequerimento } from \"../../../services/requerimento_service.js\";\r\n\r\n// views\r\nimport FichaRequerimento from \"../../../views/Shared/Gerador/FichaRequerimento\"\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function FichaGerador({ history, item, showAcoesGestor }) {\r\n const { session, setLoading, signOut, setupSistema } = useAuth();\r\n\r\n const [protocolo, set_protocolo] = useState(null);\r\n\r\n const [list_acoes, set_list_acoes] = useState(null);\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n const [modal, setModal] = useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n //State para modal do contrato\r\n const [modalContrato, set_modalContrato] = useState(false);\r\n\r\n //State Para adicionar os contratos em cada local\r\n const [listContratoLocal, set_listcontratoLocal] = useState([]);\r\n\r\n const toggleModalContrato = () => set_modalContrato(!modalContrato);\r\n\r\n // Mapa\r\n const [modalMapaOpen, set_modalMapaOpen] = useState(false);\r\n const [centerMap, setCenterMap] = useState([0, 0]);\r\n const [positionMarker, setpositionMarker] = useState([0, 0]);\r\n const iconMarker = new L.Icon({\r\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n iconRetinaUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n });\r\n const ChangeMap = ({ center, zoom }) => {\r\n const mapInstance = useMap();\r\n mapInstance.setView(center, zoom);\r\n return null;\r\n }\r\n const handleModalOpen = (geoLocalizacao) => {\r\n if (geoLocalizacao && geoLocalizacao.split(';').length > 1) {\r\n setCenterMap([geoLocalizacao.split(\";\")[0], geoLocalizacao.split(\";\")[1]]);\r\n setpositionMarker([geoLocalizacao.split(\";\")[0], geoLocalizacao.split(\";\")[1]]);\r\n set_modalMapaOpen(true);\r\n }\r\n }\r\n\r\n const loadOptionsAcoes = () => {\r\n api_GET('SetupSolicitacao/GetListByProtocolo/' + item.numeroProtocolo)\r\n .then(result => set_list_acoes(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleOpenRequerimento = (rowData) => {\r\n if ((rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\") && showAcoesGestor == false) {\r\n switch (rowData.setupSolicitacaoAcao.acao) {\r\n case \"Novo Cadastro\": {\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\" || rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\")\r\n window.location = '/auth/GeradorRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n else\r\n window.location = '/auth/GeradorRSSRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n break;\r\n }\r\n case \"Renovação\":\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\" || rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n }\r\n break;\r\n case \"Inclusão\":\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\" || rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoInclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n }\r\n break;\r\n case \"Exclusão\":\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\" || rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoExclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n }\r\n break;\r\n case \"Cancelamento\":\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\" || rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") {\r\n history.push({\r\n pathname: '/auth/RequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n }\r\n break;\r\n case \"Alteração\":\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\") {\r\n history.push({\r\n pathname: '/auth/GeradorRSSRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n }\r\n if (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" || rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\") {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoAlteracaoCadastro',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n })\r\n }\r\n break;\r\n }\r\n }\r\n else {\r\n setLoading(true);\r\n api_GET('requerimento/' + rowData.requerimento_Id)\r\n .then(result => set_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleAtualizarContato = () => {\r\n history.push({\r\n pathname: '/auth/AtualizarContato',\r\n state: { protocolo: protocolo }\r\n })\r\n }\r\n\r\n const handleRequerimentoRenovarCadastro = (setupSolicitacaoAcao) => {\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\") {\r\n showMessage(\"Aviso\", \"Este tipo de requerimento não pode ser realizado para Geradores de Resíduos de Serviço de Saúde\", 'error', null);\r\n return;\r\n }\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de renovação de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAlterarCadastro = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de alteração de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/GeradorRSSRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAlterarCadastroRCC_RGG = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de alteração de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoAlteracaoCadastro',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoCancelamento = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de cancelamento de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/RequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoInclusaoLocalColeta = (setupSolicitacaoAcao) => {\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\") {\r\n showMessage(\"Aviso\", \"Este tipo de requerimento não pode ser realizado para Geradores de Resíduos de Serviço de Saúde\", 'error', null);\r\n return;\r\n }\r\n\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de inclusão de local de coleta?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoInclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoExclusaoLocalColeta = (setupSolicitacaoAcao) => {\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\") {\r\n showMessage(\"Aviso\", \"Este tipo de requerimento não pode ser realizado para Geradores de Resíduos de Serviço de Saúde\", 'error', null);\r\n return;\r\n }\r\n\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de exclusão de local de coleta?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoExclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleCancelarRequerimento = (_requerimento) => {\r\n showQuestion('Atenção', 'Quer cancelar este requerimento?', 'question', function (result) {\r\n if (result) {\r\n let usuario_Id = session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : 0;\r\n setLoading(true);\r\n CancelarRequerimentoByRequerimento(_requerimento.requerimento_Id, usuario_Id, handleRetornoCancelaRequerimento);\r\n }\r\n })\r\n }\r\n const handleRetornoCancelaRequerimento = (result) => {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () { window.location.reload() })\r\n }\r\n\r\n const handleRequerimentoNovoCadastro = (setupSolicitacaoAcao) => {\r\n showQuestion('Atenção', 'Deseja criar requerimento de Novo Cadastro?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n\r\n api_POST(`requerimento/PostNovoRequerimento/${protocolo.protocolo_Id}`)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Requerimento criado com sucesso! Preencha seus dados na tela seguinte.\", 'success', function () {\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\")\r\n window.location.href = `/auth/GeradorRSSRequerimento?protocolo=${protocolo.numeroProtocolo}`;\r\n else\r\n window.location.href = `/auth/GeradorRequerimento?protocolo=${protocolo.numeroProtocolo}`;\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n\r\n const openArquivoContrata = (rowData) => {\r\n const linkSource = `data:application/pdf;base64,${rowData.arquivoContrato}`;\r\n const downloadLink = document.createElement(\"a\");\r\n const fileName = \"ContratoLocal.pdf\";\r\n downloadLink.href = linkSource;\r\n downloadLink.download = fileName;\r\n downloadLink.click();\r\n }\r\n\r\n\r\n const handleReturnRequerimento = () => {\r\n set_requerimento(null);\r\n }\r\n\r\n const handleEmitirGuia = (requerimento_Id) => {\r\n let json_submit = {\r\n requerimento_Id: requerimento_Id,\r\n usuarioEmissao_Id: null,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload()))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n set_protocolo(item);\r\n loadOptionsAcoes();\r\n }, []);\r\n\r\n if (protocolo !== null && protocolo.requerimento.length > 0 && (session == null || (session && session.tipoAcesso == \"Protocolo\"))) {\r\n const result = protocolo.requerimento\r\n .filter(x => x.fluxoCadastroEtapaAtual !== null && x.fluxoCadastroEtapaAtual.descricao === \"Aguardando Compensação\"\r\n && x.setupSolicitacaoAcao.valorGuia > 0);\r\n if (result.length > 0) {\r\n showMessage(\"Aviso\", `Os pagamentos dos boletos não devem ser efetuados via Bancos Digitais, pois o Sistema da Prefeitura não reconhece esses pagamentos, e assim o cadastro não será liberado!\r\n Por favor, efetuar os pagamentos pelos bancos: Banco do Brasil, Bancoob, Banco Inter, Banco Original, Bradesco, Caixa, Daycoval, Itaú, Correspondentes Bancários, Rendimento, Safra, Santander.`, \"warning\", null);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {session && session.tipoAcesso == \"Protocolo\" &&\r\n
\r\n \r\n
\r\n }\r\n {!showAcoesGestor &&\r\n
\r\n \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 window.open(setupSistema?.caminhoVirtual + rowData.arquivoContrato, '_blank')\r\n }]}\r\n isLoading={false}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {protocolo != null && requerimento == null &&\r\n
\r\n \r\n \r\n {protocolo.status != \"Ativo\" &&\r\n \r\n \r\n
* Cadastro {protocolo.status} no sistema
\r\n \r\n
\r\n }\r\n \r\n \r\n

{protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao}

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

Empresa

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

Fantasia: {protocolo.protocoloGerador[0].nome_Fantasia}

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

CNPJ/CPF: {protocolo.cpf_Cnpj}

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

Razão Social: {protocolo.protocoloGerador[0].razaoSocial}

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

CCM: {protocolo.protocoloGerador[0].ccm}

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

Número Cadastro: {protocolo.codigoCadastro}

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

Ramo: {protocolo.protocoloGerador[0].ramoAtividade}

\r\n \r\n {(protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.segmento != \"Grande Gerador\" &&\r\n protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\") &&\r\n \r\n

Tipo de Indústria / Coméricio: {protocolo.protocoloGerador[0].tipoIndustriaComercio}

\r\n \r\n }\r\n \r\n

CEP: {protocolo.protocoloGerador[0].cep}

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

Endereço: {protocolo.protocoloGerador[0].logradouro + \", \" + protocolo.protocoloGerador[0].numEndereco + \", \" + protocolo.protocoloGerador[0].complemento}

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

Bairro: {protocolo.protocoloGerador[0].bairro}

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

Cidade: {protocolo.protocoloGerador[0].cidade}

\r\n \r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla !== \"RSS\" &&\r\n \r\n

Fim da Vigência: {protocolo.dataFimVigencia != null ? formateDate(protocolo.dataFimVigencia) : \"\"}

\r\n \r\n }\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n \r\n

Tipo Estabelecimento: {protocolo.protocoloGerador[0].tipoEstabelecimento != null ? protocolo.protocoloGerador[0].tipoEstabelecimento.descricao : \"\"}

\r\n \r\n }\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n protocolo.protocoloGerador[0].tipoEstabelecimento != null &&\r\n protocolo.protocoloGerador[0].tipoEstabelecimento.descricao == \"HOSPITAL\" &&\r\n \r\n

Quantidade Leitos Ativos: {protocolo.protocoloGerador[0].quantidadeLeitosAtivos}

\r\n \r\n }\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n protocolo.protocoloGerador[0].tipoEstabelecimento != null &&\r\n protocolo.protocoloGerador[0].tipoEstabelecimento.descricao == \"HOSPITAL\" &&\r\n \r\n

Quantidade Leitos Inativos: {protocolo.protocoloGerador[0].quantidadeLeitosInativos}

\r\n \r\n }\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n \r\n

Classificação Estabelecimento: {protocolo.protocoloGerador[0].classificacaoEstabelecimento != null ? protocolo.protocoloGerador[0].classificacaoEstabelecimento.descricao : \"\"}

\r\n \r\n }\r\n {protocolo != null && protocolo.status != \"Pendente\" &&\r\n (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RCC\" || protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\") &&\r\n <>\r\n \r\n Carteirinha
\r\n window.open(\"/empty/CarteirinhaGG?protocolo=\" + protocolo.numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x text-info\">\r\n \r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n \r\n QRCodes Coleta
\r\n window.open(\"/empty/QrCodelocalidadeRGG?protocolo=\" + protocolo.numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x text-info\">\r\n \r\n }\r\n \r\n }\r\n {protocolo != null && protocolo.status != \"Pendente\" &&\r\n protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n \r\n Certificado
\r\n window.open(\"/empty/CertificadoRSS?protocolo=\" + protocolo.numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x text-info\">\r\n \r\n \r\n }\r\n
\r\n {protocolo != null &&\r\n protocolo.status != \"Pendente\" &&\r\n protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" && protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.segmento == \"Grande Gerador\" &&\r\n \r\n \r\n

Dados Adicionais

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

Número de Colaboradores: {protocolo.protocoloGerador[0].numeroColaboradores ?? \"\"}

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

Consumo mensal de Energia: {protocolo.protocoloGerador[0].consumoMensalAgua ?? \"\"}

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

Consumo Mensal de Água: {protocolo.protocoloGerador[0].consumoMensalAgua ?? \"\"}

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

Local do Empreendimento: {protocolo.protocoloGerador[0].localEmpreendimento ?? \"\"}

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

Área total (m²): {protocolo.protocoloGerador[0]?.areaTotal?.toString()?.replace(\".\", \",\") ?? \"\"}

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

Área Construída (m²): {protocolo.protocoloGerador[0].areaConstruida?.toString()?.replace(\".\", \",\") ?? \"\"}

\r\n \r\n
\r\n }\r\n \r\n \r\n

Responsável

\r\n
\r\n \r\n
\r\n \r\n \r\n
{protocolo.protocoloGerador[0].nomeResponsavel}
\r\n \r\n \r\n
{protocolo.email}
\r\n \r\n \r\n

Telefone: {protocolo.protocoloGerador[0].telefone}

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

Celular: {protocolo.protocoloGerador[0].celular}

\r\n \r\n
\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RSS\" &&\r\n <>\r\n \r\n \r\n

Responsável Técnico

\r\n
\r\n \r\n
\r\n \r\n \r\n
{protocolo.protocoloGerador[0].nomeResponsavelTecnico}
\r\n \r\n \r\n

Tipo Documento: {protocolo.protocoloGerador[0].tipoDocumentoResponsavelTecnico}

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

Número Documento: {protocolo.protocoloGerador[0].numeroDocumentoResponsavelTecnico}

\r\n \r\n \r\n {protocolo.protocoloGerador[0].arquivoCertificadoResponsavelTecnico != null &&\r\n Certificado Curso\r\n }\r\n \r\n
\r\n \r\n }\r\n {protocolo.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos != null && protocolo.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos.length > 0 &&\r\n \r\n \r\n

Caracterização dos Resíduos

\r\n
\r\n \r\n \r\n \r\n {protocolo.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos.filter(x => !!x.caracterizacaoResiduosConama.grupo).length > 0 &&\r\n \r\n Grupo\r\n \r\n }\r\n !!x.caracterizacaoResiduosConama.grupo).length > 0 ? \"1\" : \"2\"}>\r\n Código\r\n \r\n {protocolo.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos.filter(x => !!x.caracterizacaoResiduosConama.tipo).length > 0 &&\r\n \r\n Tipo\r\n \r\n }\r\n \r\n Descrição\r\n \r\n \r\n Quantidade\r\n \r\n \r\n {protocolo.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos.map((item, key) => (\r\n
\r\n \r\n {item.caracterizacaoResiduosConama.grupo &&\r\n \r\n

{item.caracterizacaoResiduosConama.grupo}

\r\n \r\n }\r\n \r\n

{item.caracterizacaoResiduosConama.codigo}

\r\n \r\n {item.caracterizacaoResiduosConama.tipo &&\r\n \r\n

{item.caracterizacaoResiduosConama.tipo}

\r\n \r\n }\r\n \r\n

{item.caracterizacaoResiduosConama.descricao}

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

{item.quantidadeEstimada} {protocolo.protocoloGerador[0].classificacaoEstabelecimento?.categoria == \"RSS\" ? 'Kg/dia' : 'Litros/dia'}

\r\n \r\n
\r\n
\r\n
\r\n ))}\r\n \r\n
\r\n }\r\n\r\n {protocolo.protocoloGerador[0].protocoloGeradorLocaisArmazenagem != null && protocolo.protocoloGerador[0].protocoloGeradorLocaisArmazenagem.length > 0 &&\r\n \r\n \r\n

Locais de Armazenagem

\r\n
\r\n \r\n \r\n {protocolo.protocoloGerador[0].protocoloGeradorLocaisArmazenagem.map((item, key) => (\r\n
\r\n \r\n \r\n CEP:

{item.cep}

\r\n \r\n \r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

\r\n \r\n \r\n Bairro:

{item.bairro}

\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n ))}\r\n \r\n
\r\n }\r\n\r\n \r\n \r\n

Locais de Coleta

\r\n
\r\n \r\n
\r\n {protocolo.protocoloGerador[0].protocoloGeradorLocais.map((item, key) => (\r\n
\r\n \r\n \r\n CEP:

{item.cep}

\r\n \r\n \r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

\r\n \r\n \r\n Bairro:

{item.bairro}

\r\n \r\n \r\n {item.geoLocalizacao != null &&\r\n \r\n }\r\n {item?.protocoloGeradorLocalContratos?.length > 0 &&\r\n {\r\n set_listcontratoLocal(item.protocoloGeradorLocalContratos);\r\n set_modalContrato(true);\r\n }}\r\n >\r\n Contratos\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n ))}\r\n\r\n {protocolo.protocoloGerador[0].protocoloGeradorClasseResiduos.map((item, key) => (\r\n
\r\n \r\n \r\n

Classes de Resíduo

\r\n
\r\n \r\n
\r\n \r\n \r\n Classe:

{item.classeResiduo.descricao}

\r\n \r\n \r\n Quantidade Estimada (Kg):

{item.quantidadeEstimada}

\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 window.open(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n
\r\n \r\n \r\n

Requerimentos

\r\n
\r\n \r\n\r\n \r\n rowData.fluxoCadastroEtapaAtual != null\r\n ? (rowData.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\"\r\n && rowData.fluxoCadastroEtapaAtual.tipo == \"Aguardando Compensação\"\r\n && rowData.status == \"Finalizado\"\r\n ? \"Finalizado\"\r\n : rowData.fluxoCadastroEtapaAtual.tipo)\r\n : \"\"\r\n },\r\n { title: 'Status', field: 'status' },\r\n { title: 'Data Requerimento', field: 'dataCriacaoRequerimento', render: (rowData) => formateDate(rowData.dataCriacaoRequerimento) },\r\n { title: 'Atualizado Em', field: 'dataUltimaAcao', render: (rowData) => formateDateandTime(rowData.dataUltimaAcao) },\r\n { title: 'Data de Aceite', field: 'dataAceiteDeclaracao', render: (rowData) => rowData.dataAceiteDeclaracao != null ? formateDateandTime(rowData.dataAceiteDeclaracao) : \"\" },\r\n { title: 'Data de Finalização', field: 'dataUltimaAcao', render: (rowData) => rowData.dataUltimaAcao != null && rowData.status === \"Finalizado\" ? formateDateandTime(rowData.dataUltimaAcao) : \"\" },\r\n ]}\r\n data={protocolo.requerimento.sort(function (a, b) { return new Date(b.dataCriacaoRequerimento) - new Date(a.dataCriacaoRequerimento); })}\r\n isLoading={false}\r\n options={{\r\n filtering: false,\r\n exportButton: true\r\n }}\r\n actions={[\r\n {\r\n icon: 'insert_drive_file',\r\n tooltip: 'Visualizar Detalhes',\r\n onClick: (event, rowData) => handleOpenRequerimento(rowData)\r\n },\r\n (rowData) => {\r\n return (rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\" || rowData.status == \"Pendente\") && {\r\n icon: 'cancel',\r\n tooltip: 'Cancelar Requerimento',\r\n onClick: (event, rowData) => handleCancelarRequerimento(rowData)\r\n }\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n
\r\n {modal &&\r\n \r\n }\r\n
\r\n {showAcoesGestor && item?.protocoloJustificativas.length > 0 &&\r\n \r\n }\r\n {showAcoesGestor == false && (protocolo.status == \"Ativo\" || protocolo.status == \"Pendente\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Inclusão\" && (prop.setupSolicitacao.categoria.sigla == \"RCC\" || prop.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Exclusão\" && (prop.setupSolicitacao.categoria.sigla == \"RCC\" || prop.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Renovação\" && (prop.setupSolicitacao.categoria.sigla == \"RCC\" || prop.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Cancelamento\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && (protocolo.status == \"Vencido\" || protocolo.status == \"Inativo\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Renovação\" && (prop.setupSolicitacao.categoria.sigla == \"RCC\" || prop.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Ativo\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Alteração\" && (prop.setupSolicitacao.categoria.sigla == \"RSS\")) {\r\n return ();\r\n }\r\n if (prop.acao == \"Alteração\" && (prop.setupSolicitacao.categoria.sigla == \"RGG\" || prop.setupSolicitacao.categoria.sigla == \"RCC\")) {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Cancelado\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Novo Cadastro\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false &&\r\n protocolo?.requerimento?.filter(x =>\r\n x.status == \"Pendente\" &&\r\n x.fluxoCadastroEtapaAtual !== null &&\r\n x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\").length > 0 &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n handleEmitirGuia(protocolo?.requerimento?.filter(x => x.status == \"Pendente\" && x.fluxoCadastroEtapaAtual !== null && x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\")[0].requerimento_Id)}\r\n >\r\n Emitir Guia\r\n \r\n }\r\n
\r\n
\r\n
\r\n\r\n set_modalMapaOpen(false)} zIndex=\"9999999\">\r\n \r\n
Localização no Mapa
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n }\r\n {requerimento != null &&\r\n \r\n }\r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport MaterialTable from \"material-table\";\r\n\r\n// Reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\n// componente\r\nimport ModalJustificativa from \"components/ModalJustificativa/ModalJustificativa\";\r\n\r\n// leaflet\r\nimport { MapContainer, TileLayer, Marker, useMap } from 'react-leaflet'\r\nimport L from 'leaflet';\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDate, formateDateandTime } from \"../../../helpers/formats\";\r\n\r\n// services\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { CancelarRequerimentoByRequerimento } from \"../../../services/requerimento_service.js\";\r\n\r\n// views\r\nimport FichaRequerimento from \"views/Shared/Destino/FichaRequerimento\"\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function FichaDestino({ history, item, showAcoesGestor }) {\r\n const { session, setLoading, signOut, setupSistema } = useAuth();\r\n\r\n const [protocolo, set_protocolo] = useState(null);\r\n\r\n const [list_acoes, set_list_acoes] = useState(null);\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n const [modal, setModal] = useState(false);\r\n\r\n const toggleModal = () => setModal(!modal);\r\n\r\n // Mapa\r\n const [modalMapaOpen, set_modalMapaOpen] = useState(false);\r\n const [centerMap, setCenterMap] = useState([0, 0]);\r\n const [positionMarker, setpositionMarker] = useState([0, 0]);\r\n const iconMarker = new L.Icon({\r\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n iconRetinaUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n });\r\n const ChangeMap = ({ center, zoom }) => {\r\n const mapInstance = useMap();\r\n mapInstance.setView(center, zoom);\r\n return null;\r\n }\r\n const handleModalOpen = (geoLocalizacao) => {\r\n if (geoLocalizacao && geoLocalizacao.split(';').length > 1) {\r\n setCenterMap([geoLocalizacao.split(\";\")[0], geoLocalizacao.split(\";\")[1]]);\r\n setpositionMarker([geoLocalizacao.split(\";\")[0], geoLocalizacao.split(\";\")[1]]);\r\n set_modalMapaOpen(true);\r\n }\r\n }\r\n\r\n const loadOptionsAcoes = () => {\r\n api_GET('SetupSolicitacao/GetListByProtocolo/' + item.numeroProtocolo)\r\n .then(result => set_list_acoes(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleOpenRequerimento = (rowData) => {\r\n if ((rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\") && showAcoesGestor == false) {\r\n switch (rowData.setupSolicitacaoAcao.acao) {\r\n case \"Novo Cadastro\": {\r\n window.location = '/auth/DestinoRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n break;\r\n }\r\n case \"Renovação\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Inclusão\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoInclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Exclusão\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoExclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Cancelamento\":\r\n history.push({\r\n pathname: '/auth/RequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Aumento de Capacidade\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoAumentoCapacidade',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n }\r\n }\r\n else {\r\n setLoading(true);\r\n api_GET('requerimento/' + rowData.requerimento_Id)\r\n .then(result => set_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleAtualizarContato = () => {\r\n history.push({\r\n pathname: '/auth/AtualizarContato',\r\n state: { protocolo: protocolo }\r\n })\r\n }\r\n\r\n const handleRequerimentoRenovarCadastro = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de renovação de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAlterarCadastro = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de alteração de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoAumentoCapacidade = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de alteração de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoAumentoCapacidade',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoCancelamento = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de cancelamento de cadastro?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/RequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoInclusaoLocal = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de inclusão de local de destinação?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoInclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n });\r\n }\r\n })\r\n }\r\n\r\n const handleRequerimentoExclusaoLocal = (setupSolicitacaoAcao) => {\r\n if (protocolo.requerimento.filter(f => f.status == \"Em Andamento\").length > 0) {\r\n showMessage(\"Aviso\", \"Você possui um Requerimento em andamento. Conclua o requerimento ou efetue o cancelamento antes de iniciar um novo requerimento!\", 'error', null);\r\n return;\r\n }\r\n showQuestion('Atenção', 'Quer criar um requerimento de exclusão de local de destinação?', 'question', function (result) {\r\n if (result) {\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoExclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: setupSolicitacaoAcao }\r\n })\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n const handleCancelarRequerimento = (_requerimento) => {\r\n showQuestion('Atenção', 'Quer cancelar este requerimento?', 'question', function (result) {\r\n if (result) {\r\n let usuario_Id = session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : 0;\r\n setLoading(true);\r\n CancelarRequerimentoByRequerimento(_requerimento.requerimento_Id, usuario_Id, handleRetornoCancelaRequerimento);\r\n }\r\n })\r\n }\r\n\r\n const handleRetornoCancelaRequerimento = (result) => {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () {\r\n window.location.reload();\r\n })\r\n }\r\n\r\n const handleRequerimentoNovoCadastro = (setupSolicitacaoAcao) => {\r\n showQuestion('Atenção', 'Deseja criar requerimento de Novo Cadastro?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n\r\n api_POST(`requerimento/PostNovoRequerimento/${protocolo.protocolo_Id}`)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Requerimento criado com sucesso! Preencha seus dados na tela seguinte.\", 'success', function () {\r\n window.location.href = `/auth/DestinoRequerimento?protocolo=${protocolo.numeroProtocolo}`;\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n\r\n const handleReturnRequerimento = () => {\r\n set_requerimento(null);\r\n }\r\n\r\n const handleEmitirGuia = (requerimento_Id) => {\r\n let json_submit = {\r\n requerimento_Id: requerimento_Id,\r\n usuarioEmissao_Id: null,\r\n }\r\n\r\n setLoading(true);\r\n api_POST('AnaliseRequerimento/PostRequerimentoCobranca', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', window.location.reload()))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n set_protocolo(item);\r\n loadOptionsAcoes();\r\n }, []);\r\n\r\n if (protocolo !== null && protocolo.requerimento.length > 0 && (session == null || (session && session.tipoAcesso == \"Protocolo\"))) {\r\n const result = protocolo.requerimento\r\n .filter(x => x.fluxoCadastroEtapaAtual !== null && x.fluxoCadastroEtapaAtual.descricao === \"Aguardando Compensação\"\r\n && x.setupSolicitacaoAcao.valorGuia > 0);\r\n if (result.length > 0) {\r\n showMessage(\"Aviso\", `Os pagamentos dos boletos não devem ser efetuados via Bancos Digitais, pois o Sistema da Prefeitura não reconhece esses pagamentos, e assim o cadastro não será liberado!\r\n Por favor, efetuar os pagamentos pelos bancos: Banco do Brasil, Bancoob, Banco Inter, Banco Original, Bradesco, Caixa, Daycoval, Itaú, Correspondentes Bancários, Rendimento, Safra, Santander.`, \"warning\", null);\r\n }\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n {session && session.tipoAcesso == \"Protocolo\" &&\r\n
\r\n \r\n
\r\n }\r\n {!showAcoesGestor &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n {protocolo != null && requerimento == null &&\r\n
\r\n \r\n \r\n {protocolo.status != \"Ativo\" &&\r\n \r\n \r\n
* Cadastro {protocolo.status} no sistema
\r\n \r\n
\r\n }\r\n \r\n \r\n

{protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao}

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

Empresa

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

Fantasia: {protocolo.protocoloDestino[0].nome_Fantasia}

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

CNPJ/CPF: {protocolo.cpf_Cnpj}

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

Razão Social: {protocolo.protocoloDestino[0].razaoSocial}

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

IM: {protocolo.protocoloDestino[0].inscricaoMunicipal}

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

CCM: {protocolo.protocoloDestino[0].ccm}

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

Número Cadastro: {protocolo.codigoCadastro}

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

CEP: {protocolo.protocoloDestino[0].cep}

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

Endereço: {protocolo.protocoloDestino[0].logradouro + \", \" + protocolo.protocoloDestino[0].numEndereco + \", \" + protocolo.protocoloDestino[0].complemento}

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

Bairro: {protocolo.protocoloDestino[0].bairro}

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

Cidade: {protocolo.protocoloDestino[0].cidade}

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

Licença de Operação: {protocolo.protocoloDestino[0].numeroLicensaOperacao}

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

Tipo de Destino: {protocolo.protocoloDestino[0].tipoDestino}

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

Fim da Vigência: {protocolo.dataFimVigencia != null ? formateDate(protocolo.dataFimVigencia) : \"\"}

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

Bloquear Recebimento de CTR por capacidade excedida : {protocolo.protocoloDestino[0].bloquearRecebimentoCapacidadeExcedida ? \"Sim\" : \"Não\"}

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

Requer comprovar destinação na emissão da CTR : {protocolo.protocoloDestino[0].requerComprovacaoDestinacao ? \"Sim\" : \"Não\"}

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

Observações : {protocolo.protocoloDestino[0].observacaoManutencao}

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

Responsável

\r\n
\r\n \r\n
\r\n \r\n \r\n
{protocolo.protocoloDestino[0].nomeResponsavel}
\r\n \r\n \r\n
{protocolo.email}
\r\n \r\n \r\n

Telefone: {protocolo.protocoloDestino[0].telefone}

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

Celular: {protocolo.protocoloDestino[0].celular}

\r\n \r\n
\r\n \r\n {protocolo != null && protocolo.status != \"Pendente\" && protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n \r\n Carteirinha
\r\n window.open(\"/empty/CateirinhaDestinoRGG?protocolo=\" + protocolo.numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x text-info\">\r\n \r\n }\r\n
\r\n \r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" &&\r\n \r\n

Locais de Destinação

\r\n
\r\n }\r\n
\r\n {protocolo.protocoloDestino[0].protocoloDestinoLocais.map((item, key) => (\r\n
\r\n \r\n \r\n Identificação:

{item.identificacao}

\r\n \r\n \r\n Status:

{item.status}

\r\n \r\n \r\n CEP:

{item.cep}

\r\n \r\n \r\n Endereço:

{item.logradouro + \", \" + item.numEndereco}

\r\n \r\n \r\n Bairro:

{item.bairro}

\r\n \r\n \r\n Capacidade:

{item.capacidade + \" m³\"}

\r\n \r\n \r\n Observação:

{item.observacao}

\r\n \r\n {item.geoLocalizacao != null &&\r\n \r\n \r\n \r\n }\r\n {protocolo != null && protocolo.status != \"Pendente\" &&\r\n \r\n Carteirinha
\r\n window.open(\"/empty/CertificadoDestino?protocolo=\" + protocolo.numeroProtocolo + \"&local=\" + item.protocoloDestinoLocal_Id, \"_blank\")} className=\"fas fa-qrcode fa-2x text-info\">\r\n \r\n\r\n }\r\n
\r\n
\r\n
\r\n ))}\r\n \r\n \r\n

Classes de Resíduo

\r\n
\r\n \r\n \r\n {protocolo.protocoloDestino[0].protocoloDestinoClasseResiduos.map((item, key) => (\r\n
{item.classeResiduo.descricao}
\r\n ))}\r\n \r\n
\r\n {protocolo.protocoloDestino[0].protocoloDestinoTransportadores.length > 0 &&\r\n \r\n \r\n

Transportadores Liberadores

\r\n
\r\n \r\n \r\n {protocolo.protocoloDestino[0].protocoloDestinoTransportadores.map((item, key) => (\r\n
{item.protocoloTransportador.nome_Fantasia}
\r\n ))}\r\n \r\n
\r\n }\r\n \r\n \r\n

Documentos

\r\n
\r\n \r\n\r\n window.open(setupSistema?.caminhoVirtual + rowData.arquivo, '_blank')\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n
\r\n \r\n \r\n

Requerimentos

\r\n
\r\n \r\n\r\n \r\n rowData.fluxoCadastroEtapaAtual != null\r\n ? rowData.fluxoCadastroEtapaAtual.tipo\r\n : \"\"\r\n },\r\n { title: 'Status', field: 'status' },\r\n { title: 'Data Requerimento', field: 'dataCriacaoRequerimento', render: (rowData) => formateDate(rowData.dataCriacaoRequerimento) },\r\n { title: 'Atualizado Em', field: 'dataUltimaAcao', render: (rowData) => formateDateandTime(rowData.dataUltimaAcao) },\r\n { title: 'Data de Aceite', field: 'dataAceiteDeclaracao', render: (rowData) => rowData.dataAceiteDeclaracao != null ? formateDateandTime(rowData.dataAceiteDeclaracao) : \"\" },\r\n { title: 'Data de Finalização', field: 'dataUltimaAcao', render: (rowData) => rowData.dataUltimaAcao != null && rowData.status === \"Finalizado\" ? formateDateandTime(rowData.dataUltimaAcao) : \"\" },\r\n ]}\r\n data={protocolo.requerimento.sort(function (a, b) { return new Date(b.dataCriacaoRequerimento) - new Date(a.dataCriacaoRequerimento); })}\r\n isLoading={false}\r\n options={{\r\n filtering: false,\r\n exportButton: true\r\n }}\r\n actions={[\r\n {\r\n icon: 'insert_drive_file',\r\n tooltip: 'Visualizar Detalhes',\r\n onClick: (event, rowData) => handleOpenRequerimento(rowData)\r\n },\r\n (rowData) => {\r\n return (rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\" || rowData.status == \"Pendente\") && {\r\n icon: 'cancel',\r\n tooltip: 'Cancelar Requerimento',\r\n onClick: (event, rowData) => handleCancelarRequerimento(rowData)\r\n }\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n
\r\n
\r\n {modal &&\r\n \r\n }\r\n {showAcoesGestor && item?.protocoloJustificativas.length > 0 &&\r\n \r\n }\r\n {showAcoesGestor == false && (protocolo.status == \"Ativo\" || protocolo.status == \"Pendente\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Inclusão\" && prop.setupSolicitacao.categoria.sigla == \"RCC\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Exclusão\" && prop.setupSolicitacao.categoria.sigla == \"RCC\") {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Renovação\" && (prop.setupSolicitacao.categoria.sigla == \"RCC\" || prop.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Cancelamento\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && (protocolo.status == \"Vencido\" || protocolo.status == \"Inativo\") && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Renovação\" && (prop.setupSolicitacao.categoria.sigla == \"RCC\" || prop.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n return ();\r\n }\r\n\r\n if (prop.acao == \"Cancelamento\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Ativo\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Alteração\") {\r\n if (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.classificacao == \"Banco Manejo\")\r\n return ();\r\n else\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Ativo\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Aumento de Capacidade\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false && protocolo.status == \"Cancelado\" && list_acoes != null && list_acoes.map((prop, key) => {\r\n if (prop.acao == \"Novo Cadastro\") {\r\n return ();\r\n }\r\n })}\r\n\r\n {showAcoesGestor == false &&\r\n protocolo?.requerimento?.filter(x =>\r\n x.status == \"Pendente\" &&\r\n x.fluxoCadastroEtapaAtual !== null &&\r\n x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\").length > 0 &&\r\n setupSistema && setupSistema.metodologiaCobranca == \"Integração PRODAM\" &&\r\n handleEmitirGuia(protocolo?.requerimento?.filter(x => x.status == \"Pendente\" && x.fluxoCadastroEtapaAtual !== null && x.fluxoCadastroEtapaAtual.tipo?.toUpperCase() == \"EMISSÃO DE GUIA\")[0].requerimento_Id)}\r\n >\r\n Emitir Guia\r\n \r\n }\r\n
\r\n
\r\n
\r\n set_modalMapaOpen(false)} zIndex=\"9999999\">\r\n \r\n
Localização no Mapa
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n {requerimento != null &&\r\n \r\n }\r\n \r\n )\r\n}","import { api_GET } from \"services/api_service.js\";\r\nimport { showMessage } from \"services/message\";\r\n\r\nconst ValidaEmail = (email, callback) => {\r\n api_GET('email/ValidaEmail/' + email)\r\n .then(result => { callback(result, email) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\nexport {\r\n ValidaEmail\r\n}","import moment from \"moment\";\r\nimport { formateDate } from \"./formats.js\";\r\n\r\nexport function isValidCNPJ(value) {\r\n \r\n value = value.replace(/[^\\d]+/g,'');\r\n \r\n if(value == '') return false;\r\n \r\n if (value.length != 14)\r\n return false;\r\n \r\n // Elimina CNPJs invalidos conhecidos\r\n if (value == \"00000000000000\" || \r\n value == \"11111111111111\" || \r\n value == \"22222222222222\" || \r\n value == \"33333333333333\" || \r\n value == \"44444444444444\" || \r\n value == \"55555555555555\" || \r\n value == \"66666666666666\" || \r\n value == \"77777777777777\" || \r\n value == \"88888888888888\" || \r\n value == \"99999999999999\")\r\n return false;\r\n \r\n if (!value) return false\r\n\r\n // Aceita receber o valor como string, número ou array com todos os dígitos\r\n const validTypes =\r\n typeof value === 'string' || Number.isInteger(value) || Array.isArray(value)\r\n \r\n // Elimina valor em formato inválido\r\n if (!validTypes) return false\r\n \r\n // Guarda um array com todos os dígitos do valor\r\n const match = value.toString().match(/\\d/g)\r\n const numbers = Array.isArray(match) ? match.map(Number) : []\r\n \r\n // Valida a quantidade de dígitos\r\n if (numbers.length !== 14) return false\r\n \r\n // Elimina inválidos com todos os dígitos iguais\r\n const items = [...new Set(numbers)]\r\n if (items.length === 1) return false\r\n \r\n // Cálculo validador\r\n const calc = (x) => {\r\n const slice = numbers.slice(0, x)\r\n let factor = x - 7\r\n let sum = 0\r\n \r\n for (let i = x; i >= 1; i--) {\r\n const n = slice[x - i]\r\n sum += n * factor--\r\n if (factor < 2) factor = 9\r\n }\r\n \r\n const result = 11 - (sum % 11)\r\n \r\n return result > 9 ? 0 : result\r\n }\r\n \r\n // Separa os 2 últimos dígitos de verificadores\r\n const digits = numbers.slice(12)\r\n \r\n // Valida 1o. dígito verificador\r\n const digit0 = calc(12)\r\n if (digit0 !== digits[0]) return false\r\n \r\n // Valida 2o. dígito verificador\r\n const digit1 = calc(13)\r\n return digit1 === digits[1] \r\n}\r\n\r\nexport 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\nexport function isValidDate(input_date){\r\n input_date = formateDate(input_date);\r\n var year = moment(input_date.toString(), \"DD/MM/YYYY\").year();\r\n\r\n if (year < 1000 || year > 3000)\r\n return false;\r\n\r\n return moment(input_date.toString(), \"DD/MM/YYYY\", true).isValid();\r\n}\r\n\r\nexport function isValidHourMinute(input_date){\r\n return moment(input_date.toString(), \"HH:mm\", true).isValid();\r\n}\r\n\r\nexport function isValidDayMonth(input_date){\r\n return moment(input_date.toString(), \"DD/MM\", true).isValid();\r\n}\r\n\r\nexport function onlyNumber(input_text){\r\n input_text = input_text.replace(/[^0-9]+/g, '');\r\n return input_text;\r\n}\r\n\r\nexport function onlyAlphaNumericAndSpace(input_text){\r\n input_text = input_text.replace(/[^A-zÀ-ú0-9\\w\\s\\&]/gi,'');\r\n return input_text;\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, FormGroup, Form, Input, Row, Col, Container, UncontrolledTooltip, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\n//helpers\r\nimport { formateDateApi, formateDateandTime } from \"../../../helpers/formats.js\";\r\nimport { ValidaEmail } from \"../../../helpers/email\";\r\nimport { onlyAlphaNumericAndSpace, onlyNumber } from \"../../../helpers/valid.js\";\r\nimport { isValidDate } from \"../../../helpers/valid.js\";\r\n\r\n// services\r\nimport { InputCEP, InputCNPJ, InputCPF, InputTELEFONE } from \"../../../services/mask.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloWithProtocoloTransportador, EnviaRequerimentoTransportador } from \"../../../services/protocolo_transportador_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function Identificacao({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleReturn }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = useState(true);\r\n const [modal, setModal] = useState(false);\r\n const toggleModal = () => setModal(!modal);\r\n\r\n const [identificacao, set_identificacao] = useState(null);\r\n\r\n // Status\r\n const [status, set_status] = useState(\"\");\r\n const [options_status] = useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Cancelado\", label: \"Cancelado\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n { value: \"Pendente\", label: \"Pendente\" },\r\n { value: \"Vencido\", label: \"Vencido\" },\r\n ...(item?.setupSolicitacaoAcaoNovoCadastro?.setupSolicitacao?.categoria.segmento == \"Transportador\" && \r\n item?.setupSolicitacaoAcaoNovoCadastro?.setupSolicitacao.categoria.sigla == \"RGG\" ) ? [{ value: \"Irregular\", label: \"Irregular\" }] : []\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // E-Mail\r\n const [email, set_email] = useState(\"\");\r\n const handleEmail = (event) => {\r\n\r\n if (event.target.value.length == 0)\r\n return;\r\n\r\n set_email(event.target.value);\r\n\r\n ValidaEmail(event.target.value, handleRetornoValidaEmail);\r\n }\r\n const handleRetornoValidaEmail = (result) => {\r\n if (!result.data) {\r\n showMessage(\"Aviso\", \"E-Mail inválido.\", 'error', null);\r\n setValue(\"email\", \"\");\r\n set_email(\"\");\r\n\r\n }\r\n }\r\n\r\n // Nome Fantasia\r\n const handleFantasia = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"fantasia\", result);\r\n }\r\n\r\n // Razão Social\r\n const handleRazaoSocial = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"razaoSocial\", result);\r\n }\r\n\r\n // Nome do Solicitante\r\n const handleSolicitante = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"nomeSolicitante\", result);\r\n }\r\n\r\n // Data Vigência\r\n const handleDataVigencia = (event) => {\r\n let input_date = event.target.value;\r\n\r\n if (input_date != \"\" || input_date.length > 0) {\r\n if (isValidDate(input_date) == false) {\r\n showMessage(\"Aviso\", \"Data de validade inválida.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n const [optionsTipoTransportador, set_OptionsTipoTransportador] = useState([\r\n { value: \"Pessoa Física / MEI\", label: \"Pessoa Física / MEI\" },\r\n { value: \"Pessoa Jurídica (Privado)\", label: \"Pessoa Jurídica (Privado)\" },\r\n { value: \"Pessoa Jurídica (Público)\", label: \"Pessoa Jurídica (Público)\" }\r\n ]);\r\n const [tipoTransportador, set_tipoTransportador] = useState(\"Pessoa Jurídica (Privado)\");\r\n const handleTipoTransportador = (value) => {\r\n set_tipoTransportador(value.value);\r\n setValue(\"tipoTransportador\", value.value, true);\r\n clearErrors(\"tipoTransportador\");\r\n }\r\n\r\n //SubPrefeitura\r\n const [optionsSubPrefeitura, set_OptionsSubPrefeitura] = useState([]);\r\n const [subPrefeitura, set_subPrefeitura] = useState(null);\r\n const loadOptionsSubPrefeitura = () => {\r\n api_GET('subprefeitura')\r\n .then(result => {\r\n set_OptionsSubPrefeitura(result.data);\r\n if (tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloTransportador.length > 0) {\r\n set_subPrefeitura(item.protocoloTransportador[0].subPrefeitura);\r\n setValue(\"subPrefeitura\", item.protocoloTransportador[0].subPrefeitura, true);\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoTransportador.length > 0) {\r\n set_subPrefeitura(item.requerimentoTransportador[0].subPrefeitura);\r\n setValue(\"subPrefeitura\", item.requerimentoTransportador[0].subPrefeitura, true);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleSubPrefeitura = (value) => {\r\n set_subPrefeitura(value);\r\n setValue(\"subPrefeitura\", value, true);\r\n clearErrors(\"subPrefeitura\");\r\n }\r\n\r\n const [tipoIndustria, set_tipoIndustria] = useState(\"\");\r\n const [ramo, set_ramo] = useState(\"\");\r\n\r\n // Número Endereço\r\n const handleNumeroEndereco = (e) => {\r\n let result = onlyNumber(e.target.value);\r\n setValue(\"numEndereco\", result);\r\n }\r\n\r\n // Classes de Resíduo\r\n const [classesResiduo, set_classesResiduo] = useState([]);\r\n const [optionsClassesResiduo, set_OptionsClassesResiduo] = useState([]);\r\n const loadOptionsClassesResiduo = (categoria_Id) => {\r\n api_GET(`ClasseResiduo/GetListAtivosByCategoria/${categoria_Id}`)\r\n .then(result => {\r\n set_OptionsClassesResiduo(result.data);\r\n if (tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloTransportador.length > 0 && item.protocoloTransportador[0].protocoloTransportadorClasseResiduo != null) {\r\n let _classes = [];\r\n result.data.map(m => {\r\n if (item.protocoloTransportador[0].protocoloTransportadorClasseResiduo.filter(f => f.classeResiduo_Id == m.classeResiduo_Id).length > 0)\r\n _classes.push(m);\r\n })\r\n set_classesResiduo(_classes);\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoTransportador.length > 0 && item.requerimentoTransportador[0].requerimentoTransportadorClasseResiduo != null) {\r\n let _classes = [];\r\n result.data.map(m => {\r\n if (item.requerimentoTransportador[0].requerimentoTransportadorClasseResiduo.filter(f => f.classeResiduo_Id == m.classeResiduo_Id).length > 0)\r\n _classes.push(m);\r\n })\r\n set_classesResiduo(_classes);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleClassesResiduo = event => {\r\n set_classesResiduo(event);\r\n }\r\n\r\n // Categoria\r\n const [categoria, set_categoria] = useState(null);\r\n\r\n // cep\r\n const handleCEP = (event) => {\r\n clearErrors(\"cep\");\r\n\r\n if (event.target.value.replace(/[^0-9]/g, '').trim().length < 8) {\r\n setValue(\"cep\", \"\");\r\n showMessage(\"Aviso\", \"Cep inválido. só é permitido preencher com números\", 'error', null);\r\n return;\r\n }\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n }\r\n });\r\n }\r\n\r\n const loadItemRequerimento = () => {\r\n if (item != null) {\r\n set_identificacao(item);\r\n setValue(\"email\", item.email);\r\n set_email(item.email);\r\n setValue(\"cnpj\", item.cpf_Cnpj);\r\n setValue(\"cpf\", item.cpf_Cnpj);\r\n setValue(\"nomeSolicitante\", item.nomeSolicitante);\r\n setValue(\"responsavel\", item.requerimentoTransportador != null && item.requerimentoTransportador.length > 0 ? item.requerimentoTransportador[0].nomeResponsavel : item.nomeSolicitante);\r\n set_categoria(item.setupSolicitacaoAcao.setupSolicitacao.categoria);\r\n loadOptionsClassesResiduo(item.setupSolicitacaoAcao.setupSolicitacao.categoria_Id);\r\n set_tipoTransportador((item.setupSolicitacaoAcao != null && item.setupSolicitacaoAcao.setupSolicitacao.pessoa == \"Física\") ? \"Pessoa Física / MEI\" : \"Pessoa Jurídica (Privado)\");\r\n if (item.requerimentoTransportador != null && item.requerimentoTransportador.length > 0) {\r\n setValue(\"fantasia\", item.requerimentoTransportador[0].nome_Fantasia);\r\n setValue(\"razaoSocial\", item.requerimentoTransportador[0].razaoSocial);\r\n setValue(\"ccm\", item.requerimentoTransportador[0].ccm);\r\n setValue(\"telefone\", item.requerimentoTransportador[0].telefone);\r\n setValue(\"celular\", item.requerimentoTransportador[0].celular);\r\n setValue(\"tipoIndustriaComercio\", item.requerimentoTransportador[0].tipoIndustriaComercio);\r\n set_tipoIndustria(item.requerimentoTransportador[0].tipoIndustriaComercio);\r\n setValue(\"ramo\", item.requerimentoTransportador[0].ramoAtividade);\r\n set_ramo(item.requerimentoTransportador[0].ramoAtividade);\r\n setValue(\"dataFimVigencia\", item.dataFimVigencia != null ? formateDateApi(item.dataFimVigencia) : \"\");\r\n setValue(\"cep\", item.requerimentoTransportador[0].cep);\r\n setValue(\"logradouro\", item.requerimentoTransportador[0].logradouro);\r\n setValue(\"bairro\", item.requerimentoTransportador[0].bairro);\r\n setValue(\"numEndereco\", item.requerimentoTransportador[0].numEndereco);\r\n setValue(\"complemento\", item.requerimentoTransportador[0].complemento);\r\n setValue(\"cidade\", item.requerimentoTransportador[0].cidade);\r\n setValue(\"uf\", item.requerimentoTransportador[0].uf);\r\n setValue(\"status\", item.status, true);\r\n set_status(item.status);\r\n }\r\n }\r\n }\r\n\r\n const loadItemProtocolo = () => {\r\n if (item != null) {\r\n set_identificacao(item);\r\n setValue(\"email\", item.email);\r\n set_email(item.email);\r\n setValue(\"cnpj\", item.cpf_Cnpj);\r\n setValue(\"cpf\", item.cpf_Cnpj);\r\n setValue(\"nomeSolicitante\", item.nomeSolicitante);\r\n setValue(\"responsavel\", item.protocoloTransportador != null && item.protocoloTransportador.length > 0 ? item.protocoloTransportador[0].nomeResponsavel : item.nomeSolicitante);\r\n set_categoria(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria);\r\n loadOptionsClassesResiduo(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria_Id);\r\n set_tipoTransportador((item.setupSolicitacaoAcaoNovoCadastro != null && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.pessoa == \"Física\") ? \"Pessoa Física / MEI\" : \"Pessoa Jurídica (Privado)\");\r\n if (item.protocoloTransportador.length > 0) {\r\n setValue(\"fantasia\", item.protocoloTransportador[0].nome_Fantasia);\r\n setValue(\"razaoSocial\", item.protocoloTransportador[0].razaoSocial);\r\n setValue(\"ccm\", item.protocoloTransportador[0].ccm);\r\n setValue(\"codigoCadastro\", item.codigoCadastro);\r\n setValue(\"telefone\", item.protocoloTransportador[0].telefone);\r\n setValue(\"celular\", item.protocoloTransportador[0].celular);\r\n setValue(\"tipoIndustriaComercio\", item.protocoloTransportador[0].tipoIndustriaComercio);\r\n set_tipoIndustria(item.protocoloTransportador[0].tipoIndustriaComercio);\r\n setValue(\"ramo\", item.protocoloTransportador[0].ramoAtividade);\r\n set_ramo(item.protocoloTransportador[0].ramoAtividade);\r\n setValue(\"dataFimVigencia\", item.dataFimVigencia != null ? formateDateApi(item.dataFimVigencia) : \"\");\r\n setValue(\"cep\", item.protocoloTransportador[0].cep);\r\n setValue(\"logradouro\", item.protocoloTransportador[0].logradouro);\r\n setValue(\"bairro\", item.protocoloTransportador[0].bairro);\r\n setValue(\"numEndereco\", item.protocoloTransportador[0].numEndereco);\r\n setValue(\"complemento\", item.protocoloTransportador[0].complemento);\r\n setValue(\"cidade\", item.protocoloTransportador[0].cidade);\r\n setValue(\"uf\", item.protocoloTransportador[0].uf);\r\n setValue(\"status\", item.status, true);\r\n set_status(item.status);\r\n }\r\n }\r\n }\r\n\r\n const loadDefaultValues = (field) => {\r\n if (item == null)\r\n return \"\";\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n switch (field) {\r\n case \"Telefone\": return item.protocoloTransportador.length > 0 ? item.protocoloTransportador[0].telefone : \"\";\r\n case \"Celular\": return item.protocoloTransportador.length > 0 ? item.protocoloTransportador[0].celular : \"\";\r\n case \"CEP\": return item.protocoloTransportador.length > 0 ? item.protocoloTransportador[0].cep : \"\";\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item.requerimentoTransportador != null) {\r\n switch (field) {\r\n case \"Telefone\": return item.requerimentoTransportador.length > 0 ? item.requerimentoTransportador[0].telefone : \"\";\r\n case \"Celular\": return item.requerimentoTransportador.length > 0 ? item.requerimentoTransportador[0].celular : \"\";\r\n case \"CEP\": return item.requerimentoTransportador.length > 0 ? item.requerimentoTransportador[0].cep : \"\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\")\r\n set_permiteEditar(true);\r\n loadOptionsSubPrefeitura();\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n setLoading(true);\r\n\r\n if (email == null || email.length == 0) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"E-Mail não informado\", 'error', null);\r\n return;\r\n }\r\n\r\n if (isValidDate(data.dataFimVigencia) == false) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Data de validade inválida.\", 'warning', null);\r\n return;\r\n }\r\n\r\n let numeroEndereco = onlyNumber(data.numEndereco);\r\n if (numeroEndereco.length == \"\") {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Número de endereço inválido, ou, não informado. Só é permitido o preenchimento de dígitos numéricos.\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloWithProtocoloTransportador(json, handleRetornoSubmit)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoTransportador(json, handleRetornoSubmit)\r\n }\r\n else {\r\n set_identificacao(item);\r\n handleProximoStep(item);\r\n }\r\n }\r\n\r\n const carregaJsonRequerimento = (data) => {\r\n let requerimentoTransportadorClasseResiduo = [];\r\n classesResiduo.map(m => {\r\n requerimentoTransportadorClasseResiduo.push({\r\n requerimentoTransportadorClasseResiduo_Id: 0,\r\n requerimento_Id: item != null ? item.requerimento_Id : 0,\r\n classeResiduo_Id: m.classeResiduo_Id\r\n });\r\n })\r\n\r\n let json_submit = {\r\n requerimentoTransportador_Id: item != null && item.requerimentoTransportador != null && item.requerimentoTransportador.length > 0 ? item.requerimentoTransportador[0].requerimentoTransportador_Id : 0,\r\n requerimento_Id: item != null ? item.requerimento_Id : 0,\r\n subPrefeitura_Id: subPrefeitura.subPrefeitura_Id,\r\n cpf_Cnpj: data.cnpj != null ? data.cnpj.replace(/[./-]/g, '') : data.cpf.replace(/[./-]/g, ''),\r\n nome_Fantasia: data.fantasia == null ? data.responsavel : data.fantasia,\r\n razaoSocial: data.razaoSocial == null ? data.responsavel : data.razaoSocial,\r\n nomeResponsavel: data.responsavel,\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n cCM: data.ccm,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uF: data.uf,\r\n telefone: data.telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: data.celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n ramoAtividade: data.ramo,\r\n tipoIndustriaComercio: data.tipoIndustriaComercio,\r\n requerimentoTransportadorClasseResiduo: requerimentoTransportadorClasseResiduo\r\n }\r\n\r\n return json_submit;\r\n }\r\n\r\n const carregaJsonProtocolo = (data) => {\r\n let protocoloTransportadorClasseResiduo = [];\r\n classesResiduo.map(m => {\r\n protocoloTransportadorClasseResiduo.push({\r\n protocoloTransportadorClasseResiduo_Id: 0,\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n classeResiduo_Id: m.classeResiduo_Id\r\n });\r\n })\r\n\r\n let json_submit = {\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n numeroProtocolo: item != null ? item.numeroProtocolo : \"\",\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n email: data.email,\r\n cpf_Cnpj: data.cnpj != null ? data.cnpj.replace(/[./-]/g, '') : data.cpf.replace(/[./-]/g, ''),\r\n status: (item != null && status == \"\") ? item.status : status,\r\n dataFimVigencia: session != null && session.tipoAcesso == \"AreaRestrita\" ? data.dataFimVigencia : item.dataFimVigencia,\r\n usuarioCadastro_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n etapaCadastro: 1,\r\n codigoCadastro: data.codigoCadastro,\r\n protocoloTransportador: [{\r\n protocoloTransportador_Id: (item != null && item.protocoloTransportador.length > 0) ? item.protocoloTransportador[0].protocoloTransportador_Id : 0,\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n subPrefeitura_Id: subPrefeitura.subPrefeitura_Id,\r\n cpf_Cnpj: data.cnpj != null ? data.cnpj.replace(/[./-]/g, '') : data.cpf.replace(/[./-]/g, ''),\r\n nome_Fantasia: data.fantasia == null ? data.responsavel : data.fantasia,\r\n razaoSocial: data.razaoSocial == null ? data.responsavel : data.razaoSocial,\r\n nomeResponsavel: data.responsavel,\r\n cCM: data.ccm,\r\n codigoCadastro: (item != null && item.protocoloTransportador.length > 0) ? item.codigoCadastro : \"0\",\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uF: data.uf,\r\n telefone: data.telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: data.celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n ramoAtividade: data.ramo,\r\n tipoIndustriaComercio: data.tipoIndustriaComercio,\r\n protocoloTransportadorClasseResiduo: protocoloTransportadorClasseResiduo\r\n }],\r\n protocoloJustificativas: [{\r\n protocoloJustificativas_Id: (item != null && item.protocoloJustificativas != null && item.protocoloJustificativas.length > 0) ? item.protocoloJustificativas[0].protocoloJustificativas_Id : 0,\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n UsuarioJustificativa: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n observacao: data.observacao,\r\n usuario: data.usuario\r\n }]\r\n }\r\n return json_submit;\r\n }\r\n\r\n const handleRetornoSubmit = (result) => {\r\n setLoading(false);\r\n set_identificacao(result.data);\r\n handleProximoStep(result.data);\r\n }\r\n\r\n return (\r\n <>\r\n\r\n \r\n Histórico de Justificativas.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.protocoloJustificativas != undefined && item.protocoloJustificativas.length > 0 && item.protocoloJustificativas.map(justificativa => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Data da JustificativaObservaçãoUsuário
{formateDateandTime(justificativa.dataJustificativa)}{justificativa.observacao}{justificativa.usuario == undefined || justificativa.usuario == null\r\n ? justificativa.usuarioJustificativa\r\n : justificativa.usuario.nome}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n

Identificação

\r\n
{categoria && categoria.descricao}
\r\n \r\n \r\n \r\n
\r\n

Dados de Identificação

\r\n \r\n \r\n \r\n \r\n obj.value == tipoTransportador && tipoTransportador == \"Física\").length > 1 ?\r\n (item.cpf_Cnpj.length == 11 ? optionsTipoTransportador.filter(obj => obj.value == \"Física\")[0] : optionsTipoTransportador.filter(obj => obj.value == \"Física\")[1]) :\r\n optionsTipoTransportador.filter(obj => obj.value == tipoTransportador)[0]\r\n }\r\n onChange={(value) => handleTipoTransportador(value)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoTransportador\" },\r\n { required: false })\r\n }\r\n isDisabled={identificacao != null ? true : false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.responsavel && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n {(tipoTransportador == \"Pessoa Jurídica (Privado)\" || tipoTransportador == \"Pessoa Jurídica (Público)\") &&\r\n \r\n \r\n \r\n \r\n {errors.fantasia && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {(tipoTransportador == \"Pessoa Jurídica (Privado)\" || tipoTransportador == \"Pessoa Jurídica (Público)\") &&\r\n \r\n \r\n \r\n \r\n {errors.razaoSocial && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n * \r\n \r\n {errors.nomeSolicitante && * Campo Obrigatório}\r\n \r\n \r\n {(tipoTransportador == \"Pessoa Jurídica (Privado)\" || tipoTransportador == \"Pessoa Jurídica (Público)\" || (tipoTransportador == \"Pessoa Física / MEI\" && item != null && item?.cpf_Cnpj.length == 14)) &&\r\n \r\n \r\n \r\n \r\n {errors.cnpj && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {(tipoTransportador == \"Pessoa Física / MEI\" && item != null && item?.cpf_Cnpj.length == 11) &&\r\n \r\n \r\n \r\n \r\n {errors.cpf && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n \r\n {errors.codigoCadastro && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n * \r\n \r\n {errors.telefone && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(tipoTransportador == \"Pessoa Jurídica (Privado)\" || tipoTransportador == \"Pessoa Jurídica (Público)\") &&\r\n \r\n \r\n \r\n \r\n {errors.tipoIndustriaComercio && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {(tipoTransportador == \"Pessoa Jurídica (Privado)\" || tipoTransportador == \"Pessoa Jurídica (Público)\") && categoria && categoria.sigla != \"RGG\" &&\r\n \r\n \r\n \r\n \r\n {errors.ramo && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n \r\n {errors.dataFimVigencia && * Campo Obrigatório}\r\n \r\n \r\n }\r\n 0 ? \"\" : \"d-none\"}>\r\n \r\n \r\n descricao}\r\n getOptionValue={({ classeResiduo_Id }) => classeResiduo_Id}\r\n name=\"classeResiduo\"\r\n isMulti={true}\r\n value={optionsClassesResiduo.filter(({ classeResiduo_Id }) => classesResiduo.filter(f => f.classeResiduo_Id == classeResiduo_Id).length > 0)}\r\n onChange={(value) => handleClassesResiduo(value || [])}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"classeResiduo\" },\r\n { required: false })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: permiteEditar })\r\n }\r\n isDisabled={!permiteEditar || status == \"Irregular\"}\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n

Endereço

\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.nome}\r\n getOptionValue={option => option.subPrefeitura_Id}\r\n name=\"subPrefeitura\"\r\n onChange={(e) => { handleSubPrefeitura(e) }}\r\n value={subPrefeitura}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"subPrefeitura\" },\r\n { required: subPrefeitura != null && subPrefeitura != 0 ? false : true })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.subPrefeitura && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n }\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null && item.protocoloJustificativas.length > 0 &&\r\n \r\n Justificativas\r\n \r\n }\r\n \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 { api_POST, api_PUT } from \"services/api_service.js\";\r\nimport { showMessage } from \"./message\";\r\n\r\nexport const EnviaProtocoloWithProtocoloTransportador = (json, callback) => {\r\n if (json.protocolo_Id == 0) {\r\n api_POST('protocoloTransportador/PostProtocoloWithProtocoloTransportador', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloTransportador/PutProtocoloWithProtocoloTransportador', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloTransportadorVeiculo = (json, callback) => {\r\n if (json.protocoloTransportadorVeiculo_Id == 0) {\r\n api_POST('protocoloTransportador/PostProtocoloTransportadorVeiculo', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloTransportador/PutProtocoloTransportadorVeiculo', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloTransportadorLocalGuarda = (json, callback) => {\r\n if (json.protocoloTransportadorLocalGuarda_Id == 0) {\r\n api_POST('protocoloTransportador/PostProtocoloTransportadorLocalGuarda', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n else {\r\n api_PUT('protocoloTransportador/PutProtocoloTransportadorLocalGuarda', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloTransportadorLocalDestino = (json, callback) => {\r\n if (json.protocoloTransportadorLocalDestino_Id == 0) {\r\n api_POST('protocoloTransportador/PostProtocoloTransportadorLocalDestino', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloTransportador/PutProtocoloTransportadorLocalDestino', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null));\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloTransportadorEquipamento = (json, callback) => {\r\n if (json.protocoloTransportadorEquipamento_Id == 0) {\r\n api_POST('protocoloTransportador/PostProtocoloTransportadorEquipamento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null));\r\n }\r\n else {\r\n api_PUT('protocoloTransportador/PutProtocoloTransportadorEquipamento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloDocumentoTransportador = (json, callback) => {\r\n api_POST('protocoloTransportador/PostProtocoloDocumento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\n\r\nexport const EnviaRequerimentoTransportador = (json, callback) => {\r\n if (json.requerimentoTransportador_Id == 0) {\r\n api_POST('requerimentoTransportador/PostRequerimentoTransportador', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoTransportador/PutRequerimentoTransportador', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoTransportadorVeiculo = (json, callback) => {\r\n if (json.requerimentoTransportadorVeiculo_Id == 0 || json.requerimentoTransportadorVeiculo_Id == null) {\r\n api_POST('requerimentoTransportador/PostRequerimentoTransportadorVeiculo', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoTransportador/PutRequerimentoTransportadorVeiculo', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoTransportadorLocalGuarda = (json, callback) => {\r\n if (json.requerimentoTransportadorLocalGuarda_Id == 0) {\r\n api_POST('requerimentoTransportador/PostrequerimentoTransportadorLocalGuarda ', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoTransportador/PutrequerimentoTransportadorLocalGuarda', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoTransportadorLocalDestino = (json, callback) => {\r\n if (json.requerimentoTransportadorLocalDestino_Id == 0) {\r\n api_POST('requerimentoTransportador/PostrequerimentoTransportadorLocalDestino', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoTransportador/PutrequerimentoTransportadorLocalDestino', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoTransportadorEquipamento = (json, callback) => {\r\n if (json.requerimentoTransportadorEquipamento_Id == 0) {\r\n api_POST('requerimentoTransportador/PostrequerimentoTransportadorEquipamento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoTransportador/PutrequerimentoTransportadorEquipamento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoDocumentoTransportador = (json, callback) => {\r\n api_POST('requerimento/PostrequerimentoDocumento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, FormGroup, Form, Input, Row, Col, Container, UncontrolledTooltip, Tooltip, CardText } from \"reactstrap\";\r\nimport InputPDF from \"../../../components/Input/InputPDF.jsx\";\r\n\r\n//helpers\r\nimport { isValidDate } from \"../../../helpers/valid.js\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\n\r\nimport { EnviaProtocoloTransportadorVeiculo, EnviaRequerimentoTransportadorVeiculo } from \"../../../services/protocolo_transportador_service.js\";\r\nimport { formateDateApi } from \"../../../helpers/formats.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth.js\";\r\n\r\nexport default function Veiculos({ item, tipoCadastro, permiteManutencao, totalVeiculos, handleProximoStep, handleStepAnterior }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(true);\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [veiculos, set_veiculos] = React.useState([]);\r\n\r\n const [tooltipOpen, setTooltipOpen] = React.useState(false);\r\n const toggleTip = () => setTooltipOpen(!tooltipOpen);\r\n\r\n useEffect(() => {\r\n LoadTiposVeiculo();\r\n\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\")\r\n set_permiteEditar(false);\r\n\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloTransportador[0].protocoloTransportadorVeiculo != null) {\r\n set_veiculos(item.protocoloTransportador[0].protocoloTransportadorVeiculo);\r\n }\r\n\r\n let _actionRenavam = actions;\r\n _actionRenavam.push({\r\n icon: 'description',\r\n tooltip: 'Visualizar Renavam',\r\n onClick: (event, rowData) => handleVisualizaRENAVAM(rowData)\r\n });\r\n\r\n set_actions(_actionRenavam);\r\n }\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoTransportadorVeiculo != null) {\r\n set_veiculos(item.requerimentoTransportadorVeiculo);\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.acao !== \"Alteração\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Veículo',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n\r\n if (item.setupSolicitacaoAcao.acao !== \"Alteração\") {\r\n let _actionRenavam = actions;\r\n _actionRenavam.push({\r\n icon: 'description',\r\n tooltip: 'Visualizar Renavam',\r\n onClick: (event, rowData) => handleVisualizaRENAVAM(rowData)\r\n });\r\n\r\n set_actions(_actionRenavam);\r\n }\r\n\r\n }\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n },\r\n ]);\r\n\r\n // Placa\r\n const handleChangePlaca = (e) => {\r\n let result = e.target.value.replace(/[^a-zà-ú0-9]/gi, '');\r\n setValue(\"placa\", result);\r\n }\r\n\r\n // Data Vigência\r\n const handleDataVigencia = (event) => {\r\n let input_date = event.target.value;\r\n\r\n if (input_date != \"\" || input_date.length > 0) {\r\n if (!isValidDate(input_date)) {\r\n showMessage(\"Aviso\", \"Data informada é inválida.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Tipo Veículo\r\n const [optionsTipoVeiculo, set_optionsTipoVeiculo] = React.useState([])\r\n\r\n const LoadTiposVeiculo = () => {\r\n if ((tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") ||\r\n (tipoCadastro == \"Protocolo\" && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n api_GET('TipoImplemento')\r\n .then(result => {\r\n let tipos = result.data.map((m, key) => ({\r\n label: m.descricao,\r\n value: m.descricao\r\n }));\r\n set_optionsTipoVeiculo(tipos);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else {\r\n set_optionsTipoVeiculo([\r\n { label: \"Basculante\", value: \"Basculante\" },\r\n { label: \"Caminhão Toco\", value: \"Caminhão Toco\" },\r\n { label: \"Carreta\", value: \"Carreta\" },\r\n { label: \"Cavalo Mecânico\", value: \"Cavalo Mecânico\" },\r\n { label: \"Poliguindaste\", value: \"Poliguindaste\" },\r\n { label: \"Reboque\", value: \"Reboque\" },\r\n { label: \"Roll-on Roll-off\", value: \"Roll-on Roll-off\" },\r\n { label: \"Veículo Urbano de Carga\", value: \"Veículo Urbano de Carga\" },\r\n { label: \"Caminhão Carroceria\", value: \"Caminhão Carroceria\" },\r\n { label: \"Compactador\", value: \"Compactador\" }\r\n ]);\r\n }\r\n }\r\n\r\n const [tipoVeiculo, set_tipoVeiculo] = React.useState(null);\r\n const handleTipoVeiculo = (value) => {\r\n set_tipoVeiculo(value);\r\n setValue(\"tipoVeiculo\", value, true);\r\n clearErrors(\"tipoVeiculo\");\r\n\r\n if ((tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") ||\r\n (tipoCadastro == \"Protocolo\" && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n set_modalidades([]);\r\n loadModalidades(value);\r\n }\r\n }\r\n\r\n //Modalidades \r\n const [modalidades, set_modalidades] = useState([]);\r\n const [optionsModalidades, set_OptionsModalidades] = useState([]);\r\n\r\n const loadModalidades = (descricao) => {\r\n api_GET(`Modalidade/GetModalidades/` + descricao)\r\n .then(result => {\r\n let tipos = result.data.map((m, key) => ({\r\n label: m.descricao,\r\n value: m.descricao\r\n }));\r\n set_OptionsModalidades(tipos);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleModalidades = event => {\r\n set_modalidades(event);\r\n }\r\n\r\n\r\n // pegar o status quando for editar\r\n const [veiculoStatus, setVeiculoStatus] = useState(null)\r\n const handleStatusVeiculo = (value) => {\r\n setVeiculoStatus(value)\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // Arquivo Renavam\r\n const [file_renavam, set_file_renavam] = React.useState(null);\r\n const handleFileRenavam = (_file, callback) => {\r\n if (_file == null) {\r\n showMessage(\"Aviso\", \"Não foi possível concluir o anexo do arquivo. Arquivo RENAVAM não informado. Apresente o arquivo RENAVAM do veículo.\", 'error', null);\r\n return;\r\n }\r\n set_file_renavam(_file);\r\n callback();\r\n }\r\n\r\n // Arquivo Inmetro\r\n const [file_inmetro, set_file_inmetro] = React.useState(null);\r\n const handleFileInmetro = (_file, callback) => {\r\n if (_file == null) {\r\n showMessage(\"Aviso\", \"Não foi possível concluir o anexo do arquivo. Arquivo INMETRO não informado. Apresente o arquivo INMETRO do veículo.\", 'error', null);\r\n return;\r\n }\r\n set_file_inmetro(_file);\r\n callback();\r\n }\r\n\r\n // Arquivo Comprovante Tara\r\n const [file_comprovantetara, set_file_comprovantetara] = React.useState(null);\r\n const handleFileComprovanteTara = (_file, callback) => {\r\n if (_file == null) {\r\n showMessage(\"Aviso\", \"Não foi possível concluir o anexo do arquivo. Arquivo COMPROVANTE DE TARA não informado. Apresente o arquivo COMPROVANTE DE TARA do veículo.\", 'error', null);\r\n return;\r\n }\r\n set_file_comprovantetara(_file);\r\n callback();\r\n }\r\n\r\n // Arquivo Comodato\r\n const [file_comodato, set_file_comodato] = React.useState(null);\r\n const handleFileComodato = (_file, callback) => {\r\n if (_file == null) {\r\n showMessage(\"Aviso\", \"Não foi possível concluir o anexo do arquivo. Arquivo COMODATO não informado. Apresente o arquivo COMODATO do veículo.\", 'error', null);\r\n return;\r\n }\r\n set_file_comodato(_file);\r\n callback();\r\n }\r\n const loadInputComodato = () => {\r\n if ((tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.setupSolicitacao.pessoa != \"Física\")\r\n || (tipoCadastro == \"Protocolo\" && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.pessoa != \"Física\")) {\r\n return \r\n \r\n

Comodato \r\n Obrigatório para veículos locados. Contrato de aluguel do veículo\r\n

\r\n \r\n \r\n
\r\n \r\n }\r\n }\r\n\r\n // Veiculo Proprietário / Locado\r\n const [proprietarioOuLocado, set_proprietarioOuLocado] = React.useState(null);\r\n const [options_proprietarioOuLocado] = React.useState([\r\n { value: \"Proprietário\", label: \"Proprietário\" },\r\n { value: \"Locado\", label: \"Locado\" },\r\n ]);\r\n const handleproprietarioOuLocado = (value) => {\r\n set_proprietarioOuLocado(value);\r\n setValue(\"proprietarioOuLocado\", value, true);\r\n }\r\n\r\n const handleVisualizaRENAVAM = (rowData) => {\r\n if (rowData.arquivoRenavam != null && rowData.arquivoRenavam.length > 0) {\r\n window.open(setupSistema?.caminhoVirtual + rowData.arquivoRenavam, '_blank');\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"O veículo selecionado não possui o RENAVAM anexado\", 'warning', null);\r\n return;\r\n }\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n setValue(\"placa\", rowData.placa);\r\n setValue(\"marca\", rowData.marca);\r\n setValue(\"status\", rowData.status)\r\n set_tipoVeiculo(rowData.tipo);\r\n setValue(\"tipoVeiculo\", rowData.tipo, true);\r\n setValue(\"anoFabricacao\", rowData.anoFabricacao);\r\n setValue(\"capacidadeCarga\", rowData.capacidadeCarga);\r\n setValue(\"tara\", rowData.tara);\r\n setValue(\"renavam\", rowData.numeroRenavam);\r\n setValue(\"cor\", rowData.cor);\r\n setValue(\"anoFabricacaoEquipamento\", rowData.anoFabricacaoEquipamento);\r\n set_proprietarioOuLocado(rowData.proprietarioOuLocado);\r\n setValue(\"proprietarioOuLocado\", rowData.proprietarioOuLocado, true);\r\n setValue(\"volume\", rowData.volume);\r\n setVeiculoStatus(rowData.status);\r\n if (tipoCadastro == \"Requerimento\") {\r\n if (rowData.requerimentoTransportadorVeiculoModalidade) {\r\n let _modalidades = rowData.requerimentoTransportadorVeiculoModalidade.map((m, key) => ({\r\n label: m.modalidade,\r\n value: m.modalidade\r\n }))\r\n set_modalidades(_modalidades);\r\n }\r\n } else if (tipoCadastro == \"Protocolo\") {\r\n let _modalidades = rowData.protocoloTransportadorVeiculoModalidades.map((m, key) => ({\r\n label: m.modalidade,\r\n value: m.modalidade\r\n }))\r\n set_modalidades(_modalidades);\r\n }\r\n\r\n\r\n loadModalidades(rowData.tipo);\r\n\r\n if (rowData.dataVistoria != null)\r\n setValue(\"dataVistoria\", formateDateApi(rowData.dataVistoria));\r\n else\r\n setValue(\"dataVistoria\", \"\");\r\n\r\n if (rowData.dataValidadeVistoria != null)\r\n setValue(\"dataValidadeVistoria\", formateDateApi(rowData.dataValidadeVistoria));\r\n else\r\n setValue(\"dataValidadeVistoria\", \"\");\r\n\r\n if (rowData.arquivoRenavam != null) {\r\n set_file_renavam({\r\n name: rowData.arquivoRenavam,\r\n base64: null,\r\n documento_Id: 0\r\n });\r\n }\r\n\r\n if (rowData.arquivoInspecaoInmetro != null) {\r\n set_file_inmetro({\r\n name: rowData.arquivoInspecaoInmetro,\r\n base64: null,\r\n documento_Id: 0\r\n });\r\n }\r\n\r\n if (rowData.arquivoComprovanteTara != null) {\r\n set_file_comprovantetara({\r\n name: rowData.arquivoComprovanteTara,\r\n base64: null,\r\n documento_Id: 0\r\n });\r\n }\r\n\r\n if (rowData.arquivoComodato != null) {\r\n set_file_comodato({\r\n name: rowData.arquivoComodato,\r\n base64: null,\r\n documento_Id: 0\r\n });\r\n }\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover este veículo?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n api_POST('requerimentoTransportador/PostRemoverVeiculoRequerimento/' + rowData.requerimentoTransportadorVeiculo_Id)\r\n .then(result => { showMessage(\"Aviso\", \"Veículo removido com sucesso!\", 'success', function () { handleReturnRemove(rowData.requerimento_Id) }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n\r\n api_GET('requerimentoTransportador/GetVeiculosRequerimento/' + reloadId)\r\n .then(result => set_veiculos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (item.setupSolicitacaoAcaoNovoCadastro) {\r\n if (rowEdit == null && (item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.pessoa == \"Física\") && (totalVeiculos + veiculos.filter(x => x.status == \"Ativo\").length >= 2)) {\r\n showMessage(\"Aviso\", \"Você não pode ter mais que dois veículos como Pessoa Física ou MEI!\", 'error', null);\r\n return;\r\n }\r\n } else {\r\n if (rowEdit == null && (item.setupSolicitacaoAcao.setupSolicitacao.pessoa == \"Física\") && (totalVeiculos + veiculos.filter(x => x.status == \"Ativo\").length >= 2)) {\r\n showMessage(\"Aviso\", \"Você não pode ter mais que dois veículos como Pessoa Física ou MEI!\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n if (veiculos.length == 1 &&\r\n rowEdit == null &&\r\n tipoCadastro == \"Requerimento\" &&\r\n item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n (item.setupSolicitacaoAcao.acao == \"Inclusão\")\r\n ) {\r\n showMessage(\"Aviso\", `Você só pode incluir um veículo no requerimento de ${item.setupSolicitacaoAcao.acao}`, 'warning', null);\r\n return;\r\n }\r\n\r\n if (rowEdit == null && veiculos.filter(f => f.placa == data.placa || f.numeroRenavam == data.renavam).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um veículo com esta placa/renavam!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (data.placa.replace(\"-\", \"\").length != 7) {\r\n showMessage(\"Aviso\", \"Placa Inválida!\", 'error', null);\r\n return;\r\n }\r\n\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && (file_renavam == null || file_inmetro == null)) {\r\n showMessage(\"Aviso\", \"Arquivos .pdf obrigatórios não informados: Arquivo Renavam; Inspeção Inmetro.\", 'error', null);\r\n return;\r\n }\r\n\r\n if ((tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" && modalidades.length == 0)\r\n || (tipoCadastro == \"Protocolo\" && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" && modalidades.length == 0)) {\r\n showMessage(\"Aviso\", \"Obrigatório selecionar pelo menos uma modalidade!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloTransportadorVeiculo(json, confirmaAddVeiculo)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoTransportadorVeiculo(json, confirmaAddVeiculo)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let protocoloTransportadorVeiculoModalidade = [];\r\n modalidades.map(m => {\r\n protocoloTransportadorVeiculoModalidade.push({\r\n protocoloTransportadorVeiculoModalidade_Id: 0,\r\n protocoloTransportadorVeiculo_Id: rowEdit == null ? 0 : rowEdit.protocoloTransportadorVeiculo_Id,\r\n modalidade: m.value\r\n });\r\n })\r\n\r\n let json_submit = {\r\n protocoloTransportadorVeiculo_Id: rowEdit == null ? 0 : rowEdit.protocoloTransportadorVeiculo_Id,\r\n protocoloTransportador_Id: item.protocoloTransportador[0].protocoloTransportador_Id,\r\n placa: data.placa,\r\n marca: data.marca,\r\n tipo: tipoVeiculo,\r\n capacidadeCarga: data.capacidadeCarga,\r\n tara: data.tara,\r\n anoFabricacao: data.anoFabricacao,\r\n numeroRenavam: data.renavam,\r\n dataVistoria: data.dataVistoria,\r\n dataValidadeVistoria: data.dataValidadeVistoria,\r\n arquivoRenavam: file_renavam != null ? file_renavam.name : null,\r\n arquivoRenavamBase64: file_renavam != null ? file_renavam.base64 : null,\r\n arquivoInspecaoInmetro: file_inmetro != null ? file_inmetro.name : null,\r\n arquivoInspecaoInmetroBase64: file_inmetro != null ? file_inmetro.base64 : null,\r\n arquivoComprovanteTara: file_comprovantetara != null ? file_comprovantetara.name : null,\r\n arquivoComprovanteTaraBase64: file_comprovantetara != null ? file_comprovantetara.base64 : null,\r\n arquivoComodato: file_comodato != null ? file_comodato.name : null,\r\n arquivoComodatoBase64: file_comodato != null ? file_comodato.base64 : null,\r\n status: veiculoStatus,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n cor: data.cor,\r\n anoFabricacaoEquipamento: data.anoFabricacaoEquipamento,\r\n proprietarioOuLocado: proprietarioOuLocado,\r\n volume: data.volume,\r\n protocoloTransportadorVeiculoModalidades: protocoloTransportadorVeiculoModalidade\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let requerimentoTransportadorVeiculoModalidade = [];\r\n modalidades.map(m => {\r\n requerimentoTransportadorVeiculoModalidade.push({\r\n requerimentoTransportadorVeiculoModalidade_Id: 0,\r\n requerimentoTransportadorVeiculo_Id: rowEdit == null ? 0 : rowEdit.requerimentoTransportadorVeiculo_Id,\r\n modalidade: m.value\r\n });\r\n })\r\n\r\n let json_submit = {\r\n requerimentoTransportadorVeiculo_Id: rowEdit == null ? 0 : rowEdit.requerimentoTransportadorVeiculo_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n placa: data.placa,\r\n placaAntiga: rowEdit != null ? rowEdit.placa : \"\",\r\n marca: data.marca,\r\n tipo: tipoVeiculo,\r\n capacidadeCarga: data.capacidadeCarga,\r\n tara: data.tara,\r\n anoFabricacao: data.anoFabricacao,\r\n numeroRenavam: data.renavam,\r\n arquivoRenavam: file_renavam ? file_renavam.name : null,\r\n arquivoRenavamBase64: file_renavam ? file_renavam.base64 : null,\r\n arquivoInspecaoInmetro: file_inmetro ? file_inmetro.name : null,\r\n arquivoInspecaoInmetroBase64: file_inmetro ? file_inmetro.base64 : null,\r\n arquivoComprovanteTara: file_comprovantetara ? file_comprovantetara.name : null,\r\n arquivoComprovanteTaraBase64: file_comprovantetara ? file_comprovantetara.base64 : null,\r\n arquivoComodato: file_comodato ? file_comodato.name : null,\r\n arquivoComodatoBase64: file_comodato ? file_comodato.base64 : null,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n cor: data.cor,\r\n anoFabricacaoEquipamento: data.anoFabricacaoEquipamento,\r\n proprietarioOuLocado: proprietarioOuLocado,\r\n volume: data.volume,\r\n requerimentoTransportadorVeiculoModalidade: requerimentoTransportadorVeiculoModalidade\r\n }\r\n\r\n return json_submit;\r\n }\r\n const confirmaAddVeiculo = (result) => {\r\n setLoading(false);\r\n let _registro = registro;\r\n let veiculo = result.data;\r\n if (tipoCadastro == \"Protocolo\") {\r\n let new_list = [];\r\n veiculos.map(m => {\r\n if (m.protocoloTransportadorVeiculo_Id != veiculo.protocoloTransportadorVeiculo_Id)\r\n new_list.push(m);\r\n });\r\n new_list.push(veiculo);\r\n set_veiculos(new_list);\r\n\r\n _registro.protocoloTransportadorVeiculo = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let _veiculos = [\r\n ...veiculos\r\n ]\r\n\r\n if (item.setupSolicitacaoAcao.acao === \"Alteração\") {\r\n veiculo.Alteracao = true;\r\n }\r\n\r\n\r\n if (rowEdit == null) {\r\n _veiculos.push(veiculo)\r\n set_veiculos(_veiculos)\r\n } else {\r\n _veiculos[rowEdit.tableData.id] = veiculo;\r\n set_veiculos(_veiculos)\r\n }\r\n\r\n _registro.requerimentoTransportadorVeiculo = _veiculos;\r\n }\r\n set_registro(_registro);\r\n\r\n setValue(\"placa\", \"\");\r\n setValue(\"marca\", \"\");\r\n setValue(\"anoFabricacao\", \"\");\r\n setValue(\"capacidadeCarga\", \"\");\r\n setValue(\"tara\", \"\");\r\n setValue(\"renavam\", \"\");\r\n setValue(\"dataVistoria\", \"\");\r\n setValue(\"dataValidadeVistoria\", \"\");\r\n setValue(\"cor\", \"\");\r\n setValue(\"anoFabricacaoEquipamento\", \"\");\r\n set_proprietarioOuLocado(null);\r\n setValue(\"proprietarioOuLocado\", null, false);\r\n setValue(\"volume\", \"\");\r\n set_tipoVeiculo(null);\r\n set_modalidades([]);\r\n\r\n set_rowEdit(null);\r\n set_file_renavam(null);\r\n set_file_inmetro(null);\r\n set_file_comprovantetara(null);\r\n set_file_comodato(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && veiculos.length == 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os veículos\", 'error', null);\r\n return;\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\") {\r\n setLoading(true);\r\n api_POST('requerimentoTransportador/ValidacaoVeiculoRequerimento/' + item.requerimento_Id)\r\n .then(result => handleProximoStep(registro))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else {\r\n handleProximoStep(registro);\r\n }\r\n }\r\n\r\n\r\n const [optionsStatusVeiculo, setOptionsStatusVeiculo] = useState([\r\n { label: \"Ativo\", value: \"Ativo\" },\r\n { label: \"Inativo\", value: \"Inativo\" },\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

Veículos

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.placa && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.marca && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.anoFabricacao && * Campo Obrigatório}\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && rowEdit &&\r\n \r\n \r\n \r\n option.label}\r\n getOptionValue={option => option.value}\r\n name=\"status\"\r\n onChange={(e) => { handleStatusVeiculo(e.value) }}\r\n value={optionsStatusVeiculo.filter(f => f.value == veiculoStatus)[0]}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n option.label}\r\n getOptionValue={option => option.value}\r\n name=\"tipoVeiculo\"\r\n onChange={(e) => { handleTipoVeiculo(e.value) }}\r\n value={optionsTipoVeiculo.filter(f => f.value == tipoVeiculo)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoVeiculo\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.tipoVeiculo && * Campo Obrigatório}\r\n \r\n \r\n {tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n name=\"modalidades\"\r\n isMulti={true}\r\n value={optionsModalidades.filter(({ value }) => modalidades.filter(f => f.value == value).length > 0)}\r\n onChange={(value) => handleModalidades(value || [])}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"modalidades\" },\r\n { required: false })\r\n }\r\n />\r\n \r\n }\r\n {tipoCadastro == \"Protocolo\" && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n name=\"modalidades\"\r\n isMulti={true}\r\n value={optionsModalidades.filter(({ value }) => modalidades.filter(f => f.value == value).length > 0)}\r\n onChange={(value) => handleModalidades(value || [])}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"modalidades\" },\r\n { required: false })\r\n }\r\n />\r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.capacidadeCarga && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.anoFabricacao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.renavam && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleproprietarioOuLocado(e.value) }}\r\n value={proprietarioOuLocado != null && options_proprietarioOuLocado.find(obj => obj.value === proprietarioOuLocado)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"proprietarioOuLocado\" },\r\n { required: false })\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n setTooltipOpen(!tooltipOpen)}>\r\n Informar o volume em M3 do equipamento do veículo, se houver\r\n \r\n {errors.volume && * Campo Obrigatório}\r\n \r\n \r\n \r\n {(tipoCadastro == \"Protocolo\" && session != null && session.tipoAcesso == \"AreaRestrita\") &&\r\n \r\n \r\n \r\n \r\n \r\n {errors.dataVistoria && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.dataValidadeVistoria && * Campo Obrigatório}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n

* Arquivo Renavam \r\n Arquivo CRLV do veículo\r\n

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

* Inspeção INMETRO

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

Comprovante de Tara

\r\n \r\n \r\n
\r\n \r\n {loadInputComodato()}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n\r\n {(tipoCadastro === \"Requerimento\" && item !== null && item.setupSolicitacaoAcao.acao === \"Alteração\") &&\r\n \r\n \r\n \r\n

Atenção

\r\n
\r\n \r\n \r\n Caso clique no botão VOLTAR, para adicionar e/ou remover algum veículo, as alterações\r\n já feitas nessa tela serão PERDIDAS!\r\n \r\n \r\n
\r\n \r\n }\r\n\r\n \r\n {handleStepAnterior != null &&\r\n \r\n }\r\n \r\n \r\n {handleProximoStep != 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}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, FormGroup, Form, Input, Row, Col, Container } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { InputCEP } from \"../../../services/mask.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloTransportadorLocalGuarda, EnviaRequerimentoTransportadorLocalGuarda } from \"../../../services/protocolo_transportador_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function LocaisGuarda({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset } = useForm({ mode: \"onBlur\" });\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n const [locais_guarda, set_locais_guarda] = React.useState([]);\r\n\r\n useEffect(() => {\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloTransportador[0].protocoloTransportadorLocalGuarda != null) {\r\n set_locais_guarda(item.protocoloTransportador[0].protocoloTransportadorLocalGuarda);\r\n }\r\n }\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoTransportadorLocalGuarda != null) {\r\n set_locais_guarda(item.requerimentoTransportadorLocalGuarda);\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Local',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n // CEP \r\n const [cep, set_cep] = React.useState(\"\");\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const handleCEP = (event) => {\r\n set_cep(event.target.value);\r\n\r\n if (event.target.value.replaceAll(\"_\", \"\").length != 9)\r\n return;\r\n\r\n clearErrors(\"cep\");\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_editarEndereco(true);\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else\r\n set_editarEndereco(true);\r\n }\r\n });\r\n }\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_cep(rowData.cep);\r\n setValue(\"cep\", rowData.cep);\r\n setValue(\"logradouro\", rowData.logradouro);\r\n setValue(\"numEndereco\", rowData.numEndereco);\r\n setValue(\"complemento\", rowData.complemento);\r\n setValue(\"bairro\", rowData.bairro);\r\n setValue(\"cidade\", rowData.cidade);\r\n setValue(\"uf\", rowData.uf);\r\n set_status(rowData.status);\r\n setValue(\"status\", rowData.status, true);\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover este local?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n api_POST('requerimentoTransportador/PostRemoverLocalGuardaRequerimento/' + rowData.requerimentoTransportadorLocalGuarda_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n\r\n api_GET('requerimentoTransportador/GetLocaisGuardaRequerimento/' + reloadId)\r\n .then(result => set_locais_guarda(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (rowEdit == null && locais_guarda.filter(f => f.cEP == data.cep && f.numEndereco == data.numEndereco).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um local de guarda neste endereço!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloTransportadorLocalGuarda(json, confirmaAddLocaisGuarda)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoTransportadorLocalGuarda(json, confirmaAddLocaisGuarda)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocoloTransportadorLocalGuarda_Id: rowEdit == null ? 0 : rowEdit.protocoloTransportadorLocalGuarda_Id,\r\n protocoloTransportador_Id: item.protocoloTransportador[0].protocoloTransportador_Id,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n status: status != \"\" ? status : \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoTransportadorLocalGuarda_Id: rowEdit == null ? 0 : rowEdit.requerimentoTransportadorLocalGuarda_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddLocaisGuarda = (result) => {\r\n setLoading(false);\r\n\r\n let local = result.data;\r\n\r\n let new_list = [];\r\n\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n locais_guarda.map(m => {\r\n if (m.protocoloTransportadorLocalGuarda_Id != local.protocoloTransportadorLocalGuarda_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.protocoloTransportador[0].protocoloTransportadorLocalGuarda = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n locais_guarda.map(m => {\r\n if (m.requerimentoTransportadorLocalGuarda_Id != local.requerimentoTransportadorLocalGuarda_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.requerimentoTransportador[0].requerimentoTransportadorLocalGuarda = new_list;\r\n }\r\n\r\n new_list.push(local);\r\n set_locais_guarda(new_list);\r\n set_registro(_registro);\r\n\r\n set_cep(\"\");\r\n setValue(\"cep\", \"\");\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"numEndereco\", \"\");\r\n setValue(\"complemento\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n\r\n set_rowEdit(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((tipoCadastro == \"Requerimento\" && item.setupSolicitacaoAcao.setupSolicitacao.pessoa != \"Física\")\r\n || (tipoCadastro == \"Protocolo\" && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.pessoa != \"Física\")) {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && locais_guarda.length == 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os locais de guarda\", 'error', null);\r\n return;\r\n }\r\n }\r\n handleProximoStep(registro);\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

Locais de Guarda de Veículo

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, FormGroup, Form, Input, Row, Col, Container } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { InputCEP, InputCNPJ, InputTELEFONE } from \"../../../services/mask.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloTransportadorLocalDestino, EnviaRequerimentoTransportadorLocalDestino } from \"../../../services/protocolo_transportador_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nexport default function LocaisDestinacao({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset } = useForm({ mode: \"onBlur\" });\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n const [locais_destinacao, set_locais_destinacao] = React.useState([]);\r\n const [cnpj, set_cnpj] = React.useState(\"\");\r\n const [telefone, set_telefone] = React.useState(\"\");\r\n const [celular, set_celular] = React.useState(\"\");\r\n\r\n useEffect(() => {\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloTransportador[0].protocoloTransportadorLocalDestino != null) {\r\n set_locais_destinacao(item.protocoloTransportador[0].protocoloTransportadorLocalDestino);\r\n }\r\n }\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoTransportadorLocalDestino != null) {\r\n set_locais_destinacao(item.requerimentoTransportadorLocalDestino);\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Local',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n // CEP\r\n const [cep, set_cep] = React.useState(\"\");\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const handleCEP = (event) => {\r\n set_cep(event.target.value);\r\n\r\n if (event.target.value.replaceAll(\"_\", \"\").length != 9)\r\n return;\r\n\r\n clearErrors(\"cep\");\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_editarEndereco(true);\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else\r\n set_editarEndereco(true);\r\n }\r\n });\r\n }\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_cnpj(rowData.cnpj);\r\n setValue(\"cnpj\", rowData.cnpj);\r\n setValue(\"fantasia\", rowData.fantasia);\r\n setValue(\"razaoSocial\", rowData.razaoSocial);\r\n setValue(\"telefone\", rowData.telefone);\r\n set_telefone(rowData.telefone);\r\n setValue(\"celular\", rowData.celular);\r\n set_celular(rowData.celular);\r\n\r\n set_cep(rowData.cep);\r\n setValue(\"cep\", rowData.cep);\r\n setValue(\"logradouro\", rowData.logradouro);\r\n setValue(\"numEndereco\", rowData.numEndereco);\r\n setValue(\"complemento\", rowData.complemento);\r\n setValue(\"bairro\", rowData.bairro);\r\n setValue(\"cidade\", rowData.cidade);\r\n setValue(\"uf\", rowData.uf);\r\n set_status(rowData.status);\r\n setValue(\"status\", rowData.status, true);\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover este local?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n let _usuarioId = session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : 0;\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n api_POST('protocoloTransportador/PostRemoveLocalDestinoProtocolo/' + _usuarioId + \"/\" + rowData.protocoloTransportadorLocalDestino_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.protocoloTransportador_Id);\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_POST('requerimentoTransportador/PostRemoverLocalDestinoRequerimento/' + rowData.requerimentoTransportadorLocalDestino_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n api_GET('protocoloTransportador/GetLocaisDestinoProtocolo/' + reloadId)\r\n .then(result => set_locais_destinacao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimentoTransportador/GetLocaisDestinoRequerimento/' + reloadId)\r\n .then(result => set_locais_destinacao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (rowEdit == null && locais_destinacao.filter(f => f.cnpj == cnpj).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um local de destinação com este CNPJ!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (rowEdit == null && locais_destinacao.filter(f => f.cEP == data.cep && f.numEndereco == data.numEndereco).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um local de destinação neste endereço!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloTransportadorLocalDestino(json, confirmaAddLocaisDestino)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoTransportadorLocalDestino(json, confirmaAddLocaisDestino)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocoloTransportadorLocalDestino_Id: rowEdit == null ? 0 : rowEdit.protocoloTransportadorLocalDestino_Id,\r\n protocoloTransportador_Id: item.protocoloTransportador[0].protocoloTransportador_Id,\r\n cnpj: cnpj.replace(/[./-]/g, ''),\r\n fantasia: data.fantasia,\r\n razaoSocial: data.razaoSocial,\r\n telefone: telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n status: status != \"\" ? status : \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoTransportadorLocalDestino_Id: rowEdit == null ? 0 : rowEdit.requerimentoTransportadorLocalDestino_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n cnpj: cnpj.replace(/[./-]/g, ''),\r\n fantasia: data.fantasia,\r\n razaoSocial: data.razaoSocial,\r\n telefone: telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddLocaisDestino = (result) => {\r\n setLoading(false);\r\n let local = result.data;\r\n\r\n let new_list = [];\r\n\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n locais_destinacao.map(m => {\r\n if (m.protocoloTransportadorLocalDestino_Id != local.protocoloTransportadorLocalDestino_Id)\r\n new_list.push(m);\r\n });\r\n _registro.protocoloTransportador[0].protocoloTransportadorLocalDestino = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n locais_destinacao.map(m => {\r\n if (m.requerimentoTransportadorLocalDestino_Id != local.requerimentoTransportadorLocalDestino_Id)\r\n new_list.push(m);\r\n });\r\n _registro.requerimentoTransportador[0].requerimentoTransportadorLocalDestino = new_list;\r\n }\r\n\r\n new_list.push(local);\r\n set_locais_destinacao(new_list);\r\n set_registro(_registro);\r\n\r\n set_cnpj(\"\");\r\n setValue(\"cnpj\", \"\");\r\n setValue(\"fantasia\", \"\");\r\n setValue(\"razaoSocial\", \"\");\r\n setValue(\"telefone\", \"\");\r\n set_telefone(\"\");\r\n setValue(\"celular\", \"\");\r\n set_celular(\"\");\r\n set_cep(\"\");\r\n setValue(\"cep\", \"\");\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"numEndereco\", \"\");\r\n setValue(\"complemento\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n\r\n set_rowEdit(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && locais_destinacao.length == 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os locais de destino\", 'error', null);\r\n return;\r\n }\r\n handleProximoStep(registro);\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

Locais de Destinação

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

Empresa

\r\n \r\n \r\n \r\n \r\n {errors.fantasia && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.razaoSocial && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n set_cnpj(event.target.value)} value={cnpj} inputRef={register({ required: true })} />\r\n {errors.cpf_cnpj && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n set_telefone(event.target.value)} value={telefone} inputRef={register({ required: false })} />\r\n \r\n \r\n \r\n \r\n \r\n set_celular(event.target.value)} value={celular} inputRef={register({ required: false })} />\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n
\r\n \r\n

Endereço

\r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, FormGroup, Form, Input, Row, Col, Container, Modal, ModalHeader, ModalBody, ModalFooter, Alert, Label } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable\";\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST, api_POST_File } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloTransportadorEquipamento, EnviaRequerimentoTransportadorEquipamento } from \"../../../services/protocolo_transportador_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nexport default function Equipamentos({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(true);\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [equipamentos, set_equipamentos] = React.useState([]);\r\n\r\n useEffect(() => {\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\")\r\n set_permiteEditar(false);\r\n\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloTransportador[0].protocoloTransportadorEquipamento != null) {\r\n set_equipamentos(item.protocoloTransportador[0].protocoloTransportadorEquipamento);\r\n }\r\n }\r\n\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoTransportadorEquipamento != null) {\r\n set_equipamentos(item.requerimentoTransportadorEquipamento);\r\n }\r\n\r\n if ((tipoCadastro == \"Requerimento\") || (tipoCadastro == \"Protocolo\" && !permiteManutencao)) {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Equipamento',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n // Status\r\n const [tipo, set_tipo] = React.useState(\"\");\r\n const [options_tipo] = React.useState([\r\n { value: \"Caçamba\", label: \"Caçamba\" }\r\n ]);\r\n const handleTipo = (value) => {\r\n set_tipo(value);\r\n setValue(\"tipo\", value, true);\r\n clearErrors(\"tipo\");\r\n }\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // Modal\r\n const [modal, setModal] = React.useState(false);\r\n const toggleModalEquipamentos = () => {\r\n setModal(!modal);\r\n }\r\n const handleDownloadPlanilha = () => {\r\n window.open(setupSistema?.caminhoVirtual + \"Equipamentos.xlsx\", \"_blank\")\r\n }\r\n const [file, set_file] = React.useState(null);\r\n const [erros_importacao, set_erros_importacao] = React.useState([]);\r\n const handleChangeArquivo = (event) => {\r\n if (event.target.files.length) {\r\n set_file(event.target.files[0]);\r\n }\r\n }\r\n const handleImportarEquipamentos = () => {\r\n set_erros_importacao([]);\r\n if (tipoCadastro != \"Requerimento\") {\r\n set_erros_importacao([{ linha: 0, erro: \"Só é possível importar o arquivo através de um requerimento do transportador!\" }]);\r\n return;\r\n }\r\n if (file == null) {\r\n set_erros_importacao([{ linha: 0, erro: \"Selecione o arquivo para importação!\" }]);\r\n return;\r\n }\r\n var formData = new FormData();\r\n formData.append(\"file\", file);\r\n\r\n setLoading(true);\r\n api_POST_File(`requerimentoTransportador/PostRequerimentoTransportadorEquipamentoFile/${item.requerimento_Id}`, formData).then(result => {\r\n let new_list = result.data;\r\n let _registro = registro;\r\n _registro.requerimentoTransportador[0].requerimentoTransportadorEquipamento = new_list;\r\n set_equipamentos(new_list);\r\n set_registro(_registro);\r\n setModal(false);\r\n showMessage(\"Aviso\", \"Importação concluída com sucesso!\", 'success', null);\r\n }).catch(err => { set_erros_importacao(err.message); })\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n setValue(\"numeroEquipamento\", rowData.numeroEquipamento);\r\n setValue(\"tipo\", rowData.tipo, true);\r\n set_tipo(rowData.tipo);\r\n setValue(\"dimensao\", rowData.dimensao);\r\n setValue(\"capacidadeVolume\", rowData.capacidadeVolume);\r\n set_status(rowData.status);\r\n setValue(\"status\", rowData.status, true);\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover este equipamento?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n let _usuarioId = session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : 0;\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n api_POST('protocoloTransportador/PostRemoveEquipamentoProtocolo/' + _usuarioId + \"/\" + rowData.protocoloTransportadorEquipamento_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Equipamento removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.protocoloTransportador_Id);\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_POST('requerimentoTransportador/PostRemoverEquipamentoRequerimento/' + rowData.requerimentoTransportadorEquipamento_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Equipamento removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n api_GET('protocoloTransportador/GetEquipamentosProtocolo/' + reloadId)\r\n .then(result => set_equipamentos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimentoTransportador/GetEquipamentosRequerimento/' + reloadId)\r\n .then(result => set_equipamentos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (rowEdit == null && equipamentos.filter(f => f.numeroEquipamento == data.numeroEquipamento).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um equipamento com esta numeração!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloTransportadorEquipamento(json, confirmaAddEquipamento)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoTransportadorEquipamento(json, confirmaAddEquipamento)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocoloTransportadorEquipamento_Id: rowEdit == null ? 0 : rowEdit.protocoloTransportadorEquipamento_Id,\r\n protocoloTransportador_Id: item.protocoloTransportador[0].protocoloTransportador_Id,\r\n numeroEquipamento: data.numeroEquipamento,\r\n tipo: tipo,\r\n dimensao: data.dimensao,\r\n capacidadeVolume: data.capacidadeVolume,\r\n status: status == \"\" ? \"Ativo\" : \"\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoTransportadorEquipamento_Id: rowEdit == null ? 0 : rowEdit.requerimentoTransportadorEquipamento_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n numeroEquipamento: data.numeroEquipamento,\r\n tipo: tipo,\r\n dimensao: data.dimensao,\r\n capacidadeVolume: data.capacidadeVolume,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddEquipamento = (result) => {\r\n setLoading(false);\r\n let equipamento = result.data;\r\n\r\n let new_list = [];\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n equipamentos.map(m => {\r\n if (m.protocoloTransportadorEquipamento_Id != equipamento.protocoloTransportadorEquipamento_Id)\r\n new_list.push(m);\r\n });\r\n _registro.protocoloTransportador[0].protocoloTransportadorEquipamento = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n equipamentos.map(m => {\r\n if (m.requerimentoTransportadorEquipamento_Id != equipamento.requerimentoTransportadorEquipamento_Id)\r\n new_list.push(m);\r\n });\r\n _registro.requerimentoTransportadorEquipamento = new_list;\r\n }\r\n\r\n new_list.push(equipamento);\r\n set_equipamentos(new_list);\r\n set_registro(_registro);\r\n\r\n setValue(\"numeroEquipamento\", \"\");\r\n setValue(\"tipo\", \"\", false);\r\n set_tipo(\"\");\r\n setValue(\"dimensao\", \"\");\r\n setValue(\"capacidadeVolume\", \"\");\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n\r\n set_rowEdit(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && equipamentos.length == 0 && tipoCadastro == \"Requerimento\" && registro.requerimentoTransportadorVeiculo.filter(v => v.tipo == \"Poliguindaste\" || v.tipo == \"Roll-on Roll-off\").length > 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os equipamentos\", 'error', null);\r\n return;\r\n }\r\n handleProximoStep(registro);\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

Equipamentos

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.numeroEquipamento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleTipo(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={tipo != \"\" && options_tipo.find(obj => obj.value === tipo)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipo\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.tipo && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.dimensao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.capacidadeVolume && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" &&\r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {tipoCadastro == \"Requerimento\" &&\r\n \r\n \r\n \r\n }\r\n {permiteEditar &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n ×} className=\"md-hd\"> Importar Equipamentos\r\n \r\n
Siga as instruções abaixo para preencher a planilha:
\r\n \r\n \r\n

1. O campo \"Tipo\" deve ser preenchido com o texto \"Caçamba\";

\r\n

2. O campo \"Numero\" corresponde ao Número de Identificação do equipamento;

\r\n

3. O campo \"Dimensao\" deve ser preenchido com a largura x altura x comprimento do equipamento;

\r\n

4. O campo \"Volume\" deve possuir apenas números e ser preenchido com a capacidade em m³.

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {erros_importacao != null && erros_importacao.length > 0 && erros_importacao.map((m, key) => (\r\n \r\n {m.linha > 0 ? (\"Linha \" + m.linha + \" - \") : \"\"} {m.erro}\r\n \r\n ))\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\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Container, FormGroup, Input } from \"reactstrap\";\r\nimport InputPDF from \"components/Input/InputPDF\";\r\n\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { EnviaProtocoloDocumentoGerador } from \"../../services/protocolo_gerador_service.js\";\r\nimport { EnviaRequerimentoDocumentoGerador } from \"../../services/protocolo_gerador_service.js\";\r\nimport { EnviaProtocoloDocumentoTransportador } from \"../../services/protocolo_transportador_service.js\";\r\nimport { EnviaRequerimentoDocumentoTransportador } from \"../../services/protocolo_transportador_service.js\";\r\nimport { EnviaProtocoloDocumentoDestino } from \"../../services/protocolo_destino_service.js\";\r\nimport { EnviaRequerimentoDocumentoDestino } from \"../../services/protocolo_destino_service.js\";\r\nimport { api_PUT } from \"../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function Documentos({ item, opcao, handleProximoStep, handleStepAnterior }) {\r\n\r\n const { session, setLoading } = useAuth();\r\n\r\n const [registro, set_registro] = useState(null);\r\n\r\n const [documentos, set_documentos] = useState([]);\r\n\r\n const [observacoesRequerente, setObservacoesRequerente] = useState(\"\");\r\n\r\n const [options_documentos, set_options_documentos] = useState([]);\r\n const loadOptionsDocumentos = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && item)\r\n setObservacoesRequerente(item.observacaoRequerente ?? \"\");\r\n\r\n let acao = \"\";\r\n if (opcao.tipoCadastro == \"Protocolo\")\r\n acao = item.setupSolicitacaoAcaoNovoCadastro;\r\n else\r\n acao = item.setupSolicitacaoAcao;\r\n\r\n api_GET(`SetupSolicitacao/GetDocumentosByAcaoId/${acao.setupSolicitacaoAcao_Id}`)\r\n .then(result => {\r\n set_options_documentos(result.data);\r\n\r\n if (opcao.tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (opcao.tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloDocumentos != null) {\r\n set_documentos(item.protocoloDocumentos);\r\n }\r\n }\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoDocumento != null) {\r\n set_documentos(item.requerimentoDocumento);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadOptionsDocumentos();\r\n }, []);\r\n\r\n const confirmaAddFile = (lista_documento) => {\r\n let newDocumentos = [];\r\n documentos.map(m => {\r\n if (m.documento_Id != lista_documento.documento_Id)\r\n newDocumentos.push(m);\r\n })\r\n newDocumentos.push(lista_documento);\r\n set_documentos(newDocumentos);\r\n }\r\n\r\n const handleFile = (file, callback) => {\r\n if (file == null) {\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n\r\n if (opcao.tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(file);\r\n if (opcao.segmento == \"Grande Gerador\")\r\n EnviaProtocoloDocumentoGerador(json, function (result) {\r\n setLoading(false);\r\n callback();\r\n confirmaAddFile(result.data);\r\n })\r\n else if (opcao.segmento == \"Transportador\")\r\n EnviaProtocoloDocumentoTransportador(json, function (result) {\r\n setLoading(false);\r\n callback();\r\n confirmaAddFile(result.data);\r\n })\r\n else if (opcao.segmento == \"Destino Final\")\r\n EnviaProtocoloDocumentoDestino(json, function (result) {\r\n setLoading(false);\r\n callback();\r\n confirmaAddFile(result.data);\r\n })\r\n }\r\n else if (opcao.tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(file);\r\n if (opcao.segmento == \"Grande Gerador\")\r\n EnviaRequerimentoDocumentoGerador(json, function (result) {\r\n setLoading(false);\r\n callback();\r\n confirmaAddFile(result.data);\r\n })\r\n else if (opcao.segmento == \"Transportador\")\r\n EnviaRequerimentoDocumentoTransportador(json, function (result) {\r\n setLoading(false);\r\n callback();\r\n confirmaAddFile(result.data);\r\n })\r\n else if (opcao.segmento == \"Destino Final\")\r\n EnviaRequerimentoDocumentoDestino(json, function (result) {\r\n setLoading(false);\r\n callback();\r\n confirmaAddFile(result.data);\r\n })\r\n }\r\n }\r\n\r\n const carregaJsonProtocolo = (file) => {\r\n let json_submit = {\r\n protocoloDocumento_Id: 0,\r\n protocolo_Id: item.protocolo_Id,\r\n arquivo: file.name,\r\n arquivoBase64: file.base64,\r\n documento_Id: file.documento_Id,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n\r\n const carregaJsonRequerimento = (file) => {\r\n let json_submit = {\r\n requerimentoDocumento_Id: 0,\r\n requerimento_Id: item.requerimento_Id,\r\n arquivo: file.name,\r\n arquivoBase64: file.base64,\r\n documento_Id: file.documento_Id,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n\r\n const handleSubmitObservacoesRequerente = () => {\r\n setLoading(true);\r\n api_PUT('requerimento/ObservacoesRequerente', {\r\n requerimento_Id: item?.requerimento_Id,\r\n observacaoRequerente: observacoesRequerente\r\n }).then(result => {\r\n let _registro = { ...registro }\r\n _registro.observacaoRequerente = result.data;\r\n handleProximoStep(_registro);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleConcluir = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && options_documentos.filter(x => documentos.filter(y => y.documento_Id == x.documento_Id).length == 0).length > 0) {\r\n showMessage(\"Aviso\", \"Você deve importar todos os documentos!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (session == null || (session && session.tipoAcesso == \"Protocolo\"))\r\n handleSubmitObservacoesRequerente();\r\n else\r\n handleProximoStep(registro);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n

Documentos Obrigatórios

\r\n
* Os documentos devem ser enviados no formato PDF.
\r\n
* Restam importar {options_documentos.filter(x => documentos.filter(y => y.documento_Id == x.documento_Id).length == 0).length} de {options_documentos.length} documentos.
\r\n
\r\n {options_documentos.length > 0 && options_documentos.map((m, key) => (\r\n \r\n \r\n

{m.documento.descricao}

\r\n f.documento_Id == m.documento.documento_Id).length > 0 ? { name: documentos.filter(f => f.documento_Id == m.documento.documento_Id)[0].arquivo } : null}\r\n documento_id={m.documento_Id} handlefile={handleFile}>\r\n \r\n \r\n \r\n {m.documento.orientacao}\r\n \r\n
\r\n ))}\r\n\r\n {!session &&\r\n \r\n \r\n \r\n \r\n setObservacoesRequerente(e.target.value)}\r\n value={observacoesRequerente}\r\n maxLength=\"8000\"\r\n />\r\n \r\n \r\n \r\n }\r\n
\r\n\r\n \r\n \r\n \r\n \r\n {handleProximoStep != 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}","import { api_POST, api_PUT, api_GET, api_GETExternal } from \"services/api_service.js\";\r\nimport { showMessage } from \"./message\";\r\n\r\nexport const EnviaProtocoloWithProtocoloGerador = (json, callback) => {\r\n if (json.protocolo_Id == 0) {\r\n api_POST('protocoloGerador/PostProtocoloWithProtocoloGerador', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloGerador/PutProtocoloWithProtocoloGerador', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloGeradorCaracterizacaoResiduo = (json, callback) => {\r\n api_POST('protocoloGerador/PostProtocoloGeradorCaracterizacaoResiduo ', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\nexport const EnviaProtocoloGeradorLocal = (json, callback) => {\r\n if (json.protocoloGeradorLocal_Id == 0) {\r\n api_POST('protocoloGerador/PostProtocoloGeradorLocal', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloGerador/PutProtocoloGeradorLocal', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloGeradorLocalArmazenagem = (json, callback) => {\r\n if (json.protocoloGeradorLocalArmazenagem_Id == 0) {\r\n api_POST('protocoloGerador/PostProtocoloGeradorLocalArmazenagem', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloGerador/PutProtocoloGeradorLocalArmazenagem', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloGeradorClasseResiduo = (json, callback) => {\r\n if (json.protocoloGeradorClasseResiduo_Id == 0) {\r\n api_POST('protocoloGerador/PostProtocoloGeradorClasseResiduo', json).then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloGerador/PutProtocoloGeradorClasseResiduo', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloDocumentoGerador = (json, callback) => {\r\n api_POST('protocoloGerador/PostProtocoloDocumento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\n\r\nexport const EnviaRequerimentoGerador = (json, callback) => {\r\n if (json.requerimentoGerador_Id == 0) {\r\n api_POST('RequerimentoGerador/PostRequerimentoGerador', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('RequerimentoGerador/PutRequerimentoGerador', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoGeradorCaracterizacaoResiduo = (json, callback) => {\r\n api_POST('requerimentoGerador/PostRequerimentoGeradorCaracterizacaoResiduo ', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\nexport const EnviaRequerimentoGeradorLocal = (json, callback) => {\r\n if (json.requerimentoGeradorLocal_Id == 0) {\r\n api_POST('requerimentoGerador/PostRequerimentoGeradorLocal ', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoGerador/PutRequerimentoGeradorLocal', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoGeradorLocalArmazenagem = (json, callback) => {\r\n if (json.requerimentoGeradorLocalArmazenagem_Id == 0) {\r\n api_POST('requerimentoGerador/PostRequerimentoGeradorLocalArmazenagem ', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoGerador/PutRequerimentoGeradorLocalArmazenagem', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoGeradorClasseResiduo = (json, callback) => {\r\n if (json.requerimentoGeradorClasseResiduo_Id == 0) {\r\n api_POST('requerimentoGerador/PostRequerimentoGeradorClasseResiduo ', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('requerimentoGerador/PutRequerimentoGeradorClasseResiduo', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoDocumentoGerador = (json, callback) => {\r\n api_POST('requerimento/PostrequerimentoDocumento', json)\r\n .then(result => { callback(result); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\n","import { api_POST, api_PUT } from \"services/api_service.js\";\r\nimport { showMessage } from \"./message\";\r\n\r\nexport const EnviaProtocoloWithProtocoloDestino = (json, callback) => {\r\n if (json.protocolo_Id == 0) {\r\n api_POST('protocoloDestino/PostProtocoloWithProtocoloDestino', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n else {\r\n api_PUT('protocoloDestino/PutProtocoloWithProtocoloDestino', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloDestinoLocal = (json, callback) => {\r\n if (json.protocoloDestinoLocal_Id == 0) {\r\n api_POST('protocoloDestino/PostProtocoloDestinoLocal', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n else {\r\n api_PUT('protocoloDestino/PutProtocoloDestinoLocal', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n}\r\n\r\nexport const EnviaProtocoloDocumentoDestino = (json, callback) => {\r\n api_POST('protocoloDestino/PostProtocoloDocumento', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\n\r\nexport const EnviaRequerimentoDestino = (json, callback) => {\r\n if (json.requerimentoDestino_Id == 0) {\r\n api_POST('requerimentoDestino/PostRequerimentoDestino', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n else {\r\n api_PUT('requerimentoDestino/PutRequerimentoDestino', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoDestinoLocal = (json, callback) => {\r\n if (json.requerimentoDestinoLocal_Id == 0) {\r\n api_POST('requerimentoDestino/PostRequerimentoDestinoLocal ', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n else {\r\n api_PUT('requerimentoDestino/PutRequerimentoDestinoLocal', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n\r\n }\r\n}\r\n\r\nexport const EnviaRequerimentoDocumentoDestino = (json, callback) => {\r\n api_POST('requerimento/PostrequerimentoDocumento', json)\r\n .then(result => { callback(result) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n}\r\n\r\n","import React, { useEffect } from 'react';\r\n\r\n// reactstrap components\r\nimport { Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Transportador/Identificacao\";\r\nimport Veiculos from \"../../../views/Shared/Transportador/Veiculos\";\r\nimport LocaisGuarda from \"../../../views/Shared/Transportador/LocaisGuarda\";\r\nimport LocaisDestinacao from \"../../../views/Shared/Transportador/LocaisDestinacao\";\r\nimport Equipamentos from \"../../../views/Shared/Transportador/Equipamentos\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function ManutencaoTransportadorForm({ item, handleReturn }) {\r\n const {setLoading} = useAuth();\r\n\r\n\r\n const [protocolo, set_protocolo] = React.useState(item);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_protocolo) => {\r\n if ((step == 5 && opcao.categoria.sigla != \"RGG\") || (step == 2 && opcao.categoria.sigla == \"RGG\")) {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n }\r\n else {\r\n set_protocolo(_protocolo);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_protocolo) => {\r\n set_protocolo(_protocolo)\r\n set_step(step - 1);\r\n }\r\n\r\n const [permiteManutencao, set_permiteManutencao] = React.useState(false);\r\n const handleVerificaPermissaoManutencao = () => {\r\n setLoading(true);\r\n\r\n api_GET('Protocolo/VerifyExistsRequeriments/' + protocolo.protocolo_Id)\r\n .then(result => {\r\n set_permiteManutencao(result.data.sucesso);\r\n if (!result.data.sucesso) {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro. \" + result.data.mensagem, 'warning', null);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n set_opcao({\r\n tipoCadastro: \"Protocolo\",\r\n segmento: \"Transportador\",\r\n categoria: item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria\r\n });\r\n set_protocolo(item);\r\n handleVerificaPermissaoManutencao();\r\n }, []);\r\n\r\n const steps = [];\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Veiculos', 'Guarda de Veiculos', 'Destinação', 'Equipamentos', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Veiculos', 'Documentação');\r\n }\r\n\r\n return (\r\n <>\r\n {protocolo != null && opcao != null &&
\r\n \r\n \r\n \r\n {step == 0 && }\r\n {step == 1 && }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 2 && : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ? step == 3 && : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ? step == 4 && : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 5 && \r\n :\r\n step == 2 && }\r\n
}\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\nimport { isBefore, differenceInDays, startOfDay, parseISO } from 'date-fns';\r\nimport { useHistory } from \"react-router\";\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Container, Tooltip, Modal, ModalHeader, ModalBody, ModalFooter, UncontrolledTooltip } from \"reactstrap\";\r\nimport InputPDF from \"components/Input/InputPDF\";\r\n\r\n//helpers\r\nimport { formateDateApi, formateDateandTime } from \"../../../helpers/formats.js\";\r\n\r\n\r\n// services\r\nimport { InputCEP, InputCNPJ, InputCPF, InputTELEFONE } from \"../../../services/mask.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_PUT } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloWithProtocoloGerador, EnviaRequerimentoGerador } from \"../../../services/protocolo_gerador_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep.js\";\r\n\r\n//Helpers\r\nimport { ValidaEmail } from \"../../../helpers/email.js\";\r\nimport { isValidDate, onlyAlphaNumericAndSpace, onlyNumber } from \"../../../helpers/valid.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth.js\";\r\n\r\nexport default function Identificacao({ item, opcao, permiteManutencao, handleProximoStep, handleReturn, setupSolicitacao, addNovoGerador = false }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const history = useHistory();\r\n\r\n const [modal, setModal] = useState(false);\r\n const toggleModal = () => setModal(!modal);\r\n\r\n const [permiteEditar, set_permiteEditar] = useState(true);\r\n\r\n const [identificacao, set_identificacao] = useState(null);\r\n const [setupSolicitacaoAcao, set_setupSolicitacaoAcao] = useState(null);\r\n const [optionsTipoGerador, setOptionsTipoGerador] = useState([\r\n { value: \"Física\", label: \"Pessoa Física\" },\r\n { value: \"Jurídica\", label: \"Pessoa Jurídica (Privada)\" },\r\n { value: \"Pública\", label: \"Pessoa Jurídica (Pública)\" }\r\n ])\r\n\r\n // State para pegar a opção do tipo de cadastro\r\n const [setupSolicitacoaAcaoNovoCadastro_Id, setSetupSolicitacoaAcaoNovoCadastro_Id] = useState(null);\r\n\r\n //modal para alteração do tipo do cadastro\r\n const [modalAlteracaoCadastro, setModalAlteracaoCadastro] = useState(false);\r\n const toggleAlteracaoCadastroModal = () => {\r\n setSetupSolicitacoaAcaoNovoCadastro_Id(null);\r\n setModalAlteracaoCadastro(!modalAlteracaoCadastro)\r\n };\r\n\r\n // State para pegar as opcoes de setupSolicitacoaAcoes \r\n const [opcoes_SetupSolicitacoaAcaoNovoCadastro, setOpcoes_SetupSolicitacoaAcaoNovoCadastro] = useState([]);\r\n const loadOpcoesTipoCadastro = (setupSolicitacaoAcaoNovoCadastro_Id) => {\r\n setLoading(true)\r\n api_GET(`Protocolo/GetOpcoesTipoCadastro/${setupSolicitacaoAcaoNovoCadastro_Id}`)\r\n .then(result => setOpcoes_SetupSolicitacoaAcaoNovoCadastro(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [dataValidadeCadastroRGG, setDataValidadeCadastroRGG] = useState(null);\r\n const loadItemRequerimento = () => {\r\n if (item != null) {\r\n set_setupSolicitacaoAcao(item.setupSolicitacaoAcao);\r\n set_identificacao(item);\r\n setValue(\"email\", item.email);\r\n setValue(\"cnpj\", item.cpf_Cnpj);\r\n setValue(\"nomeSolicitante\", item.nomeSolicitante);\r\n setValue(\"responsavel\", item.requerimentoGerador != null && item.requerimentoGerador.length > 0 ? item?.requerimentoGerador[0].nomeResponsavel : item.nomeSolicitante);\r\n setValue(\"cpf\", item.cpf_Cnpj);\r\n set_categoria(item.setupSolicitacaoAcao.setupSolicitacao.categoria);\r\n set_tipoGerador(item.setupSolicitacaoAcao.setupSolicitacao.pessoa);\r\n if (item.requerimentoGerador != null && item.requerimentoGerador.length > 0) {\r\n setValue(\"fantasia\", item.requerimentoGerador[0].nome_Fantasia);\r\n setValue(\"razaoSocial\", item.requerimentoGerador[0].razaoSocial);\r\n setValue(\"nomeResponsavelTecnico\", item.requerimentoGerador[0].nomeResponsavelTecnico);\r\n setValue(\"tipoDocumentoResponsavelTecnico\", item.requerimentoGerador[0].tipoDocumentoResponsavelTecnico);\r\n set_tipoDocumentoResponsavelTecnico(item.requerimentoGerador[0].tipoDocumentoResponsavelTecnico, true);\r\n setValue(\"numeroDocumentoResponsavelTecnico\", item.requerimentoGerador[0].numeroDocumentoResponsavelTecnico);\r\n if (item.requerimentoGerador[0].arquivoCertificadoResponsavelTecnico != null) {\r\n set_file_certificadoCurso({\r\n name: item.requerimentoGerador[0].arquivoCertificadoResponsavelTecnico,\r\n base64: null,\r\n documento_Id: 0\r\n });\r\n }\r\n setValue(\"ccm\", item.requerimentoGerador[0].ccm);\r\n setValue(\"telefone\", item.requerimentoGerador[0].telefone);\r\n setValue(\"celular\", item.requerimentoGerador[0].celular);\r\n setValue(\"tipoIndustriaComercio\", item.requerimentoGerador[0].tipoIndustriaComercio);\r\n setValue(\"ramo\", item.requerimentoGerador[0].ramoAtividade);\r\n setValue(\"cep\", item.requerimentoGerador[0].cep);\r\n setValue(\"logradouro\", item.requerimentoGerador[0].logradouro);\r\n setValue(\"bairro\", item.requerimentoGerador[0].bairro);\r\n setValue(\"numEndereco\", item.requerimentoGerador[0].numEndereco);\r\n setValue(\"complemento\", item.requerimentoGerador[0].complemento);\r\n setValue(\"cidade\", item.requerimentoGerador[0].cidade);\r\n if (item.requerimentoGerador[0].dataValidadeCadastro != null) {\r\n setValue(\"dataValidadeCadastro\", formateDateApi(item.requerimentoGerador[0].dataValidadeCadastro))\r\n setDataValidadeCadastroRGG(formateDateApi(item.requerimentoGerador[0].dataValidadeCadastro));\r\n }\r\n setValue(\"uf\", item.requerimentoGerador[0].uf);\r\n setValue(\"status\", item.status, true);\r\n set_status(item.status);\r\n setValue(\"tipoEstabelecimento\", item.requerimentoGerador[0].tipoEstabelecimento, true);\r\n set_tipoEstabelecimento(item.requerimentoGerador[0].tipoEstabelecimento);\r\n setValue(\"qtdeLeitosAtivos\", item.requerimentoGerador[0].quantidadeLeitosAtivos);\r\n setValue(\"qtdeLeitosInativos\", item.requerimentoGerador[0].quantidadeLeitosInativos);\r\n setValue(\"classificacaoEstabelecimento\", item.requerimentoGerador[0].classificacaoEstabelecimento, true);\r\n set_classificacaoEstabelecimento(item.requerimentoGerador[0].classificacaoEstabelecimento);\r\n setValue(\"subPrefeitura\", item.requerimentoGerador[0].subPrefeitura, true);\r\n set_subPrefeitura(item.requerimentoGerador[0].subPrefeitura);\r\n set_ramo(item.requerimentoGerador[0].ramoAtividade);\r\n\r\n //Campos novos\r\n setValue(\"consumoMensalAgua\", item.requerimentoGerador[0]?.consumoMensalAgua, true);\r\n setConsumoMensalAgua(item.requerimentoGerador[0]?.consumoMensalAgua);\r\n\r\n setValue(\"consumoMensalEnergia\", item.requerimentoGerador[0]?.consumoMensalEnergia, true);\r\n setConsumoMensalEnergia(item.requerimentoGerador[0]?.consumoMensalEnergia)\r\n\r\n setValue(\"localEmpreendimento\", item.requerimentoGerador[0]?.localEmpreendimento, true);\r\n setLocalEmpreendimento(item.requerimentoGerador[0]?.localEmpreendimento)\r\n\r\n setValue(\"numeroColaboradores\", item.requerimentoGerador[0]?.numeroColaboradores, true);\r\n setNumeroColaboradores(item.requerimentoGerador[0]?.numeroColaboradores);\r\n\r\n setValue(\"areaTotal\", item.requerimentoGerador[0]?.areaTotal?.toString()?.replace(\".\", \",\"), true);\r\n setValue(\"areaConstruida\", item.requerimentoGerador[0]?.areaConstruida?.toString()?.replace(\".\", \",\"), true)\r\n }\r\n }\r\n }\r\n\r\n const loadItemProtocolo = () => {\r\n if (item != null) {\r\n set_setupSolicitacaoAcao(item.setupSolicitacaoAcaoNovoCadastro);\r\n set_identificacao(item);\r\n setValue(\"email\", item.email);\r\n setValue(\"cnpj\", item.cpf_Cnpj);\r\n setValue(\"cpf\", item.cpf_Cnpj);\r\n setValue(\"nomeSolicitante\", item.nomeSolicitante);\r\n setValue(\"responsavel\", item.protocoloGerador != null && item.protocoloGerador.length > 0 ? item?.protocoloGerador[0].nomeResponsavel : item.nomeSolicitante);\r\n set_categoria(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria);\r\n if (item.protocoloGerador.length > 0) {\r\n set_tipoGerador(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.pessoa);\r\n setValue(\"fantasia\", item.protocoloGerador[0].nome_Fantasia);\r\n setValue(\"razaoSocial\", item.protocoloGerador[0].razaoSocial);\r\n setValue(\"nomeResponsavelTecnico\", item.protocoloGerador[0].nomeResponsavelTecnico);\r\n setValue(\"tipoDocumentoResponsavelTecnico\", item.protocoloGerador[0].tipoDocumentoResponsavelTecnico);\r\n set_tipoDocumentoResponsavelTecnico(item.protocoloGerador[0].tipoDocumentoResponsavelTecnico, true);\r\n setValue(\"numeroDocumentoResponsavelTecnico\", item.protocoloGerador[0].numeroDocumentoResponsavelTecnico);\r\n if (item.protocoloGerador[0].arquivoCertificadoResponsavelTecnico != null) {\r\n set_file_certificadoCurso({\r\n name: item.protocoloGerador[0].arquivoCertificadoResponsavelTecnico,\r\n base64: null,\r\n documento_Id: 0\r\n });\r\n }\r\n setValue(\"ccm\", item.protocoloGerador[0].ccm);\r\n setValue(\"codigoCadastro\", item.codigoCadastro);\r\n setValue(\"telefone\", item.protocoloGerador[0].telefone);\r\n setValue(\"celular\", item.protocoloGerador[0].celular);\r\n setValue(\"tipoIndustriaComercio\", item.protocoloGerador[0].tipoIndustriaComercio);\r\n setValue(\"ramo\", item.protocoloGerador[0].ramoAtividade);\r\n set_ramo(item.protocoloGerador[0].ramoAtividade)\r\n setValue(\"dataFimVigencia\", formateDateApi(item.dataFimVigencia));\r\n setValue(\"cep\", item.protocoloGerador[0].cep);\r\n setValue(\"logradouro\", item.protocoloGerador[0].logradouro);\r\n setValue(\"bairro\", item.protocoloGerador[0].bairro);\r\n setValue(\"numEndereco\", item.protocoloGerador[0].numEndereco);\r\n setValue(\"complemento\", item.protocoloGerador[0].complemento);\r\n setValue(\"cidade\", item.protocoloGerador[0].cidade);\r\n setValue(\"uf\", item.protocoloGerador[0].uf);\r\n setValue(\"status\", item.status, true);\r\n set_status(item.status);\r\n setValue(\"tipoEstabelecimento\", item.protocoloGerador[0].tipoEstabelecimento, true);\r\n set_tipoEstabelecimento(item.protocoloGerador[0].tipoEstabelecimento);\r\n setValue(\"qtdeLeitosAtivos\", item.protocoloGerador[0].quantidadeLeitosAtivos);\r\n setValue(\"qtdeLeitosInativos\", item.protocoloGerador[0].quantidadeLeitosInativos);\r\n setValue(\"classificacaoEstabelecimento\", item.protocoloGerador[0].classificacaoEstabelecimento, true);\r\n set_classificacaoEstabelecimento(item.protocoloGerador[0].classificacaoEstabelecimento);\r\n setValue(\"subPrefeitura\", item.protocoloGerador[0].subPrefeitura, true);\r\n set_subPrefeitura(item.protocoloGerador[0].subPrefeitura);\r\n\r\n //Campos novos\r\n setValue(\"consumoMensalAgua\", item.protocoloGerador[0]?.consumoMensalAgua, true);\r\n setConsumoMensalAgua(item.protocoloGerador[0]?.consumoMensalAgua);\r\n\r\n setValue(\"consumoMensalEnergia\", item.protocoloGerador[0]?.consumoMensalEnergia, true);\r\n setConsumoMensalEnergia(item.protocoloGerador[0]?.consumoMensalEnergia)\r\n\r\n setValue(\"localEmpreendimento\", item.protocoloGerador[0]?.localEmpreendimento, true);\r\n setLocalEmpreendimento(item.protocoloGerador[0]?.localEmpreendimento)\r\n\r\n setValue(\"numeroColaboradores\", item.protocoloGerador[0]?.numeroColaboradores, true);\r\n setNumeroColaboradores(item.protocoloGerador[0]?.numeroColaboradores);\r\n\r\n setValue(\"areaTotal\", item.protocoloGerador[0]?.areaTotal?.toString()?.replace(\".\", \",\"), true);\r\n setValue(\"areaConstruida\", item.protocoloGerador[0]?.areaConstruida?.toString()?.replace(\".\", \",\"), true)\r\n }\r\n }\r\n else {\r\n if (!item) {\r\n api_GET(`SetupSolicitacao/GetByAcaoSegmentoCategoria/Grande Gerador/${opcao.categoria.categoria_Id}/Novo Cadastro/${tipoGerador}`)\r\n .then(result => set_setupSolicitacaoAcao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n }\r\n\r\n // Status\r\n const [status, set_status] = useState(\"\");\r\n const options_status = [\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Cancelado\", label: \"Cancelado\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n { value: \"Pendente\", label: \"Pendente\" },\r\n { value: \"Vencido\", label: \"Vencido\" }\r\n ];\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // E-Mail\r\n const handleEmail = (event) => {\r\n\r\n if (event.target.value.length == 0)\r\n return;\r\n\r\n ValidaEmail(event.target.value, handleRetornoValidaEmail);\r\n }\r\n\r\n const handleRetornoValidaEmail = (result) => {\r\n if (!result.data) {\r\n showMessage(\"Aviso\", \"E-Mail inválido.\", 'error', null);\r\n setValue(\"email\", \"\");\r\n }\r\n }\r\n\r\n const [tooltipOpen, setTooltipOpen] = useState(false);\r\n const toggle = () => setTooltipOpen(!tooltipOpen);\r\n\r\n // Nome Fantasia\r\n const handleFantasia = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"fantasia\", result);\r\n }\r\n\r\n // Razão Social\r\n const handleRazaoSocial = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"razaoSocial\", result);\r\n }\r\n\r\n // Nome do Solicitante\r\n const handleSolicitante = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"nomeSolicitante\", result);\r\n }\r\n\r\n // Data Vigência\r\n const handleDataVigencia = (event) => {\r\n let input_date = event.target.value;\r\n\r\n if (input_date != \"\" || input_date.length > 0) {\r\n if (isValidDate(input_date) == false) {\r\n showMessage(\"Aviso\", \"Data de validade inválida.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Data Vigência\r\n const handleDataValidadeCadastro = (event) => {\r\n const dataSelecianda = startOfDay(parseISO(event.target.value, \"America/Sao_Paulo\")); // Ignora a hora, considera apenas a data\r\n const dataHoje = startOfDay(new Date());\r\n\r\n if (isBefore(dataSelecianda, dataHoje)) {\r\n showMessage(\"Aviso\", \"A data selecionada não pode ser menor que a data atual.\", 'warning', null);\r\n setValue(\"dataValidadeCadastro\", \"\");\r\n return;\r\n }\r\n\r\n const diferencaDias = differenceInDays(dataSelecianda, dataHoje);\r\n if (diferencaDias > 364) {\r\n showMessage(\"Aviso\", \"Data de validade não pode ser maior que 364 dias.\", 'warning', null);\r\n setValue(\"dataValidadeCadastro\", \"\");\r\n return;\r\n }\r\n }\r\n\r\n const [tipoGerador, set_tipoGerador] = useState(\"Pública\");\r\n const handleTipoGerador = (value) => {\r\n set_tipoGerador(value.value);\r\n setValue(\"tipoGerador\", value.value, true);\r\n clearErrors(\"tipoGerador\");\r\n\r\n if (addNovoGerador && setupSolicitacao.length > 0) {\r\n api_GET(`SetupSolicitacao/SetupSolicitacaoAcao/${value.setupSolicitacao_Id}`)\r\n .then(result => set_setupSolicitacaoAcao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n if (!item) {\r\n api_GET(`SetupSolicitacao/GetByAcaoSegmentoCategoria/Grande Gerador/${opcao.categoria.categoria_Id}/Novo Cadastro/${value.value}`)\r\n .then(result => set_setupSolicitacaoAcao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n //SubPrefeitura\r\n const [optionsSubPrefeitura, set_OptionsSubPrefeitura] = useState([]);\r\n const [subPrefeitura, set_subPrefeitura] = useState(null);\r\n const loadOptionsSubPrefeitura = () => {\r\n api_GET('subprefeitura').then(result => {\r\n set_OptionsSubPrefeitura(result.data);\r\n if (opcao && opcao.categoria.sigla == \"RGG\") {\r\n set_subPrefeitura(result.data.filter(x => x.nome == \"SP Regula\")[0]);\r\n setValue(\"subPrefeitura\", result.data.filter(x => x.nome == \"SP Regula\")[0], true);\r\n }\r\n\r\n if (opcao.tipoCadastro == \"Protocolo\" && opcao.categoria.sigla != \"RGG\") {\r\n if (item != null && item.protocoloGerador.length > 0) {\r\n set_subPrefeitura(item.protocoloGerador[0].subPrefeitura);\r\n setValue(\"subPrefeitura\", item.protocoloGerador[0].subPrefeitura, true);\r\n }\r\n }\r\n else if (opcao.tipoCadastro == \"Requerimento\" && opcao.categoria.sigla != \"RGG\") {\r\n if (item != null && item.requerimentoGerador.length > 0) {\r\n set_subPrefeitura(item.requerimentoGerador[0].subPrefeitura);\r\n setValue(\"subPrefeitura\", item.requerimentoGerador[0].subPrefeitura, true);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleSubPrefeitura = (value) => {\r\n set_subPrefeitura(value);\r\n setValue(\"subPrefeitura\", value, true);\r\n clearErrors(\"subPrefeitura\");\r\n }\r\n\r\n //Classificação do Estabelecimento - Somente para RSS\r\n const [optionsClassificacaoEstabelecimento, set_OptionsClassificacaoEstabelecimento] = useState([]);\r\n\r\n const [classificacaoEstabelecimento, set_classificacaoEstabelecimento] = useState(null);\r\n const loadOptionsClassificacaoEstabelecimento = () => {\r\n api_GET('ClassificacaoEstabelecimento')\r\n .then(result => {\r\n set_OptionsClassificacaoEstabelecimento(result.data);\r\n if (opcao.tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloGerador.length > 0) {\r\n set_classificacaoEstabelecimento(item.protocoloGerador[0].classificacaoEstabelecimento);\r\n setValue(\"classificacaoEstabelecimento\", item.protocoloGerador[0].classificacaoEstabelecimento, true);\r\n }\r\n }\r\n else if (opcao.tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoGerador.length > 0) {\r\n set_subPrefeitura(item.requerimentoGerador[0].classificacaoEstabelecimento);\r\n setValue(\"classificacaoEstabelecimento\", item.requerimentoGerador[0].classificacaoEstabelecimento, true);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleClassificacaoEstabelecimento = (value) => {\r\n set_classificacaoEstabelecimento(value);\r\n setValue(\"classificacaoEstabelecimento\", value, true);\r\n clearErrors(\"classificacaoEstabelecimento\");\r\n }\r\n\r\n // Tipo de Estabelecimento - Somente para RSS\r\n const [optionsTipoEstabelecimento, set_OptionsTipoEstabelecimento] = useState([]);\r\n const [tipoEstabelecimento, set_tipoEstabelecimento] = useState(null);\r\n const loadOptionsTipoEstabelecimento = () => {\r\n api_GET('TipoEstabelecimento')\r\n .then(result => {\r\n set_OptionsTipoEstabelecimento(result.data);\r\n if (opcao.tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloGerador.length > 0) {\r\n set_tipoEstabelecimento(item.protocoloGerador[0].tipoEstabelecimento);\r\n setValue(\"tipoEstabelecimento\", item.protocoloGerador[0].tipoEstabelecimento, true);\r\n }\r\n }\r\n else if (opcao.tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoGerador.length > 0) {\r\n set_tipoEstabelecimento(item.requerimentoGerador[0].tipoEstabelecimento);\r\n setValue(\"tipoEstabelecimento\", item.requerimentoGerador[0].tipoEstabelecimento, true);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleTipoEstabelecimento = (value) => {\r\n set_tipoEstabelecimento(value);\r\n setValue(\"tipoEstabelecimento\", value, true);\r\n clearErrors(\"tipoEstabelecimento\");\r\n }\r\n\r\n // Tipo Documento Responsável Técnico - Somente para RSS\r\n const [tipoDocumentoResponsavelTecnico, set_tipoDocumentoResponsavelTecnico] = useState(\"\");\r\n const [options_tipoDocumentoResponsavelTecnico] = useState([\r\n { value: \"CREA\", label: \"CREA\" },\r\n { value: \"CREFITO\", label: \"CREFITO\" },\r\n { value: \"CRBM\", label: \"CRBM\" },\r\n { value: \"CRF\", label: \"CRF\" },\r\n { value: \"CRM\", label: \"CRM\" },\r\n { value: \"CRMV\", label: \"CRMV\" },\r\n { value: \"CRO\", label: \"CRO\" },\r\n { value: \"CRP\", label: \"CRP\" },\r\n { value: \"CRQ\", label: \"CRQ\" },\r\n { value: \"COREN\", label: \"COREN\" },\r\n { value: \"RG\", label: \"RG\" }\r\n ]);\r\n const handleTipoDocumentoResponsavelTecnico = (value) => {\r\n set_tipoDocumentoResponsavelTecnico(value);\r\n setValue(\"tipoDocumentoResponsavelTecnico\", value, true);\r\n clearErrors(\"tipoDocumentoResponsavelTecnico\");\r\n }\r\n\r\n // Número Colaboradores - (Grande Gerador) RGG\r\n const [numeroColaboradores, setNumeroColaboradores] = useState(\"\");\r\n const [optionsNumeroColaboradores] = useState([\r\n { value: \"1-10\", label: \"1-10\" },\r\n { value: \"11-25\", label: \"11-25\" },\r\n { value: \"26-50\", label: \"26-50\" },\r\n { value: \"51-100\", label: \"51-100\" },\r\n { value: \"101-200\", label: \"101-200\" },\r\n { value: \"201-500\", label: \"201-500\" },\r\n { value: \"501-1000\", label: \"501-1000\" },\r\n { value: \"Acima de 1000\", label: \"Acima de 1000\" },\r\n ]);\r\n\r\n const handleNumeroColaboradores = (value) => {\r\n setNumeroColaboradores(value);\r\n setValue(\"numeroColaboradores\", value, true);\r\n clearErrors(\"numeroColaboradores\");\r\n }\r\n\r\n // Consumo Mensal Agua - (Grande Gerador) RGG\r\n const [consumoMensalEnergia, setConsumoMensalEnergia] = useState(\"\");\r\n const [optionsConsumoMensalEnergia] = useState([\r\n { value: \"0 a 1.000 Kwh\", label: \"0 a 1.000 Kwh\" },\r\n { value: \"1.001 a 2.500 Kwh\", label: \"1.001 a 2.500 Kwh\" },\r\n { value: \"2.501 a 5.000 Kwh\", label: \"2.501 a 5.000 Kwh\" },\r\n { value: \"5.001 a 10.000 Kwh\", label: \"5.001 a 10.000 Kwh\" },\r\n { value: \"10.001 a 15.000 Kwh\", label: \"10.001 a 15.000 Kwh\" },\r\n { value: \"Acima de 15.000 Kwh\", label: \"Acima de 15.000 Kwh\" },\r\n ]);\r\n\r\n const handleConsumoMensalEnergia = (value) => {\r\n setConsumoMensalEnergia(value);\r\n setValue(\"consumoMensalEnergia\", value, true);\r\n clearErrors(\"consumoMensalEnergia\");\r\n }\r\n\r\n // Consumo Mensal Agua - (Grande Gerador) RGG\r\n const [consumoMensalAgua, setConsumoMensalAgua] = useState(\"\");\r\n const [optionsConsumoMensalAgua] = useState([\r\n { value: \"0 a 100 m³\", label: \"0 a 100 m³\" },\r\n { value: \"101 a 200 m³\", label: \"101 a 200 m³\" },\r\n { value: \"201 a 300 m³\", label: \"201 a 300 m³\" },\r\n { value: \"301 a 400 m³\", label: \"301 a 400 m³\" },\r\n { value: \"401 a 500 m³\", label: \"401 a 500 m³\" },\r\n { value: \"Acima de 500 m³\", label: \"Acima de 500 m³\" },\r\n ]);\r\n\r\n const handleConsumoMensalAgua = (value) => {\r\n setConsumoMensalAgua(value);\r\n setValue(\"consumoMensalAgua\", value, true);\r\n clearErrors(\"consumoMensalAgua\");\r\n }\r\n\r\n\r\n // Consumo Mensal Agua - (Grande Gerador) RGG\r\n const [localEmpreendimento, setLocalEmpreendimento] = useState(\"\");\r\n const [optionsLocalEmpreendimento] = useState([\r\n { value: \"Casa\", label: \"Casa\" },\r\n { value: \"Prédio\", label: \"Prédio\" },\r\n { value: \"Shopping\", label: \"Shopping\" },\r\n { value: \"Galpão\", label: \"Galpão\" },\r\n { value: \"Outros\", label: \"Outros\" }\r\n ]);\r\n\r\n const handleLocalEmpreendimento = (value) => {\r\n setLocalEmpreendimento(value);\r\n setValue(\"localEmpreendimento\", value, true);\r\n clearErrors(\"localEmpreendimento\");\r\n }\r\n\r\n // Certificado Curso - Somente para RSS\r\n const [file_certificadoCurso, set_file_certificadoCurso] = useState(null);\r\n const handleFileCertificadoCurso = (_file, callback) => {\r\n if (_file == null) {\r\n showMessage(\"Aviso\", \"Não foi possível concluir o anexo do arquivo.\", 'error', null);\r\n return;\r\n }\r\n set_file_certificadoCurso(_file);\r\n callback();\r\n }\r\n\r\n const [tipoIndustria, set_tipoIndustria] = useState(\"\");\r\n\r\n // Número Endereço\r\n const handleNumeroEndereco = (e) => {\r\n let result = onlyNumber(e.target.value);\r\n setValue(\"numEndereco\", result);\r\n }\r\n\r\n // cep\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const handleCEP = (event) => {\r\n clearErrors(\"cep\");\r\n\r\n if (event.target.value.replace(/[^0-9]/g, '').trim().length < 8) {\r\n setValue(\"cep\", \"\");\r\n showMessage(\"Aviso\", \"Cep inválido. só é permitido preencher com números\", 'error', null);\r\n return;\r\n }\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == \"true\")) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_editarEndereco(true);\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else\r\n set_editarEndereco(true);\r\n }\r\n });\r\n }\r\n\r\n //Ramo de Atividade \r\n const [ramo, set_ramo] = useState(\"\");\r\n const [options_ramoAtividade, set_optionsRamoAtividade] = useState([]);\r\n\r\n const loadRamoAtividade = () => {\r\n api_GET('RamoAtividade')\r\n .then(result => {\r\n let tipos = result.data.map((m, key) => ({\r\n label: m.descricao,\r\n value: m.descricao\r\n }));\r\n set_optionsRamoAtividade(tipos);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleRamoAtividade = (value) => {\r\n set_ramo(value);\r\n setValue(\"ramo\", value, true);\r\n clearErrors(\"ramo\");\r\n }\r\n\r\n // Categoria\r\n const [categoria, set_categoria] = useState(null);\r\n\r\n const loadDefaultValues = (field) => {\r\n if (item == null)\r\n return \"\";\r\n\r\n if (opcao.tipoCadastro == \"Protocolo\") {\r\n switch (field) {\r\n case \"Telefone\": return item.protocoloGerador.length > 0 ? item.protocoloGerador[0].telefone : \"\";\r\n case \"Celular\": return item.protocoloGerador.length > 0 ? item.protocoloGerador[0].celular : \"\";\r\n case \"CEP\": return item.protocoloGerador.length > 0 ? item.protocoloGerador[0].cep : \"\";\r\n }\r\n }\r\n else if (opcao.tipoCadastro == \"Requerimento\") {\r\n if (item.requerimentoGerador != null) {\r\n switch (field) {\r\n case \"Telefone\": return item.requerimentoGerador.length > 0 ? item.requerimentoGerador[0].telefone : \"\";\r\n case \"Celular\": return item.requerimentoGerador.length > 0 ? item.requerimentoGerador[0].celular : \"\";\r\n case \"CEP\": return item.requerimentoGerador.length > 0 ? item.requerimentoGerador[0].cep : \"\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n const onSubmit = (data) => {\r\n setLoading(true);\r\n\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RCC\") {\r\n if (isValidDate(data.dataFimVigencia) == false) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Data de validade inválida.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\") {\r\n if (data.telefone == null || data.telefone == \"\") {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Obrigatório indicar um Telefone.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n\r\n if (setupSolicitacaoAcao.setupSolicitacao.categoria.sigla != \"RGG\") {\r\n let numeroEndereco = onlyNumber(data.numEndereco);\r\n if (numeroEndereco.length == \"\" && session === null) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Número de endereço inválido, ou, não informado. Só é permitido o preenchimento de dígitos numéricos.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n\r\n if(data.cep == \"\" || data.logradouro == \"\" || data.bairro == \"\" || data.numEndereco == \"\" || data.cidade == \"\" || data.uf == \"\") {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Obrigatório preencher todos os dados de endereço.\", 'warning', null);\r\n return\r\n }\r\n\r\n if ((session == null || ((session == null || (session && session.tipoAcesso == \"Protocolo\")))) && classificacaoEstabelecimento == null && setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\") {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Por favor, preencha o campo de classificação do estabelecimento.\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (permiteManutencao && opcao.tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloWithProtocoloGerador(json, handleRetornoSubmit);\r\n }\r\n else if (opcao.tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoGerador(json, handleRetornoSubmit)\r\n }\r\n else {\r\n set_identificacao(item);\r\n handleProximoStep(item);\r\n }\r\n }\r\n\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoGerador_Id: item != null && item.requerimentoGerador != null && item.requerimentoGerador.length > 0 ? item.requerimentoGerador[0].requerimentoGerador_Id : 0,\r\n requerimento_Id: item != null ? item.requerimento_Id : 0,\r\n subPrefeitura_Id: subPrefeitura ? subPrefeitura.subPrefeitura_Id : null,\r\n cpf_Cnpj: (tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") ? data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\") : data.cpf.replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n nome_Fantasia: data.fantasia == null ? data.responsavel : data.fantasia,\r\n razaoSocial: data.razaoSocial == null\r\n ? \"\"\r\n : ((tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") && data.razaoSocial == data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\")\r\n ? item.nomeSolicitante\r\n : data.razaoSocial),\r\n nomeResponsavel: data.responsavel,\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n tipoEstabelecimento_Id: tipoEstabelecimento ? tipoEstabelecimento.tipoEstabelecimento_Id : null,\r\n quantidadeLeitosAtivos: data.qtdeLeitosAtivos,\r\n quantidadeLeitosInativos: data.qtdeLeitosInativos,\r\n classificacaoEstabelecimento_Id: classificacaoEstabelecimento ? classificacaoEstabelecimento.classificacaoEstabelecimento_Id : null,\r\n nomeResponsavelTecnico: data.nomeResponsavelTecnico,\r\n tipoDocumentoResponsavelTecnico: tipoDocumentoResponsavelTecnico != null ? tipoDocumentoResponsavelTecnico : null,\r\n numeroDocumentoResponsavelTecnico: data.numeroDocumentoResponsavelTecnico,\r\n arquivoCertificadoResponsavelTecnico: file_certificadoCurso != null ? file_certificadoCurso.name : null,\r\n arquivoCertificadoResponsavelTecnicoBase64: file_certificadoCurso != null ? file_certificadoCurso.base64 : null,\r\n cCM: data.ccm,\r\n cEP: data.cep ? data.cep.replace(/[^0-9]/g, '') : null,\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uF: data.uf,\r\n telefone: data.telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: data.celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n ramoAtividade: data.ramo !== \"\" ? data.ramo : \"\",\r\n tipoIndustriaComercio: data.tipoIndustriaComercio != null ? data.tipoIndustriaComercio : null,\r\n dataValidadeCadastro: data.dataValidadeCadastro != null ? data.dataValidadeCadastro : null,\r\n numeroColaboradores: numeroColaboradores == \"\" ? null : numeroColaboradores,\r\n consumoMensalAgua: consumoMensalAgua == \"\" ? null : consumoMensalAgua,\r\n consumoMensalEnergia: consumoMensalEnergia == \"\" ? null : consumoMensalEnergia,\r\n localEmpreendimento: localEmpreendimento == \"\" ? null : localEmpreendimento,\r\n areaTotal: data?.areaTotal?.replace(\",\", \".\"),\r\n areaConstruida: data?.areaConstruida?.replace(\",\", \".\"),\r\n requerimento: {\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n email: data.email\r\n }\r\n }\r\n return json_submit;\r\n }\r\n\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n setupSolicitacaoAcaoNovoCadastro_Id: setupSolicitacaoAcao != null ? setupSolicitacaoAcao.setupSolicitacaoAcao_Id : item.setupSolicitacaoAcaoNovoCadastro_Id,\r\n numeroProtocolo: item != null ? item.numeroProtocolo : \"\",\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n email: data.email,\r\n cpf_Cnpj: (tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") ? data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\") : data.cpf.replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n status: (item != null && status == \"\") ? item.status : status,\r\n dataFimVigencia: session != null && session.tipoAcesso == \"AreaRestrita\" && data.dataFimVigencia != null ? data.dataFimVigencia : item.dataFimVigencia,\r\n usuarioCadastro_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n etapaCadastro: 1,\r\n codigoCadastro: (data != null && data.codigoCadastro != \"\") ? data.codigoCadastro : ((item != null && item.protocoloGerador.length > 0) ? item.codigoCadastro : \"0\"),\r\n tipoPessoa: optionsTipoGerador.find(tg => tg.value == data.tipoGerador)?.label || null,\r\n protocoloGerador: [{\r\n protocoloGerador_Id: (item != null && item.protocoloGerador.length > 0) ? item.protocoloGerador[0].protocoloGerador_Id : 0,\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n subPrefeitura_Id: subPrefeitura ? subPrefeitura.subPrefeitura_Id : null,\r\n cpf_Cnpj: (tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") ? data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\") : data.cpf.replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n nome_Fantasia: data.fantasia == null ? data.responsavel : data.fantasia,\r\n razaoSocial: data.razaoSocial == null\r\n ? \"\"\r\n : ((tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") && data.razaoSocial == data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\")\r\n ? item.nomeSolicitante\r\n : data.razaoSocial),\r\n nomeResponsavel: data.responsavel,\r\n tipoEstabelecimento_Id: tipoEstabelecimento != null ? tipoEstabelecimento.tipoEstabelecimento_Id : null,\r\n quantidadeLeitosAtivos: data.qtdeLeitosAtivos,\r\n quantidadeLeitosInativos: data.qtdeLeitosInativos,\r\n classificacaoEstabelecimento_Id: classificacaoEstabelecimento != null ? classificacaoEstabelecimento.classificacaoEstabelecimento_Id : null,\r\n nomeResponsavelTecnico: data.nomeResponsavelTecnico,\r\n tipoDocumentoResponsavelTecnico: tipoDocumentoResponsavelTecnico != null ? tipoDocumentoResponsavelTecnico : null,\r\n numeroDocumentoResponsavelTecnico: data.numeroDocumentoResponsavelTecnico,\r\n arquivoCertificadoResponsavelTecnico: file_certificadoCurso != null ? file_certificadoCurso.name : null,\r\n arquivoCertificadoResponsavelTecnicoBase64: file_certificadoCurso != null ? file_certificadoCurso.base64 : null,\r\n cCM: data.ccm,\r\n cEP: data.cep ? data.cep.replace(/[^0-9]/g, '') : null,\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uF: data.uf,\r\n telefone: data.telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: data.celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n ramoAtividade: data.ramo !== \"\" ? data.ramo : \"\",\r\n tipoIndustriaComercio: data.tipoIndustriaComercio != null ? data.tipoIndustriaComercio : null,\r\n numeroColaboradores: numeroColaboradores == \"\" ? null : numeroColaboradores,\r\n consumoMensalAgua: consumoMensalAgua == \"\" ? null : consumoMensalAgua,\r\n consumoMensalEnergia: consumoMensalEnergia == \"\" ? null : consumoMensalEnergia,\r\n localEmpreendimento: localEmpreendimento == \"\" ? null : localEmpreendimento,\r\n areaTotal: data?.areaTotal?.replace(\",\", \".\"),\r\n areaConstruida: data?.areaConstruida?.replace(\",\", \".\"),\r\n }],\r\n protocoloJustificativas: [{\r\n protocoloJustificativas_Id: (item != null && item.protocoloJustificativas != null && item.protocoloJustificativas.length > 0) ? item.protocoloJustificativas[0].protocoloJustificativas_Id : 0,\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n UsuarioJustificativa: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n observacao: data.observacao,\r\n usuario: data.usuario\r\n }]\r\n }\r\n return json_submit;\r\n }\r\n\r\n const handleRetornoSubmit = (result) => {\r\n setLoading(false);\r\n set_identificacao(result.data);\r\n handleProximoStep(result.data);\r\n }\r\n\r\n const handleAlteracaoCadastro = () => {\r\n if (setupSolicitacoaAcaoNovoCadastro_Id == null) {\r\n showMessage(\"Aviso\", \"Por favor, selecione o tipo do cadastro.\", \"warning\", null);\r\n return\r\n }\r\n showQuestion(\"Aviso\", \"Após alterar o tipo de cadastro, verifique se todos os dados estão corretos para o novo tipo. Em seguida, confira o protocolo no card de manutenção correspondente ao novo tipo de cadastro.\", 'question', function (retorno) {\r\n if (retorno) {\r\n setLoading(true)\r\n api_PUT(`Protocolo/AlterarTipoCadastro`, {\r\n protocolo_Id: item.protocolo_Id,\r\n setupSolicitacoaAcaoNovoCadastro_Id: setupSolicitacoaAcaoNovoCadastro_Id,\r\n usuario_Id: session.usuario_Id\r\n }).then(result => {\r\n showMessage(\"Sucesso\", \"Sucesso na operação.\", 'success', () => { history.push(\"/admin/Manutencao\") });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\" && item != null)\r\n loadOpcoesTipoCadastro(item?.setupSolicitacaoAcaoNovoCadastro_Id);\r\n\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\" && item != null && opcao.categoria.sigla != \"RSS\")\r\n set_permiteEditar(true);\r\n\r\n if (opcao.categoria.sigla == \"RGG\") {\r\n loadRamoAtividade();\r\n }\r\n loadOptionsSubPrefeitura();\r\n loadOptionsClassificacaoEstabelecimento();\r\n loadOptionsTipoEstabelecimento();\r\n\r\n if (addNovoGerador) {\r\n setOptionsTipoGerador(setupSolicitacao)\r\n }\r\n\r\n if (opcao.tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (opcao.tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n Histórico de Justificativas.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.protocoloJustificativas != undefined && item.protocoloJustificativas.length > 0 && item.protocoloJustificativas.map(justificativa => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Data da JustificativaObservaçãoUsuário
{formateDateandTime(justificativa.dataJustificativa)}{justificativa.observacao}{justificativa.usuario == undefined || justificativa.usuario == null\r\n ? justificativa.usuarioJustificativa\r\n : justificativa.usuario.nome}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n Alterar Tipo de Cadastro\r\n \r\n
\r\n { setSetupSolicitacoaAcaoNovoCadastro_Id(e.setupSolicitacoaAcaoNovoCadastro_Id) }}\r\n getOptionLabel={({ descricaoSetupSolicitacoaAcao }) => descricaoSetupSolicitacoaAcao}\r\n getOptionValue={({ setupSolicitacoaAcaoNovoCadastro_Id }) => setupSolicitacoaAcaoNovoCadastro_Id}\r\n value={opcoes_SetupSolicitacoaAcaoNovoCadastro.filter(f => f.setupSolicitacoaAcaoNovoCadastro_Id == setupSolicitacoaAcaoNovoCadastro_Id)}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n

Identificação

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

Dados de Identificação

\r\n
{categoria && categoria.descricao}
\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && permiteManutencao && opcoes_SetupSolicitacoaAcaoNovoCadastro.length > 0 &&\r\n
\r\n \r\n
\r\n }\r\n \r\n \r\n \r\n \r\n obj.value == tipoGerador)}\r\n onChange={(value) => handleTipoGerador(value)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoGerador\" },\r\n { required: false })\r\n }\r\n isDisabled={identificacao != null && identificacao.cpf_Cnpj != '' && identificacao.protocolo_Id != 0 ? true : false}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.responsavel && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n {(tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") &&\r\n \r\n \r\n \r\n \r\n {errors.fantasia && * Campo Obrigatório}\r\n \r\n Caso a empresa não tenha Nome Fantasia, informe a Razão Social\r\n \r\n }\r\n {(tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") &&\r\n \r\n \r\n \r\n \r\n {errors.razaoSocial && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {errors.nomeSolicitante && * Campo Obrigatório}\r\n \r\n \r\n {(tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") &&\r\n \r\n \r\n \r\n \r\n {errors.cnpj && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {tipoGerador == \"Física\" &&\r\n \r\n \r\n \r\n \r\n {errors.cpf && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {errors.ccm && * Campo Obrigatório}\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n \r\n {errors.codigoCadastro && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {errors.telefone && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") &&\r\n \r\n \r\n \r\n \r\n {errors.tipoIndustriaComercio && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {(tipoGerador == \"Jurídica\" || tipoGerador == \"Pública\") &&\r\n \r\n \r\n \r\n \r\n {errors.ramo && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {setupSolicitacaoAcao && setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\" &&\r\n \r\n \r\n \r\n { handleRamoAtividade(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={options_ramoAtividade.filter(f => f.value == ramo)}\r\n\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"ramo\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.ramo && * Campo Obrigatório}\r\n \r\n }\r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.tipoEstabelecimento_Id}\r\n name=\"tipoEstabelecimento\"\r\n onChange={(e) => { handleTipoEstabelecimento(e) }}\r\n value={tipoEstabelecimento}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoEstabelecimento\" },\r\n { required: session === null && setupSolicitacaoAcao && setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.tipoEstabelecimento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.qtdeLeitosAtivos && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.qtdeLeitosInativos && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.classificacaoEstabelecimento_Id}\r\n name=\"classificacaoEstabelecimento\"\r\n onChange={(e) => { handleClassificacaoEstabelecimento(e) }}\r\n value={classificacaoEstabelecimento}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"classificacaoEstabelecimento\" },\r\n { required: (session == null || (session && session.tipoAcesso == \"Protocolo\")) && setupSolicitacaoAcao && setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.classificacaoEstabelecimento && * Campo Obrigatório}\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null && setupSolicitacaoAcao && (setupSolicitacaoAcao?.setupSolicitacao.categoria.sigla == \"RCC\" || setupSolicitacaoAcao?.setupSolicitacao.categoria.sigla == \"RGG\") &&\r\n \r\n \r\n \r\n \r\n {errors.dataFimVigencia && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: ((session == null || (session && session.tipoAcesso == \"Protocolo\")) ? false : true) })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {opcao?.categoria?.segmento == \"Grande Gerador\" && opcao?.categoria?.sigla == \"RGG\" &&\r\n <>\r\n \r\n

Dados Adicionais

\r\n \r\n \r\n \r\n \r\n { handleNumeroColaboradores(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={numeroColaboradores != \"\" && optionsNumeroColaboradores.find(obj => obj.value === numeroColaboradores)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"numeroColaboradores\" },\r\n { required: true })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.numeroColaboradores && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleConsumoMensalEnergia(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={consumoMensalEnergia != \"\" && optionsConsumoMensalEnergia.find(obj => obj.value === consumoMensalEnergia)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"consumoMensalEnergia\" },\r\n { required: true })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.consumoMensalEnergia && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleConsumoMensalAgua(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={consumoMensalAgua != \"\" && optionsConsumoMensalAgua.find(obj => obj.value === consumoMensalAgua)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"consumoMensalAgua\" },\r\n { required: true })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.consumoMensalAgua && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleLocalEmpreendimento(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={localEmpreendimento != \"\" && optionsLocalEmpreendimento.find(obj => obj.value === localEmpreendimento)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"localEmpreendimento\" },\r\n { required: true })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.localEmpreendimento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n let { value } = e.target;\r\n value = value.replace(/[^\\d,]/g, '');\r\n setValue(\"areaTotal\", value);\r\n }}\r\n placeholder=\"ex: 0,00\"\r\n />\r\n {errors.areaTotal && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n let { value } = e.target;\r\n value = value.replace(/[^\\d,]/g, '');\r\n setValue(\"areaConstruida\", value);\r\n }}\r\n placeholder=\"ex: 0,00\"\r\n />\r\n {errors.areaConstruida && * Campo Obrigatório}\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n

Responsável Técnico

\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.nomeResponsavelTecnico && * Campo Obrigatório}\r\n \r\n \r\n\r\n \r\n \r\n \r\n { handleTipoDocumentoResponsavelTecnico(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={tipoDocumentoResponsavelTecnico != \"\" && options_tipoDocumentoResponsavelTecnico.find(obj => obj.value === tipoDocumentoResponsavelTecnico)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoDocumentoResponsavelTecnico\" },\r\n { required: (session == null || (session && session.tipoAcesso == \"Protocolo\")) && setupSolicitacaoAcao && setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RSS\" })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.tipoDocumentoResponsavelTecnico && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.numeroDocumentoResponsavelTecnico && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n

Certificado do Curso ou CRBio

\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n * Se não possuir registro no Conselho Regional, informe seu RG e importe o Certificado do Curso ou CRBio na área de atuação.\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n

Endereço

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.nome}\r\n getOptionValue={option => option.subPrefeitura_Id}\r\n name=\"subPrefeitura\"\r\n onChange={(e) => { handleSubPrefeitura(e) }}\r\n value={subPrefeitura}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"subPrefeitura\" },\r\n { required: (session ? false : true) })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.subPrefeitura && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n }\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null && item.protocoloJustificativas.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
\r\n \r\n );\r\n}","import React, { useEffect, useState, useMemo, useRef } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select';\r\nimport InputPDF from \"components/Input/InputPDF\";\r\n\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Container, Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\n\r\n// leaflet\r\nimport { MapContainer, TileLayer, Marker, useMap } from 'react-leaflet'\r\nimport L from 'leaflet';\r\n\r\n// style\r\nimport \"assets/css/map.css\";\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { InputCEP } from \"../../../services/mask.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST, api_GETExternal } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloGeradorLocal, EnviaRequerimentoGeradorLocal } from \"../../../services/protocolo_gerador_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nfunction initialStateContratos() {\r\n return {\r\n modalidadeColeta: \"\",\r\n transportador_CNPJ: \"\",\r\n transportador_RazaoSocial: \"Selecione transportador\",\r\n arquivoContrato: null\r\n }\r\n}\r\n\r\nexport default function LocaisColeta({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [registro, set_registro] = useState(null);\r\n\r\n const [locais_Coleta, set_locais_Coleta] = useState([]);\r\n const [setupSolicitacao, set_setupSolicitacao] = useState(null);\r\n\r\n const [modalOpen, set_modalOpen] = useState(false);\r\n const [localizacaoConfirmada, set_localizacaoConfirmada] = useState(false);\r\n\r\n //State para modal do contrato\r\n const [modalContrato, set_modalContrato] = useState(false);\r\n\r\n //State para criar o contrato local\r\n const [contratoLocal, set_contratoLocal] = useState(initialStateContratos());\r\n\r\n //State Para adicionar os contratos em cada local\r\n const [listContratoLocal, set_listcontratoLocal] = useState([]);\r\n\r\n //State para disabilitar o campos de contratos\r\n const [disabledCamposTransportador, set_disabledCamposTransportador] = useState(true);\r\n\r\n //State para pegar as modalidades do RGG\r\n const [listModalidadesRGG, set_listModalidadesRGG] = useState([]);\r\n\r\n //State para pegar o uf \r\n const [municipio, set_municipio] = useState(null);\r\n\r\n //State para pegar o Hash\r\n const [hash, setHash] = useState(\"\");\r\n\r\n const toggleModalContrato = () => {\r\n set_contratoLocal(initialStateContratos());\r\n set_disabledCamposTransportador(true);\r\n set_modalContrato(!modalContrato);\r\n };\r\n\r\n\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item) {\r\n set_setupSolicitacao(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao);\r\n if (item.protocoloGerador[0].protocoloGeradorLocais != null) {\r\n set_locais_Coleta(item.protocoloGerador[0].protocoloGeradorLocais);\r\n }\r\n }\r\n\r\n if (tipoCadastro == \"Protocolo\" && item && item?.setupSolicitacaoAcaoNovoCadastro?.setupSolicitacao?.categoria?.sigla == \"RGG\") {\r\n set_actions([...actions, {\r\n icon: 'delete',\r\n tooltip: 'Remover Local',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n }]);\r\n }\r\n }\r\n\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item) {\r\n\r\n set_setupSolicitacao(item.setupSolicitacaoAcao.setupSolicitacao);\r\n\r\n if (item.requerimentoGeradorLocal != null) {\r\n set_locais_Coleta(item.requerimentoGeradorLocal);\r\n }\r\n }\r\n if (tipoCadastro == \"Requerimento\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Local',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n const loadMunicipio = () => {\r\n setLoading(true);\r\n api_GET('SetupGeral/GetMunicipio')\r\n .then(result => set_municipio(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n\r\n loadMunicipio();\r\n loadTransportadoresRGG();\r\n }, []);\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n // CEP \r\n const [cep, set_cep] = useState(\"\");\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const [editarEnderecoCep, set_editarEnderecoCep] = useState(false);\r\n const handleCEP = (event) => {\r\n set_cep(event.target.value);\r\n\r\n if (event.target.value.replaceAll(\"_\", \"\").length != 9)\r\n return;\r\n\r\n clearErrors(\"cep\");\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n }\r\n else {\r\n if (municipio != null && municipio != result.data.localidade) {\r\n set_cep(\"\");\r\n showMessage(\"Aviso\", `CEP não pertence a ${municipio}`, 'warning', null);\r\n return;\r\n }\r\n\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else {\r\n set_editarEndereco(true);\r\n\r\n if (setupSolicitacao.categoria.sigla == \"RSS\" || setupSolicitacao.categoria.sigla == \"RGG\") {\r\n let chave = result.data.logradouro.replaceAll(\" \", \"+\") + \",\" + result.data.bairro.replaceAll(\" \", \"+\") + result.data.localidade.replaceAll(\" \", \"+\");\r\n UpdatePositionEndereco(chave);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n const handleNumeroChange = (value) => {\r\n if (setupSolicitacao.categoria.sigla == \"RSS\" || setupSolicitacao.categoria.sigla == \"RGG\") {\r\n let data = getValues();\r\n let chave = data.logradouro.replaceAll(\" \", \"+\") + \",\" + value + \",\" + data.bairro.replaceAll(\" \", \"+\") + data.cidade.replaceAll(\" \", \"+\");\r\n UpdatePositionEndereco(chave);\r\n }\r\n }\r\n\r\n const UpdatePositionEndereco = (chave) => {\r\n setLoading(true);\r\n var url = `https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&address=${chave}&key=AIzaSyBo2Y9Gr1UakCHwOfmyS_TM2K24_eTLvpk`\r\n api_GETExternal(url).then(result => {\r\n setLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Não foi possível localizar as coordenadas do endereço.\", \"Informe no mapa a localização!\", 'error', null);\r\n }\r\n else {\r\n try {\r\n setCenterMap([result.data.results[0].geometry.location.lat, result.data.results[0].geometry.location.lng]);\r\n setpositionMarker([result.data.results[0].geometry.location.lat, result.data.results[0].geometry.location.lng]);\r\n }\r\n catch {\r\n showMessage(\"Não foi possível localizar as coordenadas do endereço.\", \"Informe no mapa a localização!\", 'error', null);\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Mapa \r\n const [centerMap, setCenterMap] = useState([0, 0]);\r\n const [positionMarker, setpositionMarker] = useState([0, 0]);\r\n const iconMarker = new L.Icon({\r\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n iconRetinaUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n });\r\n const markerRef = useRef(null)\r\n const handleMarkerPosition = useMemo(\r\n () => ({\r\n dragend() {\r\n const marker = markerRef.current\r\n if (marker != null) {\r\n let position = marker.getLatLng();\r\n setpositionMarker([position.lat, position.lng]);\r\n }\r\n },\r\n }),\r\n [],\r\n )\r\n\r\n const ChangeMap = ({ center, zoom }) => {\r\n const mapInstance = useMap();\r\n mapInstance.setView(center, zoom);\r\n return null;\r\n }\r\n\r\n const handleModalClose = () => {\r\n set_modalOpen(false);\r\n set_localizacaoConfirmada(true);\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = useState(null);\r\n const handleEdit = (rowData) => {\r\n set_listcontratoLocal([]);\r\n if (rowData?.protocoloGeradorLocalContratos?.length > 0) {\r\n set_listcontratoLocal(rowData.protocoloGeradorLocalContratos)\r\n }\r\n if (rowData?.requerimentoGeradorLocalContratos?.length > 0) {\r\n set_listcontratoLocal(rowData?.requerimentoGeradorLocalContratos);\r\n }\r\n set_editarEnderecoCep(true)\r\n set_localizacaoConfirmada(false);\r\n set_rowEdit(rowData);\r\n set_cep(rowData.cep);\r\n setValue(\"cep\", rowData.cep);\r\n setValue(\"logradouro\", rowData.logradouro);\r\n setValue(\"numEndereco\", rowData.numEndereco);\r\n setValue(\"complemento\", rowData.complemento);\r\n setValue(\"bairro\", rowData.bairro);\r\n setValue(\"cidade\", rowData.cidade);\r\n setValue(\"uf\", rowData.uf);\r\n setHash(rowData.hash);\r\n\r\n if (rowData.geoLocalizacao && rowData.geoLocalizacao.split(\";\").length > 1) {\r\n setCenterMap([rowData.geoLocalizacao.split(\";\")[0], rowData.geoLocalizacao.split(\";\")[1]]);\r\n setpositionMarker([rowData.geoLocalizacao.split(\";\")[0], rowData.geoLocalizacao.split(\";\")[1]]);\r\n }\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\" && setupSolicitacao.categoria.sigla != \"RGG\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n let message = \"Deseja remover este local?\";\r\n if (item && item?.setupSolicitacaoAcao?.setupSolicitacao?.categoria?.sigla == \"RGG\")\r\n message = \"Tem certeza que quer excluir o endereço? Seu contrato com o transportador será desfeito no Sistema de Gestão de Gadastros e no Sistema RGG.\"\r\n\r\n showQuestion('Atenção', message, 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n if (tipoCadastro == \"Requerimento\") {\r\n api_POST('requerimentoGerador/PostRemoverGeradorLocalRequerimento/' + rowData.requerimentoGeradorLocal_Id)\r\n .then(result => {\r\n const locaisAtualizados = item.requerimentoGeradorLocal.filter(local => local.requerimentoGeradorLocal_Id !== rowData.requerimentoGeradorLocal_Id);\r\n item.requerimentoGeradorLocal = locaisAtualizados;\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () {\r\n handleReturnRemove(rowData.requerimento_Id);\r\n });\r\n }).catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else if (tipoCadastro == \"Protocolo\") {\r\n api_POST('protocoloGerador/PostRemoverGeradorLocalProtocolo/' + rowData.protocoloGeradorLocal_Id)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', null);\r\n set_locais_Coleta(item.protocoloGerador[0].protocoloGeradorLocais.filter(x => x.protocoloGeradorLocal_Id != rowData.protocoloGeradorLocal_Id))\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n api_GET('requerimentoGerador/GetLocaisRequerimentoGerador/' + reloadId)\r\n .then(result => set_locais_Coleta(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (rowEdit == null && locais_Coleta.filter(f => f.cEP == data.cep && f.numEndereco == data.numEndereco).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um local de coleta neste endereço!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (setupSolicitacao.categoria.sigla == \"RGG\" && listContratoLocal.length == 0) {\r\n showMessage(\"Aviso\", \"Para salvar um local de coleta, deve ser obrigatório informar pelo menos 1 contrato.\", 'error', null);\r\n return;\r\n }\r\n\r\n if ((setupSolicitacao.categoria.sigla == \"RSS\" || setupSolicitacao.categoria.sigla == \"RGG\") && !localizacaoConfirmada) {\r\n set_modalOpen(true);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloGeradorLocal(json, confirmaAddLocaisColeta)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoGeradorLocal(json, confirmaAddLocaisColeta)\r\n }\r\n }\r\n\r\n const carregaJsonProtocolo = (data) => {\r\n let _listContratoLocal = [];\r\n if (listContratoLocal.length > 0) {\r\n listContratoLocal.map(value => {\r\n _listContratoLocal.push({\r\n ...value,\r\n modalidadeColeta: value.modalidadeColeta,\r\n transportador_CNPJ: value.transportador_CNPJ,\r\n transportador_RazaoSocial: value.transportador_RazaoSocial,\r\n arquivoContrato: value.arquivoContrato?.base64 ?? value.arquivoContrato\r\n })\r\n });\r\n }\r\n\r\n let json_submit = {\r\n protocoloGeradorLocal_Id: rowEdit == null ? 0 : rowEdit.protocoloGeradorLocal_Id,\r\n protocoloGerador_Id: item.protocoloGerador[0].protocoloGerador_Id,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n geoLocalizacao: setupSolicitacao.categoria.sigla == \"RSS\" || setupSolicitacao.categoria.sigla == \"RGG\" ? positionMarker[0] + \";\" + positionMarker[1] : null,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n protocoloGeradorLocalContratos: _listContratoLocal\r\n }\r\n return json_submit;\r\n }\r\n\r\n const carregaJsonRequerimento = (data) => {\r\n let _listContratoLocal = [];\r\n if (listContratoLocal.length > 0) {\r\n listContratoLocal.map(value => {\r\n _listContratoLocal.push({\r\n ...value,\r\n modalidadeColeta: value.modalidadeColeta,\r\n transportador_CNPJ: value.transportador_CNPJ,\r\n transportador_RazaoSocial: value.transportador_RazaoSocial,\r\n arquivoContrato: value.arquivoContrato?.base64 ?? value.arquivoContrato\r\n })\r\n });\r\n }\r\n\r\n let json_submit = {\r\n requerimentoGeradorLocal_Id: rowEdit == null ? 0 : rowEdit.requerimentoGeradorLocal_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n geoLocalizacao: setupSolicitacao.categoria.sigla == \"RSS\" || setupSolicitacao.categoria.sigla == \"RGG\" ? positionMarker[0] + \";\" + positionMarker[1] : null,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n requerimentoGeradorLocalContratos: _listContratoLocal\r\n }\r\n\r\n return json_submit;\r\n }\r\n\r\n const confirmaAddLocaisColeta = (result) => {\r\n setLoading(false);\r\n let local = result.data;\r\n\r\n let new_list = [];\r\n\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n locais_Coleta.map(m => {\r\n if (m.protocoloGeradorLocal_Id != local.protocoloGeradorLocal_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.protocoloGerador[0].protocoloGeradorLocais = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n locais_Coleta.map(m => {\r\n if (m.requerimentoGeradorLocal_Id != local.requerimentoGeradorLocal_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.requerimentoGeradorLocal = new_list;\r\n }\r\n\r\n new_list.push(local);\r\n set_locais_Coleta(new_list);\r\n set_registro(_registro);\r\n\r\n set_cep(\"\");\r\n setValue(\"cep\", \"\");\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"numEndereco\", \"\");\r\n setValue(\"complemento\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n\r\n set_rowEdit(null);\r\n set_listcontratoLocal([]);\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const loadModalidadesRGG = () => {\r\n api_GET('RGG/GetListModalidadesAtivasRGG')\r\n .then(result => set_listModalidadesRGG(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [listaTransportadoresRGG, setListaTransportadoresRGG] = useState([]);\r\n const loadTransportadoresRGG = () => {\r\n\r\n api_GET('ProtocoloTransportador/GetListTransportadoresRGG')\r\n .then(result => {\r\n result.data.map(value => {\r\n value.value = value.razaoSocial;\r\n value.label = value.razaoSocial;\r\n return value;\r\n })\r\n setListaTransportadoresRGG([{ value: \"Selecione transportador\", label: \"Selecione transportador\" }, ...result.data])\r\n }\r\n )\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleRemoveContratoLocal = (rowData) => {\r\n set_listcontratoLocal(listContratoLocal.filter((x, index) => x.modalidadeColeta != rowData.modalidadeColeta && index != rowData.tableData.id));\r\n }\r\n\r\n const validadoContratoLocal = () => {\r\n if (contratoLocal?.modalidadeColeta?.length == 0) {\r\n showMessage(\"Aviso\", \"Informe a modalidade do contrato.\", 'error', null);\r\n return;\r\n }\r\n\r\n if (contratoLocal?.transportador_RazaoSocial == \"Selecione transportador\") {\r\n showMessage(\"Aviso\", \"Selecione o transportador por favor.\", 'error', null);\r\n return;\r\n }\r\n\r\n if (contratoLocal?.arquivoContrato == null || contratoLocal?.arquivoContrato?.length == 0) {\r\n showMessage(\"Aviso\", \"Por favor adicione o arquivo do contrato.\", 'error', null);\r\n return;\r\n }\r\n\r\n if (listContratoLocal.length > 0 && listContratoLocal.filter(x => x.modalidadeColeta == contratoLocal?.modalidadeColeta).length > 0) {\r\n showMessage(\"Aviso\", \"Essa modalidade já existe, por favor selecione uma diferente.\", 'error', null);\r\n return;\r\n }\r\n\r\n if (contratoLocal.tableData) {\r\n set_listcontratoLocal(listContratoLocal.map((value, index) => {\r\n if (index == contratoLocal.tableData.id) {\r\n const { tableData, ..._contratoLocal } = contratoLocal;\r\n return _contratoLocal;\r\n } else {\r\n return value;\r\n }\r\n }));\r\n } else {\r\n set_listcontratoLocal([...listContratoLocal, contratoLocal]);\r\n }\r\n\r\n set_contratoLocal(initialStateContratos());\r\n set_disabledCamposTransportador(true);\r\n }\r\n\r\n const handleTransportador = (cnpj) => {\r\n const [transportador] = listaTransportadoresRGG.filter(t => t.cnpj == cnpj);\r\n\r\n if (!transportador) {\r\n showMessage(\"Aviso\", \"Selecione um transportador por favor!\", \"warning\", null);\r\n return;\r\n }\r\n\r\n if (!!transportador) {\r\n set_disabledCamposTransportador(false);\r\n set_contratoLocal({\r\n ...contratoLocal,\r\n transportador_CNPJ: transportador.cnpj,\r\n transportador_RazaoSocial: transportador.razaoSocial,\r\n });\r\n }\r\n }\r\n\r\n const handleAvancar = () => {\r\n if (setupSolicitacao.categoria.sigla == \"RGG\" && rowEdit != null) {\r\n showMessage(\"Aviso\", \"Para prosseguir, Salve as alterações em Salvar Local\", \"warning\", null);\r\n return;\r\n }\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && locais_Coleta.length == 0 && (setupSolicitacao.categoria.sigla != \"RSS\" || setupSolicitacao.categoria.sigla != \"RGG\")) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os locais de coleta\", 'error', null);\r\n return;\r\n }\r\n\r\n handleProximoStep(registro);\r\n }\r\n\r\n const closeBtn = (\r\n \r\n x\r\n \r\n );\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n

Locais de Coleta

\r\n
\r\n
\r\n {item &&\r\n (item?.setupSolicitacaoAcao?.acao == \"Alteração\" || item?.setupSolicitacaoAcao?.acao == \"Renovação\") &&\r\n (setupSolicitacao && setupSolicitacao.categoria.sigla == \"RGG\") &&\r\n \r\n \r\n * Para alterar um contrato de coleta, clique em editar o endereço e em seguida em “Contratos”.\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n handleNumeroChange(e.target.value)}\r\n />\r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n {setupSolicitacao && (setupSolicitacao.categoria.sigla == \"RSS\" || setupSolicitacao.categoria.sigla == \"RGG\") &&\r\n \r\n set_modalOpen(true)}>\r\n \r\n \r\n }\r\n \r\n {!!hash && session?.usuario_Id != null &&\r\n \r\n \r\n <>\r\n \r\n \r\n \r\n \r\n }\r\n
\r\n {setupSolicitacao?.categoria?.sigla == \"RGG\" &&\r\n {\r\n loadModalidadesRGG();\r\n set_modalContrato(true)\r\n }}\r\n >\r\n Contratos\r\n \r\n }\r\n \r\n Salvar Local\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Próxima Etapa \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n {/* mostrar Contrato */}\r\n \r\n \r\n \r\n Contratos\r\n \r\n \r\n \r\n \r\n \r\n { return { value: value.descricao, label: value.descricao } })}\r\n name=\"modalidadeColeta \"\r\n value={listModalidadesRGG.map(value => { return { value: value.descricao, label: value.descricao } }).find(obj => obj.value === contratoLocal?.modalidadeColeta)}\r\n onChange={(value) => {\r\n set_contratoLocal({\r\n ...contratoLocal,\r\n [\"modalidadeColeta\"]: value.value\r\n })\r\n }}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n { handleTransportador(e.cnpj) }}\r\n value={listaTransportadoresRGG.find(obj => obj.value === contratoLocal?.transportador_RazaoSocial)}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n set_contratoLocal({ ...contratoLocal, [\"arquivoContrato\"]: { base64: file.base64 } })}\r\n />\r\n \r\n \r\n \r\n \r\n Confirmar\r\n \r\n \r\n \r\n handleRemoveContratoLocal(rowData)\r\n }]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n \r\n \r\n\r\n {/* mostrar mapa */}\r\n \r\n \r\n
Confirme o Local no Mapa
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Confirmar\r\n \r\n \r\n \r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, Input, Row, Col, Container, Form, Tooltip } from \"reactstrap\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloGeradorCaracterizacaoResiduo, EnviaRequerimentoGeradorCaracterizacaoResiduo } from \"../../../services/protocolo_gerador_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function CaracterizacaoResiduos({ item, tipoCadastro, opcao, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = useState(true);\r\n\r\n const [registro, set_registro] = useState(null);\r\n\r\n const [lista, set_lista] = useState([]);\r\n\r\n const [listTipoAcondicionamento, set_listTipoAcondicionamento] = useState([]);\r\n\r\n const loadRegistro = () => {\r\n set_registro(item);\r\n api_GET('CaracterizacaoResiduosConama')\r\n .then(result => {\r\n let _lista = [];\r\n if (opcao && opcao.categoria.sigla == \"RGG\")\r\n _lista = result.data.filter(x => x.sigla == \"RGG\");\r\n else\r\n _lista = result.data.filter(x => x.sigla != \"RGG\");\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloGerador.length > 0 && item.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos) {\r\n _lista.map(m => {\r\n if (item.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos.filter(f => f.caracterizacaoResiduosConama_Id == m.caracterizacaoResiduosConama_Id).length > 0) {\r\n let _protocoloGeradorCaracterizacaoResiduos = item.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos.filter(f => f.caracterizacaoResiduosConama_Id == m.caracterizacaoResiduosConama_Id)[0];\r\n m.protocoloGeradorCaracterizacaoResiduo_Id = _protocoloGeradorCaracterizacaoResiduos ? _protocoloGeradorCaracterizacaoResiduos.protocoloGeradorCaracterizacaoResiduo_Id : 0;\r\n m.quantidade = _protocoloGeradorCaracterizacaoResiduos ? _protocoloGeradorCaracterizacaoResiduos.quantidadeEstimada : \"\";\r\n }\r\n });\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoGeradorCaracterizacaoResiduo) {\r\n _lista.map(m => {\r\n if (item.requerimentoGeradorCaracterizacaoResiduo.filter(f => f.caracterizacaoResiduosConama_Id == m.caracterizacaoResiduosConama_Id).length > 0) {\r\n let _requerimentoGeradorCaracterizacaoResiduo = item.requerimentoGeradorCaracterizacaoResiduo.filter(f => f.caracterizacaoResiduosConama_Id == m.caracterizacaoResiduosConama_Id)[0];\r\n m.requerimentoGeradorCaracterizacaoResiduo_Id = _requerimentoGeradorCaracterizacaoResiduo ? _requerimentoGeradorCaracterizacaoResiduo.requerimentoGeradorCaracterizacaoResiduo_Id : 0;\r\n m.quantidade = _requerimentoGeradorCaracterizacaoResiduo ? _requerimentoGeradorCaracterizacaoResiduo.quantidadeEstimada : \"\";\r\n }\r\n })\r\n }\r\n }\r\n set_lista(_lista);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const loadTipoAcondicionamento = () => {\r\n api_GET('TipoAcondicionamento')\r\n .then(result => set_listTipoAcondicionamento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n if (opcao?.categoria?.sigla == \"RGG\")\r\n loadTipoAcondicionamento();\r\n\r\n loadRegistro();\r\n }, []);\r\n\r\n const handleBlurQuantidade = (_caracterizacaoResiduosConama_Id, value) => {\r\n let _lista = [];\r\n lista.map(m => {\r\n if (m.caracterizacaoResiduosConama_Id == _caracterizacaoResiduosConama_Id)\r\n m.quantidade = value;\r\n\r\n _lista.push(m);\r\n })\r\n set_lista(_lista);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n setLoading(true);\r\n if (tipoCadastro == \"Protocolo\") {\r\n if (permiteEditar) {\r\n let json = carregaJsonProtocolo();\r\n EnviaProtocoloGeradorCaracterizacaoResiduo(json, confirmaCaracterizacaoResiduos)\r\n }\r\n else {\r\n handleProximoStep(registro);\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento();\r\n EnviaRequerimentoGeradorCaracterizacaoResiduo(json, confirmaCaracterizacaoResiduos)\r\n }\r\n }\r\n\r\n const carregaJsonProtocolo = () => {\r\n let json_submit = [];\r\n lista.map(m => {\r\n json_submit.push({\r\n protocoloGeradorCaracterizacaoResiduo_Id: m.protocoloGeradorCaracterizacaoResiduo_Id ? m.protocoloGeradorCaracterizacaoResiduo_Id : 0,\r\n protocoloGerador_Id: item.protocoloGerador[0].protocoloGerador_Id,\r\n caracterizacaoResiduosConama_Id: m.caracterizacaoResiduosConama_Id,\r\n quantidadeEstimada: m.quantidade ? m.quantidade : 0,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n });\r\n });\r\n\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = () => {\r\n let json_submit = [];\r\n lista.map(m => {\r\n json_submit.push({\r\n requerimentoGeradorCaracterizacaoResiduo_Id: m.requerimentoGeradorCaracterizacaoResiduo_Id ? m.requerimentoGeradorCaracterizacaoResiduo_Id : 0,\r\n requerimento_Id: item.requerimento_Id,\r\n caracterizacaoResiduosConama_Id: m.caracterizacaoResiduosConama_Id,\r\n quantidadeEstimada: m.quantidade ? m.quantidade : 0,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n });\r\n });\r\n\r\n return json_submit;\r\n }\r\n\r\n const confirmaCaracterizacaoResiduos = (result) => {\r\n setLoading(false);\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\")\r\n _registro.protocoloGerador[0].protocoloGeradorCaracterizacaoResiduos = result.data;\r\n else\r\n _registro.requerimentoGeradorCaracterizacaoResiduo = result.data;\r\n\r\n handleProximoStep(_registro);\r\n }\r\n\r\n const [tooltipActive, setTooltipActive] = useState({\r\n indice: \"\",\r\n active: false\r\n })\r\n const handleTooltipAtive = ({ key }) => {\r\n setTooltipActive({\r\n indice: key,\r\n active: !tooltipActive.active\r\n })\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n
\r\n

Caracterização dos Resíduos

\r\n \r\n \r\n Grupo\r\n \r\n \r\n Código\r\n \r\n \r\n Tipo\r\n \r\n\r\n \r\n Descrição\r\n \r\n \r\n Quantidade {lista[0]?.sigla == \"RSS\" ? '(Kg/dia)' : '(Litros/dia)'}\r\n \r\n \r\n \r\n \r\n \r\n\r\n {lista.map((m, key) => (\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n handleBlurQuantidade(m.caracterizacaoResiduosConama_Id, e.target.value)}\r\n />\r\n \r\n {m.descricaoTipoAcondicionamento &&\r\n \r\n
\r\n ?\r\n
\r\n \r\n }\r\n {m.descricaoTipoAcondicionamento &&\r\n handleTooltipAtive({ key: key })}\r\n >\r\n {m.descricaoTipoAcondicionamento}\r\n \r\n }\r\n
\r\n ))}\r\n\r\n \r\n \r\n \r\n \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 { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Container } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloGeradorClasseResiduo, EnviaRequerimentoGeradorClasseResiduo } from \"../../../services/protocolo_gerador_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function Residuos({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset } = useForm({ mode: \"onBlur\" });\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [residuos, set_residuos] = React.useState([]);\r\n\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n loadOptionsClassesResiduo(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria_Id);\r\n if (item != null && item.protocoloGerador[0].protocoloGeradorClasseResiduos != null) {\r\n set_residuos(item.protocoloGerador[0].protocoloGeradorClasseResiduos);\r\n }\r\n }\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n loadOptionsClassesResiduo(item.setupSolicitacaoAcao.setupSolicitacao.categoria_Id);\r\n if (item != null && item.requerimentoGerador[0].requerimentoGeradorClasseResiduo != null) {\r\n set_residuos(item.requerimentoGerador[0].requerimentoGeradorClasseResiduo);\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Classe',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n const [classeResiduo, set_classeResiduo] = React.useState(null);\r\n const [optionsClassesResiduo, set_OptionsClassesResiduo] = useState([]);\r\n const loadOptionsClassesResiduo = (categoria_Id) => {\r\n api_GET(`ClasseResiduo/GetListAtivosByCategoria/${categoria_Id}`)\r\n .then(result => set_OptionsClassesResiduo(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleClassesResiduo = (value) => {\r\n set_classeResiduo(value);\r\n setValue(\"classeResiduo\", value, true);\r\n clearErrors(\"classeResiduo\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_classeResiduo(rowData);\r\n setValue(\"classeResiduo\", rowData.classeResiduo_Id, true);\r\n setValue(\"quantidadeEstimada\", rowData.quantidadeEstimada);\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover esta classe?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n api_POST('requerimentoGerador/PostRemoverGeradorClasseResiduoRequerimento/' + rowData.requerimentoGeradorClasseResiduo_Id)\r\n .then(result => { showMessage(\"Aviso\", \"Classe removida com sucesso!\", 'success', function () { handleReturnRemove(rowData.requerimentoGerador_Id) }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n\r\n api_GET('requerimentoGerador/GetClasseResiduosRequerimentoGerador/' + reloadId)\r\n .then(result => set_residuos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (rowEdit == null && residuos.filter(f => f.classeResiduo_Id == classeResiduo.classeResiduo_Id).length > 0) {\r\n showMessage(\"Aviso\", \"Esta classe de resíduos já foi adicionada!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloGeradorClasseResiduo(json, confirmaAddResiduos)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoGeradorClasseResiduo(json, confirmaAddResiduos)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocoloGeradorClasseResiduo_Id: rowEdit == null ? 0 : rowEdit.protocoloGeradorClasseResiduo_Id,\r\n protocoloGerador_Id: item.protocoloGerador[0].protocoloGerador_Id,\r\n classeResiduo_Id: classeResiduo.classeResiduo_Id,\r\n quantidadeEstimada: data.quantidadeEstimada,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoGeradorClasseResiduo_Id: rowEdit == null ? 0 : rowEdit.requerimentoGeradorClasseResiduo_Id,\r\n requerimentoGerador_Id: item.requerimentoGerador[0].requerimentoGerador_Id,\r\n classeResiduo_Id: classeResiduo.classeResiduo_Id,\r\n quantidadeEstimada: data.quantidadeEstimada,\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddResiduos = (result) => {\r\n setLoading(false);\r\n let residuo = result.data;\r\n residuo.classeResiduo = optionsClassesResiduo.filter(x => x.classeResiduo_Id == result.data.classeResiduo_Id)[0];\r\n\r\n let new_list = [];\r\n\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n residuos.map(m => {\r\n if (m.protocoloGeradorClasseResiduo_Id != residuo.protocoloGeradorClasseResiduo_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.protocoloGerador[0].protocoloGeradorClasseResiduos = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n residuos.map(m => {\r\n if (m.requerimentoGeradorClasseResiduo_Id != residuo.requerimentoGeradorClasseResiduo_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.requerimentoGerador[0].requerimentoGeradorClasseResiduo = new_list;\r\n }\r\n\r\n new_list.push(residuo);\r\n set_residuos(new_list);\r\n set_registro(_registro);\r\n\r\n set_classeResiduo(null);\r\n setValue(\"classeResiduo\", \"\", false);\r\n setValue(\"quantidadeEstimada\", \"\");\r\n set_rowEdit(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && residuos.length == 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar as classes de resíduos\", 'error', null);\r\n return;\r\n }\r\n handleProximoStep(registro);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n

Geração de Resíduos

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.classeResiduo_Id}\r\n name=\"classeResiduo\"\r\n onChange={(e) => { handleClassesResiduo(e) }}\r\n value={classeResiduo && optionsClassesResiduo.find(f => f.classeResiduo_Id === classeResiduo.classeResiduo_Id)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"classeResiduo\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.classeResiduo && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.quantidadeEstimada && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n} ","import React, { useEffect, useState } from 'react';\r\n\r\n// reactstrap components\r\nimport { Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../Shared/Gerador/Identificacao\";\r\nimport LocaisColeta from \"../../Shared/Gerador/LocaisColeta\";\r\nimport Documentos from \"../../Shared/Documentos\";\r\nimport CaracterizacaoResiduos from '../../Shared/Gerador/CaracterizacaoResiduos';\r\n\r\n//Shared\r\nimport Residuos from \"../../Shared/Gerador/Residuos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth.js';\r\n\r\nexport default function ManutencaoGeradorForm({ item, handleReturn }) {\r\n const {setLoading} = useAuth();\r\n\r\n const [protocolo, set_protocolo] = useState(item);\r\n\r\n //pegando os steps\r\n const [steps, setSteps] = useState([]);\r\n\r\n const [opcao, set_opcao] = useState(null);\r\n\r\n const [step, set_step] = useState(0);\r\n const handleProximoStep = (_protocolo) => {\r\n if (step == 3)\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n else {\r\n set_protocolo(_protocolo);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_protocolo) => {\r\n set_protocolo(_protocolo)\r\n set_step(step - 1);\r\n }\r\n\r\n const [permiteManutencao, set_permiteManutencao] = useState(false);\r\n const handleVerificaPermissaoManutencao = () => {\r\n setLoading(true);\r\n\r\n api_GET('Protocolo/VerifyExistsRequeriments/' + protocolo.protocolo_Id)\r\n .then(result => {\r\n set_permiteManutencao(result.data.sucesso);\r\n if (!result.data.sucesso) {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro. \" + result.data.mensagem, 'warning', null);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if (item && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\")\r\n setSteps(['Identificação', 'Locais de Coleta', 'Resíduos', 'Documentação']);\r\n else\r\n setSteps(['Identificação', 'Locais de Coleta', 'Caracterização dos Residuos', 'Documentação']);\r\n\r\n set_opcao({\r\n tipoCadastro: \"Protocolo\",\r\n segmento: \"Grande Gerador\",\r\n categoria: item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria\r\n });\r\n\r\n set_protocolo(item);\r\n\r\n if (item)\r\n handleVerificaPermissaoManutencao();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {opcao != null &&\r\n
\r\n \r\n \r\n \r\n\r\n {step == 0 &&\r\n \r\n }\r\n\r\n {step == 1 &&\r\n \r\n }\r\n\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" && step == 2 &&\r\n \r\n }\r\n\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\" && step == 2 &&\r\n \r\n }\r\n\r\n {step == 3 &&\r\n }\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState, useMemo, useRef } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Container, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\n// leaflet\r\nimport { MapContainer, TileLayer, Marker, useMap } from 'react-leaflet'\r\nimport L from 'leaflet';\r\n\r\n// style\r\nimport \"assets/css/map.css\";\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { InputCEP } from \"../../../services/mask.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST, api_GETExternal } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloGeradorLocalArmazenagem, EnviaRequerimentoGeradorLocalArmazenagem } from \"../../../services/protocolo_gerador_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function LocaisArmazenagem({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(true);\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [locais_Armazenagem, set_locais_Armazenagem] = React.useState([]);\r\n\r\n const [modalOpen, set_modalOpen] = React.useState(false);\r\n const [localizacaoConfirmada, set_localizacaoConfirmada] = useState(false);\r\n\r\n useEffect(() => {\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloGerador[0].protocoloGeradorLocaisArmazenagem != null) {\r\n set_locais_Armazenagem(item.protocoloGerador[0].protocoloGeradorLocaisArmazenagem);\r\n }\r\n }\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoGeradorLocalArmazenagem != null) {\r\n set_locais_Armazenagem(item.requerimentoGeradorLocalArmazenagem);\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Local',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n const optionsTipoAbrigo = [\r\n { label: \"Abrigo interno ao estabelecimento\", value: \"Abrigo interno ao estabelecimento\" },\r\n { label: \"Abrigo externo\", value: \"Abrigo externo\" },\r\n ]\r\n const [tipoAbrigo, set_tipoAbrigo] = useState(\"\");\r\n const handleChangeTipoAbrigo = (value) => {\r\n set_tipoAbrigo(value);\r\n setValue(\"tipoAbrigo\", value, true);\r\n clearErrors(\"tipoAbrigo\");\r\n }\r\n\r\n // CEP \r\n const [cep, set_cep] = React.useState(\"\");\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const handleCEP = (event) => {\r\n set_cep(event.target.value);\r\n\r\n if (event.target.value.replaceAll(\"_\", \"\").length != 9)\r\n return;\r\n\r\n clearErrors(\"cep\");\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else {\r\n set_editarEndereco(true);\r\n\r\n let chave = result.data.logradouro.replaceAll(\" \", \"+\") + \",\" + result.data.bairro.replaceAll(\" \", \"+\") + result.data.localidade.replaceAll(\" \", \"+\");\r\n UpdatePositionEndereco(chave);\r\n }\r\n }\r\n });\r\n }\r\n const handleNumeroChange = (value) => {\r\n let data = getValues();\r\n let chave = data.logradouro.replaceAll(\" \", \"+\") + \",\" + value + \",\" + data.bairro.replaceAll(\" \", \"+\") + data.cidade.replaceAll(\" \", \"+\");\r\n UpdatePositionEndereco(chave);\r\n }\r\n\r\n const UpdatePositionEndereco = (chave) => {\r\n setLoading(true);\r\n var url = `https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&address=${chave}&key=AIzaSyBo2Y9Gr1UakCHwOfmyS_TM2K24_eTLvpk`\r\n api_GETExternal(url).then(result => {\r\n setLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Não foi possível localizar as coordenadas do endereço.\", \"Informe no mapa a localização!\", 'error', null);\r\n }\r\n else {\r\n try {\r\n setCenterMap([result.data.results[0].geometry.location.lat, result.data.results[0].geometry.location.lng]);\r\n setpositionMarker([result.data.results[0].geometry.location.lat, result.data.results[0].geometry.location.lng]);\r\n }\r\n catch {\r\n showMessage(\"Não foi possível localizar as coordenadas do endereço.\", \"Informe no mapa a localização!\", 'error', null);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n // Mapa \r\n const [centerMap, setCenterMap] = useState([0, 0]);\r\n const [positionMarker, setpositionMarker] = useState([0, 0]);\r\n const iconMarker = new L.Icon({\r\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n iconRetinaUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n });\r\n const markerRef = useRef(null)\r\n const handleMarkerPosition = useMemo(\r\n () => ({\r\n dragend() {\r\n const marker = markerRef.current\r\n if (marker != null) {\r\n let position = marker.getLatLng();\r\n setpositionMarker([position.lat, position.lng]);\r\n }\r\n },\r\n }),\r\n [],\r\n )\r\n const ChangeMap = ({ center, zoom }) => {\r\n const mapInstance = useMap();\r\n mapInstance.setView(center, zoom);\r\n return null;\r\n }\r\n const handleModalClose = () => {\r\n set_modalOpen(false);\r\n set_localizacaoConfirmada(true);\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_localizacaoConfirmada(false);\r\n set_rowEdit(rowData);\r\n set_cep(rowData.cep);\r\n setValue(\"cep\", rowData.cep);\r\n setValue(\"logradouro\", rowData.logradouro);\r\n setValue(\"numEndereco\", rowData.numEndereco);\r\n setValue(\"complemento\", rowData.complemento);\r\n setValue(\"bairro\", rowData.bairro);\r\n setValue(\"cidade\", rowData.cidade);\r\n setValue(\"uf\", rowData.uf);\r\n set_tipoAbrigo(rowData.tipoAbrigo);\r\n setValue(\"tipoAbrigo\", rowData.tipoAbrigo, true);\r\n\r\n if (rowData.geoLocalizacao && rowData.geoLocalizacao.split(\";\").length > 1) {\r\n setCenterMap([rowData.geoLocalizacao.split(\";\")[0], rowData.geoLocalizacao.split(\";\")[1]]);\r\n setpositionMarker([rowData.geoLocalizacao.split(\";\")[0], rowData.geoLocalizacao.split(\";\")[1]]);\r\n }\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover este local?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n api_POST('requerimentoGerador/PostRemoverGeradorLocalArmazenagemRequerimento/' + rowData.requerimentoGeradorLocalArmazenagem_Id)\r\n .then(result => { \r\n const locaisAtualizados = item.requerimentoGeradorLocalArmazenagem.filter(local => local.requerimentoGeradorLocalArmazenagem_Id !== rowData.requerimentoGeradorLocalArmazenagem_Id);\r\n item.requerimentoGeradorLocalArmazenagem = locaisAtualizados;\r\n showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () { handleReturnRemove(rowData.requerimento_Id) }) \r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n\r\n api_GET('requerimentoGerador/GetLocaisArmazenagemRequerimentoGerador/' + reloadId)\r\n .then(result => set_locais_Armazenagem(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (!localizacaoConfirmada) {\r\n showMessage(\"Aviso\", \"Antes de salvar o registro efetue a confirmação da localização no mapa!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (rowEdit == null && locais_Armazenagem.filter(f => f.cEP == data.cep && f.numEndereco == data.numEndereco).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um local de armazenagem neste endereço!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloGeradorLocalArmazenagem(json, confirmaAddLocaisArmazenagem)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoGeradorLocalArmazenagem(json, confirmaAddLocaisArmazenagem)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocoloGeradorLocalArmazenagem_Id: rowEdit == null ? 0 : rowEdit.protocoloGeradorLocalArmazenagem_Id,\r\n protocoloGerador_Id: item.protocoloGerador[0].protocoloGerador_Id,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n tipoAbrigo: tipoAbrigo,\r\n geoLocalizacao: positionMarker[0] + \";\" + positionMarker[1],\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoGeradorLocalArmazenagem_Id: rowEdit == null ? 0 : rowEdit.requerimentoGeradorLocalArmazenagem_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n cEP: data.cep,\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n tipoAbrigo: tipoAbrigo,\r\n geoLocalizacao: positionMarker[0] + \";\" + positionMarker[1],\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddLocaisArmazenagem = (result) => {\r\n setLoading(false);\r\n set_localizacaoConfirmada(false);\r\n set_tipoAbrigo(null);\r\n\r\n let local = result.data;\r\n\r\n let new_list = [];\r\n\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n locais_Armazenagem.map(m => {\r\n if (m.protocoloGeradorLocalArmazenagem_Id != local.protocoloGeradorLocalArmazenagem_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.protocoloGerador[0].protocoloGeradorLocaisArmazenagem = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n locais_Armazenagem.map(m => {\r\n if (m.requerimentoGeradorLocalArmazenagem_Id != local.requerimentoGeradorLocalArmazenagem_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.requerimentoGeradorLocalArmazenagem = new_list;\r\n }\r\n\r\n new_list.push(local);\r\n set_locais_Armazenagem(new_list);\r\n set_registro(_registro);\r\n\r\n set_cep(\"\");\r\n setValue(\"cep\", \"\");\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"numEndereco\", \"\");\r\n setValue(\"complemento\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n\r\n set_rowEdit(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && locais_Armazenagem.length == 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os locais de armazenagem\", 'error', null);\r\n return;\r\n }\r\n handleProximoStep(registro);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n\r\n \r\n \r\n \r\n

Locais de Armazenagem

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n handleNumeroChange(e.target.value)} />\r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.label}\r\n getOptionValue={option => option.value}\r\n name=\"tipoAbrigo\"\r\n onChange={(e) => { handleChangeTipoAbrigo(e.value) }}\r\n value={tipoAbrigo && optionsTipoAbrigo.find(obj => obj.value === tipoAbrigo)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoAbrigo\" },\r\n { required: session && session != null && session.tipoAcesso == \"AreaRestrita\" ? false : true })\r\n }\r\n isDisabled={!permiteEditar}\r\n />\r\n {errors.tipoAbrigo && * Campo Obrigatório}\r\n \r\n \r\n {permiteEditar &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Confirme o Local no Mapa
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \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 } from 'react';\r\n\r\n// reactstrap components\r\nimport { Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Gerador/Identificacao\";\r\nimport CaracterizacaoResiduos from \"../../../views/Shared/Gerador/CaracterizacaoResiduos\";\r\nimport LocaisArmazenagem from \"../../../views/Shared/Gerador/LocaisArmazenagem\";\r\nimport LocaisColeta from '../../../views/Shared/Gerador/LocaisColeta';\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\nexport default function ManutencaoGeradorRSSForm({ item, handleReturn, setupSolicitacao, addNovoGerador = false }) {\r\n\r\n const [protocolo, set_protocolo] = React.useState(item);\r\n\r\n const steps = ['Identificação', 'Caracterização dos Resíduos', 'Armazenagem dos Resíduos', 'Pontos de Coleta', 'Documentação'];\r\n const [step, set_step] = React.useState(0);\r\n\r\n const [opcao, set_opcao] = React.useState({\r\n tipoCadastro: \"Protocolo\",\r\n segmento: \"Grande Gerador\",\r\n categoria: { sigla: \"RSS\" }\r\n });\r\n\r\n useEffect(() => {\r\n set_opcao({\r\n tipoCadastro: \"Protocolo\",\r\n segmento: \"Grande Gerador\",\r\n categoria: item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria\r\n });\r\n set_protocolo(item);\r\n }, []);\r\n\r\n const handleProximoStep = (_protocolo) => {\r\n if (step == 4)\r\n handleReturn();\r\n else {\r\n set_protocolo(_protocolo);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_protocolo) => {\r\n set_protocolo(_protocolo)\r\n set_step(step - 1);\r\n }\r\n\r\n\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n {step == 0 &&\r\n \r\n }\r\n {step == 1 &&\r\n \r\n }\r\n {step == 2 && \r\n \r\n }\r\n {step == 3 && \r\n \r\n }\r\n {step == 4 && \r\n \r\n }\r\n
\r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useForm } from 'react-hook-form';\r\nimport moment from \"moment\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, FormGroup, Input, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../../services/acesso.js\";\r\nimport ManutencaoGeradorRSSForm from './ManutencaoGeradorRSSForm';\r\n\r\n// Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\n\r\nconst inititialGeradorRss = {\r\n codigoCadastro: \"\",\r\n codigoSistemaPrefeitura: null,\r\n cpf_Cnpj: \"\",\r\n dataCadastro: moment().format(),\r\n dataCriacaoProtocolo: moment().format(),\r\n // dataFimVigencia: ((new Date().getDate() )) + \"/\" + ((new Date().getMonth())) + \"/\" + new Date().getFullYear() + 2,\r\n dataUltimaAlteracao: moment().format(),\r\n email: \"\",\r\n enquadramento: null,\r\n enquadramento_Id: 6,\r\n nomeSolicitante: \"\",\r\n notificacao1Enviada: false,\r\n numeroProtocolo: \"\",\r\n protocoloDestino: null,\r\n protocoloDocumentos: [],\r\n protocoloGerador: [\r\n {\r\n arquivoCertificadoResponsavelTecnico: null,\r\n arquivoCertificadoResponsavelTecnicoBase64: null,\r\n bairro: \"\",\r\n ccm: \"\",\r\n celular: \"\",\r\n cep: \" \",\r\n cidade: \"\",\r\n classificacaoEstabelecimento_Id: 0,\r\n complemento: \"\",\r\n cpf_Cnpj: \"\",\r\n dataLiberacaoCertificado: null,\r\n logradouro: \"\",\r\n nomeResponsavel: \"\",\r\n nomeResponsavelTecnico: \"\",\r\n nome_Fantasia: \"\",\r\n numEndereco: \"\",\r\n numeroDocumentoResponsavelTecnico: \"\",\r\n protocoloGeradorCaracterizacaoResiduos: [],\r\n protocoloGeradorClasseResiduos: [],\r\n protocoloGeradorLocais: [],\r\n protocoloGeradorLocaisArmazenagem: [],\r\n protocoloGerador_Id: 0,\r\n protocolo_Id: 0,\r\n quantidadeLeitosAtivos: null,\r\n quantidadeLeitosInativos: null,\r\n ramoAtividade: \"\",\r\n razaoSocial: \"\",\r\n subPrefeitura_Id: 0,\r\n telefone: \"\",\r\n tipoDocumentoResponsavelTecnico: \"\",\r\n tipoEstabelecimento_Id: 1,\r\n tipoIndustriaComercio: \"\",\r\n uf: \"\"\r\n }\r\n ],\r\n protocoloJustificativas: [],\r\n protocoloTransportador: null,\r\n protocolo_Id: 0,\r\n requerimento: [],\r\n segmentoProtocolo: null,\r\n senha: \"\",\r\n setupSolicitacaoAcaoNovoCadastro: {\r\n acao: \"Novo Cadastro\",\r\n acaoDocumentos: null,\r\n codigoCobranca: \"\",\r\n enquadramentoObrigatorio: true,\r\n prazoVencimentoCobrancaEmDias: 5,\r\n publicaDiarioOficial: false,\r\n setupSolicitacao: {\r\n cabecalhoCertificado: \"\",\r\n categoria: {\r\n categoria_Id: 3,\r\n descricao: 'RSS',\r\n sigla: 'RSS',\r\n classeIcone: 'fas fa-hospital',\r\n corIcone: 'text-danger'\r\n },\r\n categoria_Id: 3,\r\n dataCadastro: moment().format(),\r\n dataDeletado: null,\r\n dataUltimaAlteracao: moment().format(),\r\n deletado: null,\r\n descricao: \"Geradores de Resíduos dos Serviços de Saúde - RSSS (Resíduos Infectantes) - PJ\",\r\n descricaoDeclaracao: \"Como responsável técnico, declaro estar ciente do conteúdo da Lei Municipal 13.478/2002 e demais Leis e normas específicas que regulamentam a atividade e que as informações prestadas neste formulário são verdadeiras.\",\r\n legislacaoCertificado: \"\",\r\n notificacao1RenovacaoEmDias: 0,\r\n notificacao2RenovacaoEmDias: 0,\r\n notificacao3RenovacaoEmDias: 0,\r\n permiteCadastroDuplicado: true,\r\n pessoa: \"Jurídica\",\r\n segmento: \"Grande Gerador\",\r\n setupSolicitacao_Id: 6,\r\n solicitacaoAcoes: [],\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: 0,\r\n vigenciaEmMeses: 0\r\n },\r\n setupSolicitacaoAcao_Id: 19,\r\n setupSolicitacao_Id: 6,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: 0,\r\n valorGuia: 129.4\r\n },\r\n setupSolicitacaoAcaoNovoCadastro_Id: 19,\r\n status: \"Ativo\",\r\n usuarioUltimaAlteracao_Id: null\r\n}\r\n\r\nexport default function ManutencaoGeradorRSSLista({ history }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, errors, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const location = useLocation();\r\n\r\n const [permiteEditar, set_permiteEditar] = useState(false);\r\n\r\n const [showDetail, set_showDetail] = useState(false);\r\n const [rowEdit, set_rowEdit] = useState(null);\r\n const [list_table, set_list_table] = useState([]);\r\n const [setupSolicitacao, setSetupSolicitacao] = useState(location.state?.setupSolicitacao ?? []);\r\n const [addNovoGerador, setAddNovoGerador] = useState(false)\r\n\r\n const handleAdd = () => {\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\") {\r\n inititialGeradorRss.setupSolicitacaoAcaoNovoCadastro.usuarioUltimaAlteracao_Id = session.usuario_Id;\r\n inititialGeradorRss.usuarioUltimaAlteracao_Id = session.usuario_Id;\r\n\r\n set_rowEdit(inititialGeradorRss);\r\n set_showDetail(true);\r\n set_permiteEditar(true);\r\n setAddNovoGerador(true);\r\n }\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n api_GET('protocoloGerador/' + rowData.protocolo_Id)\r\n .then(result => {\r\n set_rowEdit(result.data);\r\n set_showDetail(true);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n }\r\n\r\n const loadList = () => {\r\n let data = getValues();\r\n\r\n if (data.cpf_cnpj.length == 0 && data.codigoCadastro.length == 0 && data.nomeResponsavel.length == 0 && data.nomeFantasia.length == 0 && data.razaoSocial.length == 0) {\r\n showMessage(\"Aviso\", \"Informe ao menos um dos campos!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n api_GET(`protocoloGerador/GetListByCategoria/${location.state.categoria.categoria_Id}/${(data.cpf_cnpj.length == 0 ? \"0\" : data.cpf_cnpj)}/\r\n ${(data.codigoCadastro.length == 0 ? \"0\" : data.codigoCadastro)}/${(data.nomeResponsavel.length == 0 ? \"0\" : data.nomeResponsavel)}/\r\n ${(data.nomeFantasia.length == 0 ? \"0\" : data.nomeFantasia)}/${(data.razaoSocial.length == 0 ? \"0\" : data.razaoSocial)}`)\r\n .then(result => { set_list_table(result.data); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Manutencao.EditarGerador\", function (result) { set_permiteEditar(result) });\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Novo Gerador\r\n \r\n\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n Options={table_style}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, FormGroup, Form, Input, Row, Col, Container, UncontrolledTooltip } from \"reactstrap\";\r\n\r\n//helpers\r\nimport { formateDateApi } from \"../../../helpers/formats.js\";\r\nimport { ValidaEmail } from \"../../../helpers/email\";\r\nimport { onlyAlphaNumericAndSpace, onlyNumber } from \"../../../helpers/valid.js\";\r\n\r\n// services\r\nimport { InputCEP, InputCNPJ, InputCPF, InputTELEFONE } from \"../../../services/mask.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { isValidDate } from \"../../../helpers/valid.js\";\r\nimport { EnviaProtocoloWithProtocoloDestino, EnviaRequerimentoDestino } from \"../../../services/protocolo_destino_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function Identificacao({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleReturn }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(true);\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Cancelado\", label: \"Cancelado\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n { value: \"Pendente\", label: \"Pendente\" },\r\n { value: \"Vencido\", label: \"Vencido\" }\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // E-Mail\r\n const [email, set_email] = React.useState(\"\");\r\n const handleEmail = (event) => {\r\n\r\n if (event.target.value.length == 0)\r\n return;\r\n\r\n set_email(event.target.value);\r\n\r\n ValidaEmail(event.target.value, handleRetornoValidaEmail);\r\n }\r\n const handleRetornoValidaEmail = (result) => {\r\n if (result.status !== 200) {\r\n showMessage(\"Aviso\", result.message, 'error', null);\r\n set_email(\"\");\r\n }\r\n else {\r\n if (!result.data) {\r\n showMessage(\"Aviso\", \"E-Mail inválido.\", 'error', null);\r\n setValue(\"email\", \"\");\r\n set_email(\"\");\r\n }\r\n }\r\n }\r\n\r\n // Nome Fantasia\r\n const handleFantasia = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"fantasia\", result);\r\n }\r\n\r\n // Razão Social\r\n const handleRazaoSocial = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"razaoSocial\", result);\r\n }\r\n\r\n // Nome do Solicitante\r\n const handleSolicitante = (event) => {\r\n let result = onlyAlphaNumericAndSpace(event.target.value);\r\n setValue(\"nomeSolicitante\", result);\r\n }\r\n\r\n // Data Vigência\r\n const handleDataVigencia = (event) => {\r\n let input_date = event.target.value;\r\n\r\n if (input_date != \"\" || input_date.length > 0) {\r\n if (isValidDate(input_date) == false) {\r\n showMessage(\"Aviso\", \"Data de validade inválida.\", 'warning', null);\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // Tipo de Pessoa\r\n const optionsTipoPessoa = [\r\n { value: \"Física\", label: \"Pessoa Física\" },\r\n { value: \"Jurídica\", label: \"Pessoa Jurídica\" }\r\n ];\r\n const [tipoPessoa, set_tipoPessoa] = useState(\"Jurídica\");\r\n const handleTipoPessoa = (value) => {\r\n set_tipoPessoa(value.value);\r\n setValue(\"tipoPessoa\", value.value, true);\r\n clearErrors(\"tipoPessoa\");\r\n }\r\n\r\n // Licença de Operação\r\n const handleLicencaOperacao = (e) => {\r\n let result = onlyNumber(e.target.value);\r\n setValue(\"numeroLicensaOperacao\", result);\r\n }\r\n\r\n // Número Endereço\r\n const handleNumeroEndereco = (e) => {\r\n let result = onlyNumber(e.target.value);\r\n setValue(\"numEndereco\", result);\r\n }\r\n\r\n // cep\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const handleCEP = (event) => {\r\n clearErrors(\"cep\");\r\n\r\n if (event.target.value.replace(/[^0-9]/g, '').trim().length < 8) {\r\n setValue(\"cep\", \"\");\r\n showMessage(\"Aviso\", \"Cep inválido. só é permitido preencher com números\", 'error', null);\r\n return;\r\n }\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_editarEndereco(true);\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else\r\n set_editarEndereco(true);\r\n }\r\n });\r\n }\r\n\r\n // Categoria\r\n const [categoria, set_categoria] = useState(null);\r\n\r\n // Classes de Resíduo\r\n const [classesResiduo, set_classesResiduo] = useState([]);\r\n const [optionsClassesResiduo, set_OptionsClassesResiduo] = useState([]);\r\n const loadOptionsClassesResiduo = (categoria_Id) => {\r\n api_GET(`ClasseResiduo/GetListAtivosByCategoria/${categoria_Id}`)\r\n .then(result => {\r\n set_OptionsClassesResiduo(result.data);\r\n if (tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloDestino.length > 0 && item.protocoloDestino[0].protocoloDestinoClasseResiduos != null) {\r\n let _classes = [];\r\n result.data.map(m => {\r\n if (item.protocoloDestino[0].protocoloDestinoClasseResiduos.filter(f => f.classeResiduo_Id == m.classeResiduo_Id).length > 0)\r\n _classes.push(m);\r\n })\r\n set_classesResiduo(_classes);\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoDestino.length > 0 && item.requerimentoDestino[0].requerimentoDestinoClasseResiduos != null) {\r\n let _classes = [];\r\n result.data.map(m => {\r\n if (item.requerimentoDestino[0].requerimentoDestinoClasseResiduos.filter(f => f.classeResiduo_Id == m.classeResiduo_Id).length > 0)\r\n _classes.push(m);\r\n })\r\n set_classesResiduo(_classes);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleClassesResiduo = event => {\r\n set_classesResiduo(event);\r\n }\r\n\r\n // Classes de Resíduo\r\n const [transportadores, set_transportadores] = useState([]);\r\n const [optionsTransportadores, set_optionsTransportadores] = useState([]);\r\n const loadOptionsTransportadores = () => {\r\n api_GET(`ProtocoloTransportador/GetListProtocoloTransportador`)\r\n .then(result => {\r\n set_optionsTransportadores(result.data);\r\n if (tipoCadastro == \"Protocolo\") {\r\n if (item != null && item.protocoloDestino.length > 0 && item.protocoloDestino[0].protocoloDestinoTransportadores != null) {\r\n let _transportadores = [];\r\n result.data.map(m => {\r\n if (item.protocoloDestino[0].protocoloDestinoTransportadores.filter(f => f.protocoloTransportador_Id == m.protocoloTransportador_Id).length > 0)\r\n _transportadores.push(m);\r\n })\r\n set_transportadores(_transportadores);\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item != null && item.requerimentoDestino.length > 0 && item.requerimentoDestino[0].requerimentoDestinoTransportadores != null) {\r\n let _transportadores = [];\r\n result.data.map(m => {\r\n if (item.requerimentoDestino[0].requerimentoDestinoTransportadores.filter(f => f.protocoloTransportador_Id == m.protocoloTransportador_Id).length > 0)\r\n _transportadores.push(m);\r\n })\r\n set_transportadores(_transportadores);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleTransportadores = event => {\r\n set_transportadores(event);\r\n }\r\n\r\n // Tipo de Destino\r\n const [tipoDestino, set_tipoDestino] = React.useState(\"\");\r\n const [options_tipoDestino, set_optionsTipoDestino] = React.useState([]);\r\n\r\n const LoadTiposDestino = () => {\r\n if ((item.setupSolicitacaoAcao != null && item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla == \"RGG\")\r\n || (item.setupSolicitacaoAcaoNovoCadastro != null && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\")) {\r\n api_GET('TipoDestino')\r\n .then(result => {\r\n let tipos = result.data.map((m, key) => ({\r\n label: m.tbTipoDestino_Descricao,\r\n value: m.tbTipoDestino_Descricao\r\n }));\r\n set_optionsTipoDestino(tipos);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else {\r\n set_optionsTipoDestino([\r\n { value: \"Área de Aterro\", label: \"Área de Aterro\" },\r\n { value: \"Área de Triagem e Transbordo\", label: \"Área de Triagem e Transbordo\" },\r\n { value: \"Área de Reciclagem\", label: \"Área de Reciclagem\" },\r\n { value: \"Outros Resíduos\", label: \"Outros Resíduos\" }\r\n ]);\r\n }\r\n }\r\n\r\n const handleTipoDestino = (value) => {\r\n set_tipoDestino(value);\r\n setValue(\"tipoDestino\", value, true);\r\n clearErrors(\"tipoDestino\");\r\n }\r\n\r\n // Tipo de Destino\r\n const [comprovacaoDestinacao, set_comprovacaoDestinacao] = React.useState(\"Não\");\r\n const [options_comprovacaoDestinacao] = React.useState([\r\n { value: \"Não\", label: \"Não\" },\r\n { value: \"Sim\", label: \"Sim\" }\r\n ]);\r\n const handleComprovacaoDestinacao = (value) => {\r\n set_comprovacaoDestinacao(value);\r\n setValue(\"comprovacaoDestinacao\", value, true);\r\n clearErrors(\"comprovacaoDestinacao\");\r\n }\r\n\r\n const loadItemRequerimento = () => {\r\n if (item != null) {\r\n setValue(\"email\", item.email);\r\n set_email(item.email);\r\n setValue(\"cnpj\", item.cpf_Cnpj);\r\n setValue(\"cpf\", item.cpf_Cnpj);\r\n setValue(\"nomeSolicitante\", item.nomeSolicitante);\r\n setValue(\"responsavel\", item.requerimentoDestino != null && item.requerimentoDestino.length > 0 ? item.requerimentoDestino[0].nomeResponsavel : item.nomeSolicitante);\r\n set_categoria(item.setupSolicitacaoAcao.setupSolicitacao.categoria);\r\n loadOptionsClassesResiduo(item.setupSolicitacaoAcao.setupSolicitacao.categoria_Id);\r\n loadOptionsTransportadores();\r\n if (item.cpf_Cnpj.length == 11)\r\n set_tipoPessoa(\"Física\");\r\n if (item.requerimentoDestino != null && item.requerimentoDestino.length > 0) {\r\n setValue(\"fantasia\", item.requerimentoDestino[0].nome_Fantasia);\r\n setValue(\"razaoSocial\", item.requerimentoDestino[0].razaoSocial);\r\n setValue(\"inscricaoMunicipal\", item.requerimentoDestino[0].inscricaoMunicipal);\r\n setValue(\"ccm\", item.requerimentoDestino[0].ccm);\r\n setValue(\"telefone\", item.requerimentoDestino[0].telefone);\r\n setValue(\"celular\", item.requerimentoDestino[0].celular);\r\n setValue(\"dataFimVigencia\", item.dataFimVigencia != null ? formateDateApi(item.dataFimVigencia) : \"\");\r\n setValue(\"cep\", item.requerimentoDestino[0].cep);\r\n setValue(\"logradouro\", item.requerimentoDestino[0].logradouro);\r\n setValue(\"bairro\", item.requerimentoDestino[0].bairro);\r\n setValue(\"numEndereco\", item.requerimentoDestino[0].numEndereco);\r\n setValue(\"complemento\", item.requerimentoDestino[0].complemento);\r\n setValue(\"cidade\", item.requerimentoDestino[0].cidade);\r\n setValue(\"uf\", item.requerimentoDestino[0].uf);\r\n setValue(\"status\", item.status, true);\r\n set_status(item.status);\r\n setValue(\"numeroLicensaOperacao\", item.requerimentoDestino[0].numeroLicensaOperacao);\r\n set_tipoDestino(item.requerimentoDestino[0].tipoDestino);\r\n setValue(\"tipoDestino\", item.requerimentoDestino[0].tipoDestino, true);\r\n }\r\n }\r\n }\r\n\r\n const loadItemProtocolo = () => {\r\n if (item != null) {\r\n setValue(\"email\", item.email);\r\n set_email(item.email);\r\n setValue(\"cnpj\", item.cpf_Cnpj);\r\n setValue(\"cpf\", item.cpf_Cnpj);\r\n setValue(\"nomeSolicitante\", item.nomeSolicitante);\r\n setValue(\"responsavel\", item.protocoloDestino != null && item.protocoloDestino.length > 0 ? item.protocoloDestino[0].nomeResponsavel : item.nomeSolicitante);\r\n set_categoria(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria);\r\n loadOptionsClassesResiduo(item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria_Id);\r\n loadOptionsTransportadores();\r\n if (item.cpf_Cnpj.length == 11)\r\n set_tipoPessoa(\"Física\");\r\n if (item.protocoloDestino.length > 0) {\r\n setValue(\"fantasia\", item.protocoloDestino[0].nome_Fantasia);\r\n setValue(\"razaoSocial\", item.protocoloDestino[0].razaoSocial);\r\n setValue(\"inscricaoMunicipal\", item.protocoloDestino[0].inscricaoMunicipal);\r\n setValue(\"ccm\", item.protocoloDestino[0].ccm);\r\n setValue(\"codigoCadastro\", item.codigoCadastro);\r\n setValue(\"telefone\", item.protocoloDestino[0].telefone);\r\n setValue(\"celular\", item.protocoloDestino[0].celular);\r\n setValue(\"dataFimVigencia\", item.dataFimVigencia != null ? formateDateApi(item.dataFimVigencia) : \"\");\r\n setValue(\"cep\", item.protocoloDestino[0].cep);\r\n setValue(\"logradouro\", item.protocoloDestino[0].logradouro);\r\n setValue(\"bairro\", item.protocoloDestino[0].bairro);\r\n setValue(\"numEndereco\", item.protocoloDestino[0].numEndereco);\r\n setValue(\"complemento\", item.protocoloDestino[0].complemento);\r\n setValue(\"cidade\", item.protocoloDestino[0].cidade);\r\n setValue(\"uf\", item.protocoloDestino[0].uf);\r\n setValue(\"status\", item.status, true);\r\n set_status(item.status);\r\n setValue(\"numeroLicensaOperacao\", item.protocoloDestino[0].numeroLicensaOperacao);\r\n setValue(\"observacao\", item.protocoloDestino[0].observacaoManutencao);\r\n set_tipoDestino(item.protocoloDestino[0].tipoDestino);\r\n setValue(\"tipoDestino\", item.protocoloDestino[0].tipoDestino, true);\r\n set_comprovacaoDestinacao(item.protocoloDestino[0].requerComprovacaoDestinacao == true ? \"Sim\" : \"Não\");\r\n setValue(\"comprovacaoDestinacao\", item.protocoloDestino[0].requerComprovacaoDestinacao == true ? \"Sim\" : \"Não\", true);\r\n }\r\n }\r\n }\r\n\r\n const loadDefaultValues = (field) => {\r\n if (item == null)\r\n return \"\";\r\n\r\n if (tipoCadastro == \"Protocolo\") {\r\n switch (field) {\r\n case \"Telefone\": return item.protocoloDestino.length > 0 ? item.protocoloDestino[0].telefone : \"\";\r\n case \"Celular\": return item.protocoloDestino.length > 0 ? item.protocoloDestino[0].celular : \"\";\r\n case \"CEP\": return item.protocoloDestino.length > 0 ? item.protocoloDestino[0].cep : \"\";\r\n }\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n if (item.requerimentoDestino != null) {\r\n switch (field) {\r\n case \"Telefone\": return item.requerimentoDestino.length > 0 ? item.requerimentoDestino[0].telefone : \"\";\r\n case \"Celular\": return item.requerimentoDestino.length > 0 ? item.requerimentoDestino[0].celular : \"\";\r\n case \"CEP\": return item.requerimentoDestino.length > 0 ? item.requerimentoDestino[0].cep : \"\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n LoadTiposDestino()\r\n if (session != null && session.tipoAcesso == \"AreaRestrita\" && session.tipoAcesso == \"AreaRestrita\")\r\n set_permiteEditar(false);\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n setLoading(true);\r\n\r\n if (email == null || email.length == 0) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"E-Mail não informado\", 'error', null);\r\n return;\r\n }\r\n\r\n if (isValidDate(data.dataFimVigencia) == false) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Data de validade inválida.\", 'warning', null);\r\n return;\r\n }\r\n\r\n let numeroEndereco = onlyNumber(data.numEndereco);\r\n if (numeroEndereco.length == \"\") {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Número de endereço inválido, ou, não informado. Só é permitido o preenchimento de dígitos numéricos.\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloWithProtocoloDestino(json, handleRetornoSubmit)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoDestino(json, handleRetornoSubmit)\r\n }\r\n else {\r\n handleProximoStep(item);\r\n }\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let requerimentoDestinoClasseResiduo = [];\r\n classesResiduo.map(m => {\r\n requerimentoDestinoClasseResiduo.push({\r\n requerimentoDestinoClasseResiduo_Id: 0,\r\n requerimentoDestino_Id: item != null ? item.requerimentoDestino_Id : 0,\r\n classeResiduo_Id: m.classeResiduo_Id\r\n });\r\n })\r\n\r\n let requerimentoDestinoTransportadores = [];\r\n transportadores.map(m => {\r\n requerimentoDestinoTransportadores.push({\r\n requerimentoDestinoTransportador_Id: 0,\r\n requerimentoDestino_Id: item != null ? item.requerimentoDestino_Id : 0,\r\n protocoloTransportador_Id: m.protocoloTransportador_Id\r\n });\r\n })\r\n\r\n let json_submit = {\r\n requerimentoDestino_Id: item != null && item.requerimentoDestino != null && item.requerimentoDestino.length > 0 ? item.requerimentoDestino[0].requerimentoDestino_Id : 0,\r\n requerimento_Id: item != null ? item.requerimento_Id : 0,\r\n cpf_Cnpj: tipoPessoa == \"Jurídica\" ? data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\") : data.cpf.replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n nome_Fantasia: data.fantasia == null ? data.responsavel : data.fantasia,\r\n razaoSocial: data.razaoSocial == null ? data.responsavel : data.razaoSocial,\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n inscricaoMunicipal: data.inscricaoMunicipal,\r\n nomeResponsavel: data.responsavel,\r\n cCM: data.ccm,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uF: data.uf,\r\n telefone: data.telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: data.celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n numeroLicensaOperacao: data.numeroLicensaOperacao,\r\n tipoDestino: tipoDestino,\r\n requerimentoDestinoClasseResiduos: requerimentoDestinoClasseResiduo,\r\n requerimentoDestinoTransportadores: requerimentoDestinoTransportadores\r\n }\r\n\r\n return json_submit;\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let protocoloDestinoClasseResiduo = [];\r\n classesResiduo.map(m => {\r\n protocoloDestinoClasseResiduo.push({\r\n protocoloDestinoClasseResiduo_Id: 0,\r\n protocoloDestino_Id: item != null ? item.protocoloDestino_Id : 0,\r\n classeResiduo_Id: m.classeResiduo_Id\r\n });\r\n })\r\n\r\n let protocoloDestinoTransportadores = [];\r\n transportadores.map(m => {\r\n protocoloDestinoTransportadores.push({\r\n protocoloDestinoTransportador_Id: 0,\r\n protocoloDestino_Id: item != null ? item.protocoloDestino_Id : 0,\r\n protocoloTransportador_Id: m.protocoloTransportador_Id\r\n });\r\n })\r\n\r\n let json_submit = {\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n numeroProtocolo: item != null ? item.numeroProtocolo : \"\",\r\n nomeSolicitante: data.nomeSolicitante == null ? data.responsavel : data.nomeSolicitante,\r\n email: data.email,\r\n cpf_Cnpj: tipoPessoa == \"Jurídica\" ? data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\") : data.cpf.replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n status: (item != null && status == \"\") ? item.status : status,\r\n dataFimVigencia: session != null && session.tipoAcesso == \"AreaRestrita\" ? data.dataFimVigencia : item.dataFimVigencia,\r\n usuarioCadastro_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n codigoCadastro: (data != null && data.codigoCadastro != \"\") ? data.codigoCadastro : ((item != null && item.protocoloDestino.length > 0) ? item.codigoCadastro : \"0\"),\r\n etapaCadastro: 1,\r\n protocoloDestino: [{\r\n protocoloDestino_Id: (item != null && item.protocoloDestino.length > 0) ? item.protocoloDestino[0].protocoloDestino_Id : 0,\r\n protocolo_Id: item != null ? item.protocolo_Id : 0,\r\n cpf_Cnpj: tipoPessoa == \"Jurídica\" ? data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\") : data.cpf.replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n nome_Fantasia: data.fantasia == null ? data.responsavel : data.fantasia,\r\n razaoSocial: data.razaoSocial == null ? data.responsavel : data.razaoSocial,\r\n inscricaoMunicipal: data.inscricaoMunicipal,\r\n nomeResponsavel: data.responsavel,\r\n cCM: data.ccm,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uF: data.uf,\r\n telefone: data.telefone.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n celular: data.celular.replaceAll(\"(\", \"\").replaceAll(\")\", \"\").replaceAll(\"-\", \"\").replaceAll(\" \", \"\"),\r\n numeroLicensaOperacao: data.numeroLicensaOperacao,\r\n tipoDestino: data.tipoDestino,\r\n requerComprovacaoDestinacao: comprovacaoDestinacao == \"Sim\" ? true : false,\r\n bloquearRecebimentoCapacidadeExcedida: item.protocoloDestino.length > 0 ? item.protocoloDestino[0].bloquearRecebimentoCapacidadeExcedida : 0,\r\n observacaoManutencao: session != null && session.tipoAcesso == \"AreaRestrita\" ? data.observacao : \"\",\r\n protocoloDestinoClasseResiduos: protocoloDestinoClasseResiduo,\r\n protocoloDestinoTransportadores: protocoloDestinoTransportadores\r\n }]\r\n }\r\n return json_submit;\r\n }\r\n\r\n const handleRetornoSubmit = (result) => {\r\n setLoading(false);\r\n handleProximoStep(result.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

Identificação

\r\n
{categoria && categoria.descricao}
\r\n \r\n \r\n \r\n
\r\n

Dados de Identificação

\r\n \r\n \r\n \r\n \r\n obj.value === tipoPessoa)}\r\n onChange={(value) => handleTipoPessoa(value)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoPessoa\" },\r\n { required: false })\r\n }\r\n isDisabled={true}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.responsavel && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n {tipoPessoa == \"Jurídica\" &&\r\n \r\n \r\n \r\n \r\n {errors.fantasia && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {tipoPessoa == \"Jurídica\" &&\r\n \r\n \r\n \r\n \r\n {errors.razaoSocial && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {errors.nomeSolicitante && * Campo Obrigatório}\r\n \r\n \r\n {tipoPessoa == \"Jurídica\" &&\r\n \r\n \r\n \r\n \r\n {errors.cnpj && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {tipoPessoa == \"Física\" &&\r\n \r\n \r\n \r\n \r\n {errors.cpf && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {errors.inscricaoMunicipal && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n \r\n {errors.codigoCadastro && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n * \r\n \r\n {errors.telefone && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { handleTipoDestino(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={tipoDestino != \"\" && options_tipoDestino.find(obj => obj.value === tipoDestino)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoDestino\" },\r\n { required: permiteEditar })\r\n }\r\n />\r\n {errors.tipoDestino && * Campo Obrigatório}\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n (item.setupSolicitacaoAcao != null && item.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla != \"RGG\")\r\n || (item.setupSolicitacaoAcaoNovoCadastro != null && item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\") &&\r\n < Col md=\"4\">\r\n \r\n \r\n { handleComprovacaoDestinacao(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={comprovacaoDestinacao != \"\" && options_comprovacaoDestinacao.find(obj => obj.value === comprovacaoDestinacao)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"comprovacaoDestinacao\" },\r\n { required: permiteEditar })\r\n }\r\n />\r\n {errors.comprovacaoDestinacao && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n descricao}\r\n getOptionValue={({ classeResiduo_Id }) => classeResiduo_Id}\r\n name=\"classeResiduo\"\r\n isMulti={true}\r\n value={optionsClassesResiduo.filter(({ classeResiduo_Id }) => classesResiduo.filter(f => f.classeResiduo_Id == classeResiduo_Id).length > 0)}\r\n onChange={(value) => handleClassesResiduo(value || [])}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"classeResiduo\" },\r\n { required: false })\r\n }\r\n />\r\n {errors.classeResiduo && * Campo Obrigatório}\r\n \r\n \r\n {categoria != null && categoria.classificacao == \"Banco Manejo\" &&\r\n \r\n \r\n \r\n nome_Fantasia}\r\n getOptionValue={({ protocoloTransportador_Id }) => protocoloTransportador_Id}\r\n name=\"transportadores\"\r\n isMulti={true}\r\n value={optionsTransportadores.filter(({ protocoloTransportador_Id }) => transportadores.filter(f => f.protocoloTransportador_Id == protocoloTransportador_Id).length > 0)}\r\n onChange={(value) => handleTransportadores(value || [])}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"transportadores\" },\r\n { required: false })\r\n }\r\n\r\n />\r\n {errors.transportadores && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n \r\n {errors.dataFimVigencia && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != null &&\r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: permiteEditar })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n }\r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != 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

Endereço

\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {session != null && session.tipoAcesso == \"AreaRestrita\" && session.usuario_Id != 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} ","import React, { useEffect, useState, useMemo, useRef } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Container, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\n// leaflet\r\nimport { MapContainer, TileLayer, Marker, useMap } from 'react-leaflet'\r\nimport L from 'leaflet';\r\n\r\n// style\r\nimport \"assets/css/map.css\";\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { InputCEP } from \"../../../services/mask.js\";\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST, api_GETExternal } from \"../../../services/api_service.js\";\r\nimport { EnviaProtocoloDestinoLocal, EnviaRequerimentoDestinoLocal } from \"../../../services/protocolo_destino_service.js\";\r\nimport { GetCEPViaCEP } from \"../../../services/viaCep\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function Locais({ item, tipoCadastro, permiteManutencao, handleProximoStep, handleStepAnterior }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, reset, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(true);\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [locais_Destinacao, set_locais_Destinacao] = React.useState([]);\r\n\r\n const [modalOpen, set_modalOpen] = React.useState(false);\r\n const [localizacaoConfirmada, set_localizacaoConfirmada] = useState(false);\r\n\r\n useEffect(() => {\r\n if (tipoCadastro == \"Protocolo\")\r\n loadItemProtocolo();\r\n else if (tipoCadastro == \"Requerimento\")\r\n loadItemRequerimento();\r\n }, []);\r\n\r\n const loadItemProtocolo = () => {\r\n set_registro(item);\r\n if (item != null && item.protocoloDestino[0].protocoloDestinoLocais != null) {\r\n set_locais_Destinacao(item.protocoloDestino[0].protocoloDestinoLocais);\r\n }\r\n }\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (item != null && item.requerimentoDestinoLocais != null) {\r\n set_locais_Destinacao(item.requerimentoDestinoLocais);\r\n }\r\n\r\n if (tipoCadastro == \"Requerimento\") {\r\n let _action = actions;\r\n _action.push({\r\n icon: 'delete',\r\n tooltip: 'Remover Local',\r\n onClick: (event, rowData) => handleRemove(rowData)\r\n });\r\n\r\n set_actions(_action);\r\n }\r\n }\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]);\r\n\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" }\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // CEP \r\n const [cep, set_cep] = React.useState(\"\");\r\n const [editarEndereco, set_editarEndereco] = useState(true);\r\n const handleCEP = (event) => {\r\n set_cep(event.target.value);\r\n\r\n if (event.target.value.replaceAll(\"_\", \"\").length != 9)\r\n return;\r\n\r\n clearErrors(\"cep\");\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n set_editarEndereco(true);\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n setValue(\"cidade\", result.data.localidade);\r\n setValue(\"uf\", result.data.uf);\r\n\r\n if (result.data.logradouro == null || result.data.logradouro.length == 0)\r\n set_editarEndereco(false);\r\n else {\r\n set_editarEndereco(true);\r\n\r\n let chave = result.data.logradouro.replaceAll(\" \", \"+\") + \",\" + result.data.bairro.replaceAll(\" \", \"+\") + result.data.localidade.replaceAll(\" \", \"+\");\r\n UpdatePositionEndereco(chave);\r\n }\r\n }\r\n });\r\n }\r\n const handleNumeroChange = (value) => {\r\n let data = getValues();\r\n let chave = data.logradouro.replaceAll(\" \", \"+\") + \",\" + value + \",\" + data.bairro.replaceAll(\" \", \"+\") + data.cidade.replaceAll(\" \", \"+\");\r\n UpdatePositionEndereco(chave);\r\n }\r\n\r\n const UpdatePositionEndereco = (chave) => {\r\n setLoading(true);\r\n var url = `https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&address=${chave}&key=AIzaSyBo2Y9Gr1UakCHwOfmyS_TM2K24_eTLvpk`\r\n api_GETExternal(url)\r\n .then(result => {\r\n setLoading(false);\r\n if (result.status !== 200) {\r\n showMessage(\"Não foi possível localizar as coordenadas do endereço.\", \"Informe no mapa a localização!\", 'error', null);\r\n }\r\n else {\r\n try {\r\n setCenterMap([result.data.results[0].geometry.location.lat, result.data.results[0].geometry.location.lng]);\r\n setpositionMarker([result.data.results[0].geometry.location.lat, result.data.results[0].geometry.location.lng]);\r\n }\r\n catch {\r\n showMessage(\"Não foi possível localizar as coordenadas do endereço.\", \"Informe no mapa a localização!\", 'error', null);\r\n }\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n // Mapa \r\n const [centerMap, setCenterMap] = useState([0, 0]);\r\n const [positionMarker, setpositionMarker] = useState([0, 0]);\r\n const iconMarker = new L.Icon({\r\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n iconRetinaUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-black.png',\r\n });\r\n const markerRef = useRef(null)\r\n const handleMarkerPosition = useMemo(\r\n () => ({\r\n dragend() {\r\n const marker = markerRef.current\r\n if (marker != null) {\r\n let position = marker.getLatLng();\r\n setpositionMarker([position.lat, position.lng]);\r\n }\r\n },\r\n }),\r\n [],\r\n )\r\n const ChangeMap = ({ center, zoom }) => {\r\n const mapInstance = useMap();\r\n mapInstance.setView(center, zoom);\r\n return null;\r\n }\r\n const handleModalClose = () => {\r\n set_modalOpen(false);\r\n set_localizacaoConfirmada(true);\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_localizacaoConfirmada(false);\r\n set_rowEdit(rowData);\r\n set_cep(rowData.cep);\r\n setValue(\"identificacao\", rowData.identificacao);\r\n setValue(\"cep\", rowData.cep);\r\n setValue(\"logradouro\", rowData.logradouro);\r\n setValue(\"numEndereco\", rowData.numEndereco);\r\n setValue(\"complemento\", rowData.complemento);\r\n setValue(\"bairro\", rowData.bairro);\r\n setValue(\"cidade\", rowData.cidade);\r\n setValue(\"uf\", rowData.uf);\r\n setValue(\"capacidade\", rowData.capacidade);\r\n setValue(\"status\", rowData.status, true);\r\n set_status(rowData.status);\r\n setValue(\"observacao\", rowData.observacao);\r\n\r\n if (rowData.geoLocalizacao && rowData.geoLocalizacao.split(\";\").length > 1) {\r\n setCenterMap([rowData.geoLocalizacao.split(\";\")[0], rowData.geoLocalizacao.split(\";\")[1]]);\r\n setpositionMarker([rowData.geoLocalizacao.split(\";\")[0], rowData.geoLocalizacao.split(\";\")[1]]);\r\n }\r\n }\r\n\r\n const handleRemove = (rowData) => {\r\n if (!permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro.\", 'error', null);\r\n return;\r\n }\r\n\r\n showQuestion('Atenção', 'Deseja remover este local?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n api_POST('requerimentoDestino/PostRemoverDestinoLocalRequerimento/' + rowData.requerimentoDestinoLocal_Id)\r\n .then(result => { showMessage(\"Aviso\", \"Local removido com sucesso!\", 'success', function () { handleReturnRemove(rowData.requerimento_Id) }); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n }\r\n const handleReturnRemove = (reloadId) => {\r\n setLoading(true);\r\n api_GET('requerimentoDestino/GetLocaisRequerimentoDestino/' + reloadId)\r\n .then(result => set_locais_Destinacao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (item?.setupSolicitacaoAcao?.setupSolicitacao?.categoria?.classificacao == \"Banco Manejo\" && data.capacidade > 1000) {\r\n showMessage(\"Aviso\", \"O limite máximo de capacidade de recepção é de 1000m³. Por favor, altere o valor\", 'error', null);\r\n return;\r\n }\r\n\r\n if (rowEdit == null && locais_Destinacao.filter(f => f.cEP == data.cep && f.numEndereco == data.numEndereco).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe um local de destinação neste endereço!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (!localizacaoConfirmada) {\r\n set_modalOpen(true);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n if (permiteManutencao && tipoCadastro == \"Protocolo\") {\r\n let json = carregaJsonProtocolo(data);\r\n EnviaProtocoloDestinoLocal(json, confirmaAddLocais)\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n let json = carregaJsonRequerimento(data);\r\n EnviaRequerimentoDestinoLocal(json, confirmaAddLocais)\r\n }\r\n }\r\n const carregaJsonProtocolo = (data) => {\r\n let json_submit = {\r\n protocoloDestinoLocal_Id: rowEdit == null ? 0 : rowEdit.protocoloDestinoLocal_Id,\r\n protocoloDestino_Id: item.protocoloDestino[0].protocoloDestino_Id,\r\n identificacao: data.identificacao,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n geoLocalizacao: positionMarker[0] + \";\" + positionMarker[1],\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n capacidade: data.capacidade,\r\n status: status,\r\n observacao: data.observacao\r\n }\r\n return json_submit;\r\n }\r\n const carregaJsonRequerimento = (data) => {\r\n let json_submit = {\r\n requerimentoDestinoLocal_Id: rowEdit == null ? 0 : rowEdit.requerimentoDestinoLocal_Id,\r\n requerimento_Id: item.requerimento_Id,\r\n identificacao: data.identificacao,\r\n cEP: data.cep.replace(/[^0-9]/g, ''),\r\n logradouro: data.logradouro,\r\n numEndereco: data.numEndereco,\r\n complemento: data.complemento,\r\n bairro: data.bairro,\r\n cidade: data.cidade,\r\n uf: data.uf,\r\n geoLocalizacao: positionMarker[0] + \";\" + positionMarker[1],\r\n usuarioUltimaAlteracao_Id: session != null && session.tipoAcesso == \"AreaRestrita\" ? session.usuario_Id : null,\r\n capacidade: data.capacidade\r\n }\r\n return json_submit;\r\n }\r\n const confirmaAddLocais = (result) => {\r\n setLoading(false);\r\n set_localizacaoConfirmada(false);\r\n\r\n let local = result.data;\r\n\r\n let new_list = [];\r\n\r\n let _registro = registro;\r\n if (tipoCadastro == \"Protocolo\") {\r\n locais_Destinacao.map(m => {\r\n if (m.protocoloDestinoLocal_Id != local.protocoloDestinoLocal_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.protocoloDestino[0].protocoloDestinoLocais = new_list;\r\n }\r\n else if (tipoCadastro == \"Requerimento\") {\r\n locais_Destinacao.map(m => {\r\n if (m.requerimentoDestinoLocal_Id != local.requerimentoDestinoLocal_Id)\r\n new_list.push(m);\r\n });\r\n\r\n _registro.requerimentoDestinoLocais = new_list;\r\n }\r\n\r\n new_list.push(local);\r\n set_locais_Destinacao(new_list);\r\n set_registro(_registro);\r\n\r\n set_cep(\"\");\r\n setValue(\"cep\", \"\");\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"numEndereco\", \"\");\r\n setValue(\"complemento\", \"\");\r\n setValue(\"bairro\", \"\");\r\n setValue(\"cidade\", \"\");\r\n setValue(\"uf\", \"\");\r\n setValue(\"capacidade\", \"\");\r\n setValue(\"identificacao\", \"\");\r\n\r\n set_rowEdit(null);\r\n\r\n showMessage(\"Aviso\", \"Operação executada com sucesso\", 'success', null);\r\n }\r\n\r\n const handleAvancar = () => {\r\n if ((session == null || (session && session.tipoAcesso == \"Protocolo\")) && locais_Destinacao.length == 0) {\r\n showMessage(\"Aviso\", \"Você não pode avançar sem informar os locais de destinação\", 'error', null);\r\n return;\r\n }\r\n handleProximoStep(registro);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n

Locais de Destinação

\r\n
\r\n
\r\n \r\n {tipoCadastro == \"Protocolo\" &&\r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: permiteEditar })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n {errors.identificacao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cep && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.logradouro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.bairro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n handleNumeroChange(e.target.value)} />\r\n {errors.numEndereco && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.cidade && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.uf && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.capacidade && * Campo Obrigatório}\r\n \r\n \r\n {tipoCadastro == \"Protocolo\" &&\r\n \r\n \r\n \r\n \r\n {errors.observacao && * Campo Obrigatório}\r\n \r\n \r\n }\r\n \r\n \r\n \r\n {permiteEditar &&\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
\r\n
\r\n \r\n \r\n rowData.status != null ? rowData.status : \"Ativo\" }\r\n ]}\r\n data={locais_Destinacao}\r\n isLoading={false}\r\n actions={actions}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
Confirme o Local no Mapa
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \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 } from 'react';\r\n\r\n// reactstrap components\r\nimport { Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Destino/Identificacao\";\r\nimport Locais from '../../../views/Shared/Destino/Locais';\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function ManutencaoDestinoForm({ item, handleReturn }) {\r\n\r\n const {setLoading} = useAuth();\r\n\r\n\r\n const [protocolo, set_protocolo] = React.useState(item);\r\n const [opcao, set_opcao] = React.useState({\r\n tipoCadastro: \"Protocolo\",\r\n segmento: \"Destino Final\",\r\n categoria: { sigla: \"RCC\" }\r\n });\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_protocolo) => {\r\n if ((step == 2 && opcao.categoria.sigla != \"RGG\") || (step == 1 && opcao.categoria.sigla == \"RGG\"))\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () {\r\n handleReturn();\r\n });\r\n else {\r\n set_protocolo(_protocolo);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_protocolo) => {\r\n set_protocolo(_protocolo)\r\n set_step(step - 1);\r\n }\r\n\r\n const [permiteManutencao, set_permiteManutencao] = React.useState(false);\r\n const handleVerificaPermissaoManutencao = () => {\r\n setLoading(true);\r\n\r\n api_GET('Protocolo/VerifyExistsRequeriments/' + protocolo.protocolo_Id).then(result => {\r\n set_permiteManutencao(result.data.sucesso);\r\n if (!result.data.sucesso) {\r\n showMessage(\"Aviso\", \"Não permitida a manutenção do cadastro. \" + result.data.mensagem, 'warning', null);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n set_opcao({\r\n tipoCadastro: \"Protocolo\",\r\n segmento: \"Destino Final\",\r\n categoria: item.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria\r\n });\r\n set_protocolo(item);\r\n if (item)\r\n handleVerificaPermissaoManutencao();\r\n }, []);\r\n\r\n const steps = [];\r\n\r\n if (protocolo != null) {\r\n if (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Locais de Destinação', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Documentação');\r\n }\r\n\r\n return (\r\n <>\r\n {opcao != null &&\r\n
\r\n \r\n \r\n \r\n {step == 0 && }\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" ? step == 1 && : \"\"}\r\n {protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla != \"RGG\" ?\r\n step == 2 && \r\n :\r\n step == 1 && \r\n }\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\nimport Switch from \"react-switch\";\r\n\r\n// reactstrap components\r\nimport {\r\n Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Nav, NavItem,\r\n NavLink, TabPane, TabContent, InputGroup, InputGroupAddon, InputGroupText,\r\n Modal, ModalHeader, ModalBody, ModalFooter, CustomInput\r\n} from \"reactstrap\";\r\n\r\n// helpers\r\nimport { transformValueFloattoFormated } from \"../../helpers/formats.js\";\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth';\r\n\r\nexport default function CadastroSolicitacaoForm({ item, handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [setupSolicitacao_Id, set_setupSolicitacao_Id] = React.useState(0);\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // Segmento\r\n const [segmento, set_segmento] = React.useState(\"\");\r\n const [options_segmento] = React.useState([\r\n { value: \"Destino Final\", label: \"Destino Final\" },\r\n { value: \"Grande Gerador\", label: \"Grande Gerador\" },\r\n { value: \"Transportador\", label: \"Transportador\" },\r\n ]);\r\n const handleSegmento = (value) => {\r\n set_segmento(value);\r\n setValue(\"segmento\", value, true);\r\n clearErrors(\"segmento\");\r\n loadOptionsCategoria(value);\r\n }\r\n\r\n // Categoria\r\n const [categoria, set_categoria] = React.useState(null);\r\n const [options_categoria, set_options_categoria] = React.useState([]);\r\n const loadOptionsCategoria = (_segmento) => {\r\n api_GET(`Categoria/GetListBySegmento/${_segmento}`)\r\n .then(result => set_options_categoria(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleCategoria = (value) => {\r\n set_categoria(value);\r\n setValue(\"categoria\", value, true);\r\n clearErrors(\"categoria\");\r\n }\r\n\r\n // Tipo Pessoa\r\n const [tipoPessoa, set_tipoPessoa] = React.useState(\"\");\r\n const [options_tipoPessoa] = React.useState([\r\n { value: \"Física\", label: \"Pessoa Física\" },\r\n { value: \"Jurídica\", label: \"Pessoa Jurídica (Privado)\" },\r\n { value: \"Pública\", label: \"Pessoa Jurídica (Público)\" },\r\n { value: \"Ambos\", label: \"Ambos\" },\r\n ]);\r\n const handleTipoPessoa = (value) => {\r\n set_tipoPessoa(value);\r\n setValue(\"tipoPessoa\", value, true);\r\n clearErrors(\"tipoPessoa\");\r\n }\r\n\r\n const [permiteCadastroDuplicado, set_permiteCadastroDuplicado] = React.useState(false);\r\n const handleChangePermiteCadastroDuplicado = (checked) => {\r\n set_permiteCadastroDuplicado(checked);\r\n }\r\n\r\n // Ações\r\n const [acao, set_acao] = React.useState(\"\");\r\n const [options_acao] = React.useState([\r\n { value: \"Alteração\", label: \"Alteração de Cadastro\" },\r\n { value: \"Alteração de Identificação\", label: \"Alteração de Identificação\" },\r\n { value: \"Alteração de Equipamentos\", label: \"Alteração de Equipamentos\" },\r\n { value: \"Aumento de Capacidade\", label: \"Aumento de Capacidade\" },\r\n { value: \"Cancelamento\", label: \"Cancelamento\" },\r\n { value: \"Exclusão\", label: \"Exclusão\" },\r\n { value: \"Inclusão\", label: \"Inclusão\" },\r\n { value: \"Novo Cadastro\", label: \"Novo Cadastro\" },\r\n { value: \"Renovação\", label: \"Renovação\" }\r\n ]);\r\n\r\n const handleAcao = (value) => {\r\n set_acao(value);\r\n setValue(\"acao\", value, true);\r\n clearErrors(\"acao\");\r\n }\r\n\r\n // Status Ação\r\n const [statusAcao, set_statusAcao] = React.useState(\"\");\r\n const [options_statusAcao] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatusAcao = (value) => {\r\n set_statusAcao(value);\r\n setValue(\"statusAcao\", value, true);\r\n clearErrors(\"statusAcao\");\r\n }\r\n\r\n // Enquadramento Obrigatório\r\n const [enquadramentoObg, set_enquadramentoObg] = React.useState(\"\");\r\n const [options_enquadramentoObg] = React.useState([\r\n { value: \"true\", label: \"Sim\" },\r\n { value: \"false\", label: \"Não\" },\r\n ]);\r\n const handleEnquadramentoObg = (value) => {\r\n set_enquadramentoObg(value);\r\n setValue(\"enquadramentoObg\", value, true);\r\n clearErrors(\"enquadramentoObg\");\r\n }\r\n\r\n // Cancelar Requerimentos\r\n const [cancelarRequerimentos, set_cancelarRequerimentos] = React.useState(\"\");\r\n const [options_cancelarRequerimentos] = React.useState([\r\n { value: \"true\", label: \"Sim\" },\r\n { value: \"false\", label: \"Não\" },\r\n ]);\r\n const handleCancelarRequerimentos = (value) => {\r\n set_cancelarRequerimentos(value);\r\n setValue(\"cancelarRequerimentos\", value, true);\r\n clearErrors(\"cancelarRequerimentos\");\r\n }\r\n\r\n // Diário Oficial\r\n const [diarioOficial, set_diarioOficial] = React.useState(\"\");\r\n const [options_diarioOficial] = React.useState([\r\n { value: \"true\", label: \"Sim\" },\r\n { value: \"false\", label: \"Não\" },\r\n ]);\r\n const handleDiarioOficial = (value) => {\r\n set_diarioOficial(value);\r\n setValue(\"diarioOficial\", value, true);\r\n clearErrors(\"diarioOficial\");\r\n }\r\n\r\n // Modal Documentos\r\n const [optionsDocumentos, set_optionsDocumentos] = React.useState([]);\r\n const [optionsDocumentosSelected, set_optionsDocumentosSelected] = React.useState([]);\r\n const loadOptionsDocumentos = () => {\r\n api_GET('documento/ativos')\r\n .then(result => set_optionsDocumentos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const toggleModalDocumentos = () => {\r\n setModal(!modal);\r\n }\r\n const confirmarModalDocumentos = () => {\r\n setModal(false);\r\n }\r\n const handleDocumentoChange = (value, documento_Id) => {\r\n let _documentos = optionsDocumentosSelected;\r\n\r\n if (value)\r\n _documentos.push(documento_Id);\r\n else\r\n _documentos = _documentos.filter(f => f != documento_Id);\r\n\r\n set_optionsDocumentosSelected(_documentos);\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table_acoes, set_list_table_acoes] = React.useState([]);\r\n\r\n const handleEditarAcao = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_acao(rowData.acao);\r\n setValue(\"acao\", rowData.acao, true);\r\n set_statusAcao(rowData.status);\r\n setValue(\"statusAcao\", rowData.status, true);\r\n set_enquadramentoObg(rowData.enquadramentoObrigatorio.toString())\r\n setValue(\"enquadramentoObg\", rowData.enquadramentoObrigatorio.toString(), true);\r\n set_cancelarRequerimentos(rowData.cancelarRequerimentos.toString());\r\n setValue(\"cancelarRequerimentos\", rowData.cancelarRequerimentos.toString(), true);\r\n set_diarioOficial(rowData.publicaDiarioOficial.toString());\r\n setValue(\"diarioOficial\", rowData.publicaDiarioOficial.toString(), true);\r\n setValue(\"codigoCobranca\", rowData.codigoCobranca);\r\n setValue(\"identificacao\", rowData.identificacao);\r\n setValue(\"valor\", rowData.valorGuia);\r\n setValue(\"prazoCobranca\", rowData.prazoVencimentoCobrancaEmDias);\r\n\r\n let _documentos = [];\r\n rowData.acaoDocumentos.map(m => {\r\n _documentos.push(m.documento_Id);\r\n })\r\n set_optionsDocumentosSelected(_documentos);\r\n }\r\n\r\n // Adicionar Ação\r\n const confirmacaoAcaoAdicionada = (item) => {\r\n let new_list = [];\r\n list_table_acoes.map(m => {\r\n if (m.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id)\r\n new_list.push(item);\r\n else\r\n new_list.push(m);\r\n });\r\n if (list_table_acoes.filter(f => f.setupSolicitacaoAcao_Id == item.setupSolicitacaoAcao_Id).length == 0)\r\n new_list.push(item);\r\n\r\n set_list_table_acoes(new_list);\r\n\r\n set_rowEdit(null);\r\n set_acao(\"\");\r\n setValue(\"acao\", \"\", false);\r\n set_statusAcao(\"\");\r\n setValue(\"statusAcao\", \"\", false);\r\n set_enquadramentoObg(\"\")\r\n setValue(\"enquadramentoObg\", \"\", false);\r\n set_cancelarRequerimentos(\"\");\r\n setValue(\"cancelarRequerimentos\", \"\", false);\r\n set_diarioOficial(\"\");\r\n setValue(\"diarioOficial\", \"\", false);\r\n setValue(\"valor\", \"\");\r\n setValue(\"prazoCobranca\", \"\");\r\n set_optionsDocumentosSelected([]);\r\n }\r\n\r\n const handleAdicionarAcao = () => {\r\n let data = getValues();\r\n let error = false;\r\n\r\n if (acao == \"\" || statusAcao == \"\" || enquadramentoObg == \"\" || diarioOficial == \"\" || data.valor == \"\" || data.prazoCobranca == \"\")\r\n error = true;\r\n\r\n if (error) {\r\n showMessage(\"Aviso\", \"Preencha todos os campos\", 'error', null);\r\n return;\r\n }\r\n\r\n let documentos = [];\r\n optionsDocumentosSelected.map(m => {\r\n if (documentos.filter(f => f.documento_Id == m).length == 0) {\r\n documentos.push({\r\n setupSolicitacaoAcao_Id: rowEdit != null ? rowEdit.setupSolicitacaoAcao_Id : 0,\r\n documento_Id: m\r\n });\r\n }\r\n });\r\n\r\n let json_submit = {\r\n setupSolicitacaoAcao_Id: rowEdit != null ? rowEdit.setupSolicitacaoAcao_Id : 0,\r\n setupSolicitacao_Id: setupSolicitacao_Id,\r\n acao: acao,\r\n enquadramentoObrigatorio: enquadramentoObg,\r\n cancelarRequerimentos: cancelarRequerimentos,\r\n publicaDiarioOficial: diarioOficial,\r\n valorGuia: data.valor,\r\n codigoCobranca: data.codigoCobranca,\r\n prazoVencimentoCobrancaEmDias: data.prazoCobranca,\r\n status: statusAcao,\r\n acaoDocumentos: documentos,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id,\r\n identificacao: data.identificacao\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.setupSolicitacaoAcao_Id == 0) {\r\n api_POST('SetupSolicitacao/PostAcao', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { confirmacaoAcaoAdicionada(result.data) }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('SetupSolicitacao/PutAcao', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { confirmacaoAcaoAdicionada(result.data) }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n // Remover Ação\r\n const handleDeleteAcao = (rowData) => {\r\n showQuestion(\"Aviso\", \"Tem certeza que quer deletar o registro?\", 'question', function (retorno) {\r\n if (retorno) {\r\n setLoading(true);\r\n api_POST('SetupSolicitacao/DeleteAcao', rowData).then(result => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null);\r\n let new_list = list_table_acoes.filter(f => f.setupSolicitacaoAcao_Id != rowData.setupSolicitacaoAcao_Id);\r\n set_list_table_acoes(new_list)\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n });\r\n }\r\n\r\n const [tooltipOpen, setTooltipOpen] = React.useState(false);\r\n const toggleTip = () => setTooltipOpen(!tooltipOpen);\r\n\r\n const Voltar = (event, rowData) => {\r\n handleReturn();\r\n }\r\n\r\n const [h1_tab, set_h1_tab] = React.useState(\"ht1\");\r\n const [modal, setModal] = React.useState(false);\r\n\r\n const loadItem = () => {\r\n setValue(\"acao\", \"\", false);\r\n setValue(\"statusAcao\", \"\", false);\r\n setValue(\"enquadramentoObg\", \"\", false);\r\n setValue(\"diarioOficial\", \"\", false);\r\n if (item != null) {\r\n set_setupSolicitacao_Id(item.setupSolicitacao_Id);\r\n setValue(\"descricao\", item.descricao);\r\n set_status(item.status);\r\n setValue(\"status\", item.status, true);\r\n set_segmento(item.segmento);\r\n setValue(\"segmento\", item.segmento, true);\r\n loadOptionsCategoria(item.segmento);\r\n set_categoria(item.categoria_Id);\r\n setValue(\"categoria\", item.categoria_Id, true);\r\n set_tipoPessoa(item.pessoa);\r\n setValue(\"tipoPessoa\", item.pessoa, true);\r\n setValue(\"vigencia\", item.vigenciaEmMeses);\r\n setValue(\"primeiraNotificacao\", item.notificacao1RenovacaoEmDias);\r\n setValue(\"segundaNotificacao\", item.notificacao2RenovacaoEmDias);\r\n setValue(\"terceiraNotificacao\", item.notificacao3RenovacaoEmDias);\r\n setValue(\"declaracao\", item.descricaoDeclaracao);\r\n set_permiteCadastroDuplicado(item.permiteCadastroDuplicado);\r\n set_list_table_acoes(item.solicitacaoAcoes);\r\n setValue(\"cabecalhoCertificado\", item.cabecalhoCertificado);\r\n setValue(\"legislacaoCertificado\", item.legislacaoCertificado);\r\n }\r\n else {\r\n set_setupSolicitacao_Id(0);\r\n setValue(\"descricao\", \"\");\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n set_segmento(\"\");\r\n setValue(\"segmento\", \"\", false);\r\n set_categoria(\"\");\r\n set_options_categoria([]);\r\n setValue(\"categoria\", null, false);\r\n set_tipoPessoa(\"\");\r\n setValue(\"tipoPessoa\", \"\", false);\r\n setValue(\"vigencia\", \"\");\r\n setValue(\"primeiraNotificacao\", \"\");\r\n setValue(\"segundaNotificacao\", \"\");\r\n setValue(\"terceiraNotificacao\", \"\");\r\n setValue(\"declaracao\", \"\");\r\n set_permiteCadastroDuplicado(false);\r\n setValue(\"cabecalhoCertificado\", \"\");\r\n setValue(\"legislacaoCertificado\", \"\");\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroSolicitacao.Editar\", function (result) { set_permiteEditar(result) });\r\n loadOptionsDocumentos();\r\n loadItem();\r\n }, [item]);\r\n\r\n const onSubmit = (data) => {\r\n let json_submit = {\r\n setupSolicitacao_Id: setupSolicitacao_Id,\r\n descricao: data.descricao,\r\n segmento: segmento,\r\n categoria_Id: categoria,\r\n pessoa: tipoPessoa,\r\n vigenciaEmMeses: data.vigencia,\r\n notificacao1RenovacaoEmDias: data.primeiraNotificacao,\r\n notificacao2RenovacaoEmDias: data.segundaNotificacao,\r\n notificacao3RenovacaoEmDias: data.terceiraNotificacao,\r\n descricaoDeclaracao: data.declaracao,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n UsuarioUltimaAlteracao_Id: session.usuario_Id,\r\n permiteCadastroDuplicado: permiteCadastroDuplicado,\r\n cabecalhoCertificado: data.cabecalhoCertificado,\r\n legislacaoCertificado: data.legislacaoCertificado\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.setupSolicitacao_Id == 0) {\r\n api_POST('SetupSolicitacao', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { set_setupSolicitacao_Id(result.data.setupSolicitacao_Id) }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('SetupSolicitacao', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(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 \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.descricao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleSegmento(e.value) }}\r\n value={segmento != \"\" && options_segmento.find(obj => obj.value === segmento)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"segmento\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.segmento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleTipoPessoa(e.value) }}\r\n value={tipoPessoa != \"\" && options_tipoPessoa.find(obj => obj.value === tipoPessoa)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoPessoa\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.tipoPessoa && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.categoria_Id}\r\n onChange={(e) => { handleCategoria(e.categoria_Id) }}\r\n value={categoria != null && options_categoria.find(obj => obj.categoria_Id === categoria)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"categoria\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.categoria && * Campo Obrigatório}\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 \r\n Dias\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Dias\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Dias\r\n \r\n \r\n \r\n \r\n \r\n Permite cadastro duplicado no CNPJ/CPF  \r\n handleChangePermiteCadastroDuplicado(event)} checked={permiteCadastroDuplicado} height={20} width={35} />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n { handleAcao(e.value) }}\r\n value={acao != \"\" && options_acao.find(obj => obj.value === acao)}\r\n placeholder=\"Selecione\"\r\n ref={e => register({ name: \"acao\" })}\r\n isDisabled={(rowEdit != null && rowEdit.setupSolicitacaoAcao_Id != null) ? true : false}\r\n />\r\n {errors.acao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.identificacao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatusAcao(e.value) }}\r\n value={statusAcao != \"\" && options_statusAcao.find(obj => obj.value === statusAcao)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"statusAcao\" },\r\n { required: false })\r\n }\r\n />\r\n {errors.statusAcao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleEnquadramentoObg(e.value) }}\r\n value={enquadramentoObg != \"\" && options_enquadramentoObg.find(obj => obj.value == enquadramentoObg)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"enquadramentoObg\" },\r\n { required: false })\r\n }\r\n />\r\n {errors.enquadramentoObg && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleCancelarRequerimentos(e.value) }}\r\n value={cancelarRequerimentos != \"\" && options_cancelarRequerimentos.find(obj => obj.value == cancelarRequerimentos)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"cancelarRequerimentos\" },\r\n { required: false })\r\n }\r\n />\r\n {errors.enquadramentoObg && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleDiarioOficial(e.value) }}\r\n value={diarioOficial != \"\" && options_diarioOficial.find(obj => obj.value == diarioOficial)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"diarioOficial\" },\r\n { required: false })\r\n }\r\n />\r\n {errors.diarioOficial && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.codigoCobranca && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n R$\r\n \r\n \r\n {errors.valor && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.prazoCobranca && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n rowData.enquadramentoObrigatorio ? \"Sim\" : \"Não\" },\r\n { title: 'Publição para o Diario Oficial', field: 'publicaDiarioOficial', render: (rowData) => rowData.publicaDiarioOficial ? \"Sim\" : \"Não\" },\r\n { title: 'Código de Cobrança', field: 'codigoCobranca' },\r\n { title: 'Valor', field: 'valorGuia', render: (rowData) => transformValueFloattoFormated(rowData.valorGuia), type: 'numeric', cellStyle: { textAlign: \"right\" } },\r\n { title: 'Prazo Vencimento Cobrança', field: 'prazoVencimentoCobrancaEmDias', type: 'numeric', cellStyle: { textAlign: \"right\" } },\r\n { title: 'Status', field: 'status' }\r\n ]}\r\n data={list_table_acoes}\r\n isLoading={false}\r\n options={{\r\n headerStyle: {\r\n fontFamily: 'Montserrat, Helvetica Neue, Arial, sans-serif',\r\n fontWeight: '700',\r\n color: '#888'\r\n },\r\n filtering: false,\r\n exportButton: true\r\n }}\r\n actions={[\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEditarAcao(rowData)\r\n },\r\n {\r\n icon: 'delete',\r\n tooltip: 'Deletar Registro',\r\n onClick: (event, rowData) => handleDeleteAcao(rowData)\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 cancelTooltip: \"Cancelar\",\r\n saveTooltip: \"Salvar\"\r\n },\r\n deleteTooltip: \"Excluir\",\r\n editTooltip: \"Editar\"\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: 'Primeira página',\r\n previousTooltip: 'Página anterior',\r\n nextTooltip: 'Próxima página',\r\n lastTooltip: 'Última página'\r\n }\r\n }}\r\n />\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n ×} className=\"md-hd\"> Documentos\r\n \r\n
\r\n {optionsDocumentos.map(item => (\r\n \r\n \r\n f == item.documento_Id).length > 0}\r\n name=\"customSwitch\"\r\n label={item.descricao}\r\n onChange={(event) => handleDocumentoChange(event.target.checked, item.documento_Id)}\r\n />\r\n \r\n \r\n {item.orientacao != null && item.orientacao != \"\" && showMessage(item.orientacao, \"\", null, 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","import React, { useState, useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport {\r\n Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Nav,\r\n NavItem, NavLink, TabPane, TabContent\r\n} from \"reactstrap\";\r\nimport MaterialTable from 'material-table';\r\nimport Select from 'react-select'\r\n\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"services/acesso.js\";\r\nimport CardHeader from \"reactstrap/lib/CardHeader\";\r\nimport { useAuth } from \"context/auth\";\r\n\r\nexport default function CadastroFluxoForm({ item, handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [fluxoCadastro_Id, set_fluxoCadastro_Id] = React.useState(0);\r\n\r\n // Configuração de Solicitação\r\n const [optionsSetupSolicitacao, set_OptionsSetupSolicitacao] = useState([]);\r\n const [setupSolicitacao, set_setupSolicitacao] = useState(null);\r\n const loadOptionsSetupSolicitacao = () => {\r\n let endpoint = \"setupsolicitacao\";\r\n if (item == null)\r\n endpoint += \"/GetListByFluxoCadastro\";\r\n api_GET(endpoint)\r\n .then(result => set_OptionsSetupSolicitacao(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleSetupSolicitacao = (value) => {\r\n set_setupSolicitacao(value);\r\n setValue(\"setupSolicitacao\", value, true);\r\n clearErrors(\"setupSolicitacao\");\r\n }\r\n\r\n // Ação\r\n const [setupSolicitacaoAcao, set_setupSolicitacaoAcao] = useState(null);\r\n const handleSetupSolicitacaoAcao = (value) => {\r\n set_setupSolicitacaoAcao(value);\r\n setValue(\"setupSolicitacaoAcao\", value, true);\r\n clearErrors(\"setupSolicitacaoAcao\");\r\n }\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table_etapas, set_list_table_etapas] = React.useState([]);\r\n\r\n // Status Etapa\r\n const [statusEtapa, set_statusEtapa] = React.useState(\"\");\r\n const handleStatusEtapa = (value) => {\r\n set_statusEtapa(value);\r\n clearErrors(\"statusEtapa\");\r\n }\r\n\r\n // Tipo\r\n const [tipo, set_tipo] = React.useState(\"\");\r\n const [options_tipo] = React.useState([\r\n { value: \"Aguardando Análise\", label: \"Aguardando Análise\" },\r\n { value: \"Aguardando Aprovação\", label: \"Aguardando Aprovação\" },\r\n { value: \"Aguardando Compensação\", label: \"Aguardando Compensação\" },\r\n { value: \"Aguardando Aprovação de Guia\", label: \"Aguardando Aprovação de Guia\" },\r\n { value: \"Aguardando Fiscalização\", label: \"Aguardando Fiscalização\" },\r\n { value: \"Aguardando Diário Oficial\", label: \"Aguardando Diário Oficial\" },\r\n { value: \"Emissão de Guia\", label: \"Emissão de Guia\" },\r\n { value: \"Publicar Diário Oficial\", label: \"Publicar Diário Oficial\" },\r\n { value: \"Vistoria\", label: \"Vistoria\" },\r\n //{value: \"Solicitar Fiscalização\", label: \"Solicitar Fiscalização\"},\r\n { value: \"Aguardando Enquadramento\", label: \"Aguardando Enquadramento\" },\r\n ]);\r\n const handleTipo = (value) => {\r\n set_tipo(value);\r\n clearErrors(\"tipo\");\r\n }\r\n\r\n const handleEditarEtapa = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_tipo(rowData.tipo);\r\n set_statusEtapa(rowData.status);\r\n setValue(\"ordemEtapa\", rowData.ordem);\r\n setValue(\"descricaoEtapa\", rowData.descricao);\r\n setValue(\"responsividadeEtapa\", rowData.prazoResponsividade);\r\n }\r\n\r\n // Adicionar Etapa\r\n const confirmaEtapaAdicionada = (item) => {\r\n let new_list = [];\r\n list_table_etapas.map(m => {\r\n if (m.fluxoCadastroEtapa_Id == item.fluxoCadastroEtapa_Id)\r\n new_list.push(item);\r\n else\r\n new_list.push(m);\r\n });\r\n if (list_table_etapas.filter(f => f.fluxoCadastroEtapa_Id == item.fluxoCadastroEtapa_Id).length == 0)\r\n new_list.push(item);\r\n\r\n set_list_table_etapas(new_list);\r\n\r\n set_rowEdit(null);\r\n\r\n set_tipo(\"\");\r\n\r\n set_statusEtapa(\"\");\r\n setValue(\"statusEtapa\", \"\", false);\r\n setValue(\"ordemEtapa\", \"\");\r\n setValue(\"descricaoEtapa\", \"\");\r\n setValue(\"responsividadeEtapa\", \"\");\r\n }\r\n\r\n const handleAdicionarEtapa = () => {\r\n let data = getValues();\r\n\r\n if (fluxoCadastro_Id == 0) {\r\n showMessage(\"Aviso\", \"Efetue o cadastro da primeira aba antes de adicionar as etapas!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (data.ordemEtapa == \"\" || tipo == \"\" || data.descricaoEtapa == \"\" || data.responsividadeEtapa == \"\" || statusEtapa == \"\") {\r\n showMessage(\"Aviso\", \"Preencha todos os campos!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (list_table_etapas != null && list_table_etapas.filter(f => f.tipo == tipo\r\n && (rowEdit == null || (rowEdit != null && f.fluxoCadastroEtapa_Id != rowEdit.fluxoCadastroEtapa_Id))).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe outra etapa adicinada com o tipo informado!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (list_table_etapas != null && list_table_etapas.filter(f => f.ordem == data.ordemEtapa\r\n && (rowEdit == null || (rowEdit != null && f.fluxoCadastroEtapa_Id != rowEdit.fluxoCadastroEtapa_Id))).length > 0) {\r\n showMessage(\"Aviso\", \"Já existe outra etapa adicinada com esta ordem!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n fluxoCadastroEtapa_Id: rowEdit != null ? rowEdit.fluxoCadastroEtapa_Id : 0,\r\n fluxoCadastro_Id: fluxoCadastro_Id,\r\n tipo: tipo,\r\n descricao: data.descricaoEtapa,\r\n ordem: data.ordemEtapa,\r\n prazoResponsividade: data.responsividadeEtapa,\r\n status: statusEtapa,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.fluxoCadastroEtapa_Id == 0) {\r\n api_POST('FluxoCadastro/PostEtapa', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { confirmaEtapaAdicionada(result.data) }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('FluxoCadastro/PutEtapa', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { confirmaEtapaAdicionada(result.data) }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n // Remover Etapa\r\n const handleDeleteEtapa = (rowData) => {\r\n showQuestion(\"Aviso\", \"Tem certeza que quer deletar o registro?\", 'question', function (retorno) {\r\n if (retorno) {\r\n setLoading(true);\r\n api_POST('FluxoCadastro/DeleteEtapa', rowData).then(result => () => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null)\r\n let new_list = list_table_etapas.filter(f => f.fluxoCadastroEtapa_Id != rowData.fluxoCadastroEtapa_Id);\r\n set_list_table_etapas(new_list);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n });\r\n }\r\n\r\n const Voltar = (event, rowData) => {\r\n handleReturn();\r\n }\r\n\r\n const [h1_tab, set_h1_tab] = useState(\"ht1\");\r\n\r\n const loadItem = () => {\r\n set_rowEdit(null);\r\n if (item != null) {\r\n set_fluxoCadastro_Id(item.fluxoCadastro_Id);\r\n set_setupSolicitacao(item.setupSolicitacaoAcao.setupSolicitacao);\r\n setValue(\"setupSolicitacao\", item.setupSolicitacaoAcao.setupSolicitacao, true);\r\n set_setupSolicitacaoAcao(item.setupSolicitacaoAcao);\r\n setValue(\"setupSolicitacaoAcao\", item.setupSolicitacaoAcao, true);\r\n set_status(item.status);\r\n setValue(\"status\", item.status, true);\r\n set_list_table_etapas(item.fluxoCadastroEtapas);\r\n }\r\n else {\r\n set_fluxoCadastro_Id(0);\r\n set_setupSolicitacao(null);\r\n setValue(\"setupSolicitacao\", \"\", false);\r\n set_setupSolicitacaoAcao(null);\r\n setValue(\"setupSolicitacaoAcao\", \"\", false);\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n set_list_table_etapas([]);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroFluxo.Editar\", function (result) { set_permiteEditar(result) });\r\n loadOptionsSetupSolicitacao();\r\n loadItem();\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n let json_submit = {\r\n fluxoCadastro_Id: fluxoCadastro_Id,\r\n setupSolicitacaoAcao_Id: setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n UsuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.fluxoCadastro_Id == 0) {\r\n api_POST('FluxoCadastro', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { set_fluxoCadastro_Id(result.data.fluxoCadastro_Id) }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('FluxoCadastro', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.setupSolicitacao_Id}\r\n name=\"setupSolicitacao\"\r\n onChange={(e) => { handleSetupSolicitacao(e) }}\r\n value={setupSolicitacao}\r\n placeholder=\"Selecione\"\r\n isDisabled={(item != null && item.fluxoCadastro_Id != null) ? true : false}\r\n ref={e => register(\r\n { name: \"setupSolicitacao\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.setupSolicitacao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.identificacao}\r\n getOptionValue={option => option.setupSolicitacaoAcao_Id}\r\n name=\"setupSolicitacaoAcao\"\r\n onChange={(e) => { handleSetupSolicitacaoAcao(e) }}\r\n value={setupSolicitacaoAcao}\r\n placeholder=\"Selecione\"\r\n isDisabled={(item != null && item.fluxoCadastro_Id != null) ? true : false}\r\n ref={e => register(\r\n { name: \"setupSolicitacaoAcao\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.setupSolicitacaoAcao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.ordemEtapaErro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleTipo(e.value) }}\r\n value={tipo != \"\" && options_tipo.find(obj => obj.value === tipo)}\r\n placeholder=\"Selecione\"\r\n style={{ zIndex: \"9999\" }}\r\n isDisabled={rowEdit != null ? true : false}\r\n />\r\n {errors.tipo && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.descricaoEtapa && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.responsividadeEtapa && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n { handleStatusEtapa(e.value) }}\r\n value={statusEtapa != \"\" && options_status.find(obj => obj.value === statusEtapa)}\r\n placeholder=\"Selecione\"\r\n />\r\n {errors.statusEtapa && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleEditarEtapa(rowData)\r\n },\r\n {\r\n icon: 'delete',\r\n tooltip: 'Deletar Registro',\r\n onClick: (event, rowData) => handleDeleteEtapa(rowData)\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 cancelTooltip: \"Cancelar\",\r\n saveTooltip: \"Salvar\"\r\n },\r\n deleteTooltip: \"Excluir\",\r\n editTooltip: \"Editar\"\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: 'Primeira página',\r\n previousTooltip: 'Página anterior',\r\n nextTooltip: 'Próxima página',\r\n lastTooltip: 'Última página'\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \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 MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Nav, NavItem, NavLink, TabPane, TabContent } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth.js';\r\n\r\nexport default function CadastroClassesResiduosForm({ item, handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [classeResiduo_Id, set_classeResiduo_Id] = React.useState(0);\r\n\r\n // Status \r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // Categoria\r\n const [categoria, set_categoria] = React.useState(null);\r\n const [options_categoria, set_options_categoria] = React.useState([]);\r\n const loadOptionsCategoria = (_segmento) => {\r\n api_GET(`Categoria`)\r\n .then(result => set_options_categoria(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n const handleCategoria = (value) => {\r\n set_categoria(value);\r\n setValue(\"categoria\", value, true);\r\n clearErrors(\"categoria\");\r\n }\r\n\r\n // Status Resíduo\r\n const [statusResiduo, set_statusResiduo] = React.useState(\"\");\r\n const [options_statusResiduo] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatusResiduo = (value) => {\r\n set_statusResiduo(value);\r\n setValue(\"statusResiduo\", value, true);\r\n clearErrors(\"statusResiduo\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table_residuos, set_list_table_residuos] = React.useState([]);\r\n const handleEditarResiduo = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_statusResiduo(rowData.status);\r\n setValue(\"statusResiduo\", rowData.status, true);\r\n setValue(\"descricaoResiduo\", rowData.descricao);\r\n }\r\n // Adicionar Resíduo\r\n const confirmacaoResiduoAdicionado = (item) => {\r\n let new_list = [];\r\n list_table_residuos.map(m => {\r\n if (m.residuo_Id == item.residuo_Id)\r\n new_list.push(item);\r\n else\r\n new_list.push(m);\r\n });\r\n if (list_table_residuos.filter(f => f.residuo_Id == item.residuo_Id).length == 0)\r\n new_list.push(item);\r\n\r\n set_list_table_residuos(new_list);\r\n\r\n set_rowEdit(null);\r\n set_statusResiduo(\"\");\r\n setValue(\"statusResiduo\", \"\", false);\r\n setValue(\"descricaoResiduo\", \"\");\r\n }\r\n\r\n const handleAdicionarResiduo = () => {\r\n if (classeResiduo_Id == 0) {\r\n showMessage(\"Aviso\", \"Salve o cadastro da classe na primeira aba antes de incluir os resíduos!\", 'error', null);\r\n return;\r\n }\r\n\r\n let data = getValues();\r\n let error = false;\r\n\r\n if (data.descricaoResiduo == \"\" || statusResiduo == \"\")\r\n error = true;\r\n\r\n if (error) {\r\n showMessage(\"Aviso\", \"Preencha todos os campos\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n residuo_Id: rowEdit != null ? rowEdit.residuo_Id : 0,\r\n classeResiduo_Id: classeResiduo_Id,\r\n descricao: data.descricaoResiduo,\r\n status: statusResiduo,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.residuo_Id == 0) {\r\n api_POST('classeResiduo/PostResiduo', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { confirmacaoResiduoAdicionado(result.data); }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }\r\n else {\r\n api_PUT('classeResiduo/PutResiduo', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { confirmacaoResiduoAdicionado(result.data); }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }\r\n }\r\n\r\n const Voltar = (event, rowData) => {\r\n handleReturn();\r\n }\r\n\r\n const [h1_tab, set_h1_tab] = useState(\"ht1\");\r\n\r\n const loadItem = () => {\r\n set_rowEdit(null);\r\n setValue(\"descricaoResiduo\", \"\");\r\n setValue(\"statusResiduo\", \"\", false);\r\n set_statusResiduo(\"\");\r\n if (item != null) {\r\n set_classeResiduo_Id(item.classeResiduo_Id);\r\n setValue(\"descricao\", item.descricao);\r\n set_status(item.status);\r\n setValue(\"status\", item.status, true);\r\n set_list_table_residuos(item.residuos);\r\n set_categoria(item.categoria_Id);\r\n }\r\n else {\r\n set_classeResiduo_Id(0);\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n set_list_table_residuos([]);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroClassesResiduos.Editar\", function (result) { set_permiteEditar(result) });\r\n loadOptionsCategoria();\r\n loadItem();\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n let json_submit = {\r\n classeResiduo_Id: classeResiduo_Id,\r\n descricao: data.descricao,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id,\r\n categoria_Id: categoria\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.classeResiduo_Id == 0) {\r\n api_POST('classeresiduo', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { set_classeResiduo_Id(result.data.classeResiduo_Id); }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }\r\n else {\r\n api_PUT('classeresiduo', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.descricao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.categoria_Id}\r\n onChange={(e) => { handleCategoria(e.categoria_Id) }}\r\n value={categoria != null && options_categoria.find(obj => obj.categoria_Id === categoria)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"categoria\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.categoria && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.descricaoResiduo && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatusResiduo(e.value) }}\r\n value={statusResiduo != \"\" && options_statusResiduo.find(obj => obj.value === statusResiduo)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"statusResiduo\" },\r\n { required: false })\r\n }\r\n />\r\n {errors.statusResiduo && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n handleEditarResiduo(rowData)\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 cancelTooltip: \"Cancelar\",\r\n saveTooltip: \"Salvar\"\r\n },\r\n deleteTooltip: \"Excluir\",\r\n editTooltip: \"Editar\"\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: 'Primeira página',\r\n previousTooltip: 'Página anterior',\r\n nextTooltip: 'Próxima página',\r\n lastTooltip: 'Última página'\r\n }\r\n }}\r\n Options={{\r\n headerStyle: {\r\n fontFamily: 'Montserrat, Helvetica Neue, Arial, sans-serif',\r\n fontWeight: '700',\r\n color: '#888'\r\n }\r\n }}\r\n />\r\n \r\n
\r\n
\r\n
\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 { useForm } from 'react-hook-form';\r\n\r\n// components\r\nimport {\r\n Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Nav,\r\n NavItem, NavLink, TabPane, TabContent\r\n} from \"reactstrap\";\r\nimport Select from 'react-select'\r\nimport Switch from \"react-switch\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function PerfilForm({ item, handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [perfil_Id, set_perfil_Id] = React.useState(0);\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // Tipo\r\n const [tipo, set_tipo] = React.useState(\"\");\r\n const [options_tipo] = React.useState([\r\n { value: \"Gestor\", label: \"Gestor\" },\r\n { value: \"Responsável\", label: \"Responsável\" }\r\n ]);\r\n const handleTipo = (value) => {\r\n set_tipo(value);\r\n setValue(\"tipo\", value, true);\r\n clearErrors(\"tipo\");\r\n }\r\n\r\n // Permissões de Acesso às telas\r\n const [list_funcionalidades, set_list_funcionalidades] = React.useState([]);\r\n const loadListFuncionalidades = () => {\r\n api_GET('usuario/getfuncionalidades')\r\n .then(result => {\r\n let funcionalidades = result.data;\r\n if (item != null) {\r\n for (var i in funcionalidades) {\r\n for (var j in funcionalidades[i].funcionalidadeAcoes) {\r\n if (item.perfilFuncionalidadeAcao.filter(f => f.autorizado == true\r\n && f.funcionalidadeAcao_Id == funcionalidades[i].funcionalidadeAcoes[j].funcionalidadeAcao_Id).length > 0) {\r\n funcionalidades[i].funcionalidadeAcoes[j].autorizado = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n set_list_funcionalidades(funcionalidades);\r\n\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleChangeFuncionalidadeAcao = (funcionalidadeAcao, checked) => {\r\n funcionalidadeAcao.autorizado = checked;\r\n let funcionalidade = list_funcionalidades.filter(f => f.funcionalidade_Id == funcionalidadeAcao.funcionalidade_Id)[0];\r\n\r\n let new_funcionalidadeAcao = [];\r\n funcionalidade.funcionalidadeAcoes.map(m => {\r\n if (m.fucionalidadeAcao_Id == funcionalidadeAcao.funcionalidadeAcao_Id)\r\n new_funcionalidadeAcao.push(funcionalidadeAcao);\r\n else\r\n new_funcionalidadeAcao.push(m);\r\n });\r\n\r\n funcionalidade.funcionalidadeAcoes = new_funcionalidadeAcao;\r\n\r\n let new_list = [];\r\n list_funcionalidades.map(m => {\r\n if (m.funcionalidade_Id == funcionalidade.funcionalidade_Id)\r\n new_list.push(funcionalidade);\r\n else\r\n new_list.push(m);\r\n });\r\n set_list_funcionalidades(new_list);\r\n }\r\n const handleSalvarPermissoes = () => {\r\n if (perfil_Id == 0) {\r\n showMessage(\"Aviso\", \"Salve os dados do perfil antes de liberar as permissões!\", 'error', null);\r\n return;\r\n }\r\n\r\n let perfil_permissoes = [];\r\n\r\n list_funcionalidades.map(f => {\r\n if (f.funcionalidadeAcoes != null) {\r\n f.funcionalidadeAcoes.map(a => {\r\n if (a.autorizado) {\r\n perfil_permissoes.push({\r\n perfil_Id: perfil_Id,\r\n funcionalidadeAcao_Id: a.funcionalidadeAcao_Id,\r\n autorizado: a.autorizado\r\n });\r\n }\r\n })\r\n }\r\n })\r\n\r\n if (perfil_permissoes.length == 0) {\r\n showMessage(\"Aviso\", \"Informe pelo menos uma permissão de acesso!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n perfil_Id: perfil_Id,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id,\r\n perfilFuncionalidadeAcao: perfil_permissoes\r\n }\r\n\r\n setLoading(true);\r\n api_POST('perfil/PostPermissoes', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n // Permissões de Acesso ao Setup Solicitação Ação\r\n const [list_setupsolicitacao, set_list_setupsolicitacao] = React.useState([]);\r\n const loadListSetupSolicitacaoAcao = () => {\r\n api_GET('setupsolicitacao')\r\n .then(result => {\r\n let setup = result.data;\r\n if (item != null) {\r\n for (var i in setup) {\r\n for (var j in setup[i].solicitacaoAcoes) {\r\n if (item.perfilSetupSolicitacaoAcao.filter(f => f.liberado == true\r\n && f.setupSolicitacaoAcao_Id == setup[i].solicitacaoAcoes[j].setupSolicitacaoAcao_Id).length > 0) {\r\n setup[i].solicitacaoAcoes[j].liberado = true;\r\n }\r\n }\r\n }\r\n }\r\n set_list_setupsolicitacao(setup);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleChangeSetupSolicitacao = (setupSolicitacaoAcao, checked) => {\r\n setupSolicitacaoAcao.liberado = checked;\r\n let setup = list_setupsolicitacao.filter(f => f.setupSolicitacao_Id == setupSolicitacaoAcao.setupSolicitacao_Id)[0];\r\n\r\n let new_setupSolicitacaoAcao = [];\r\n setup.solicitacaoAcoes.map(m => {\r\n if (m.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n new_setupSolicitacaoAcao.push(setupSolicitacaoAcao);\r\n else\r\n new_setupSolicitacaoAcao.push(m);\r\n });\r\n\r\n setup.solicitacaoAcoes = new_setupSolicitacaoAcao;\r\n\r\n let new_list = [];\r\n list_setupsolicitacao.map(m => {\r\n if (m.setupSolicitacao_Id == setupSolicitacaoAcao.setupSolicitacao_Id)\r\n new_list.push(setup);\r\n else\r\n new_list.push(m);\r\n });\r\n set_list_setupsolicitacao(new_list);\r\n }\r\n const handleSalvarSetupSolicitacao = () => {\r\n if (perfil_Id == 0) {\r\n showMessage(\"Aviso\", \"Salve os dados do perfil antes de liberar as permissões!\", 'error', null);\r\n return;\r\n }\r\n\r\n let perfil_setupsolicitacaoacao = [];\r\n\r\n list_setupsolicitacao.map(f => {\r\n if (f.solicitacaoAcoes != null) {\r\n f.solicitacaoAcoes.map(a => {\r\n if (a.liberado) {\r\n perfil_setupsolicitacaoacao.push({\r\n perfil_Id: perfil_Id,\r\n setupSolicitacaoAcao_Id: a.setupSolicitacaoAcao_Id,\r\n liberado: a.liberado\r\n });\r\n }\r\n })\r\n }\r\n })\r\n\r\n let json_submit = {\r\n perfil_Id: perfil_Id,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id,\r\n perfilSetupSolicitacaoAcao: perfil_setupsolicitacaoacao\r\n }\r\n\r\n setLoading(true);\r\n api_POST('perfil/PostSetupSolicitacaoAcoes', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const Voltar = (event, rowData) => {\r\n handleReturn();\r\n }\r\n\r\n const [h1_tab, set_h1_tab] = useState(\"ht1\");\r\n\r\n const loadItem = () => {\r\n set_list_funcionalidades([]);\r\n if (item != null) {\r\n set_perfil_Id(item.perfil_Id);\r\n set_status(item.status);\r\n setValue(\"status\", item.status, true);\r\n set_tipo(item.tipo);\r\n setValue(\"tipo\", item.tipo, true);\r\n setValue(\"descricao\", item.descricao);\r\n }\r\n else {\r\n set_perfil_Id(0);\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n set_tipo(\"\");\r\n setValue(\"tipo\", \"\", false);\r\n setValue(\"descricao\", \"\");\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Perfis.Editar\", function (result) { set_permiteEditar(result) });\r\n loadListFuncionalidades();\r\n loadListSetupSolicitacaoAcao();\r\n loadItem();\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n let json_submit = {\r\n perfil_Id: perfil_Id,\r\n descricao: data.descricao,\r\n tipo: tipo,\r\n status: status,\r\n UsuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.perfil_Id == 0) {\r\n api_POST('perfil', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { set_perfil_Id(result.data.perfil_Id) }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('perfil', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.descricao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleTipo(e.value) }}\r\n value={tipo != \"\" && options_tipo.find(obj => obj.value === tipo)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipo\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.tipo && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {list_funcionalidades != null && list_funcionalidades.map((f, key) => {\r\n return \r\n \r\n \r\n {f.funcionalidadeAcoes != null && f.funcionalidadeAcoes.map((a, akey) => {\r\n return \r\n {a.descricao + \" \"} \r\n handleChangeFuncionalidadeAcao(a, event)} checked={a.autorizado} height={20} width={35} />\r\n \r\n })}\r\n \r\n \r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {list_setupsolicitacao != null && list_setupsolicitacao.map((f, key) => {\r\n return \r\n \r\n \r\n {f.solicitacaoAcoes != null && f.solicitacaoAcoes.map((a, akey) => {\r\n return \r\n {a.acao + \" \"} \r\n handleChangeSetupSolicitacao(a, event)} checked={a.liberado} height={20} width={35} />\r\n \r\n })}\r\n \r\n \r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 { useForm } from 'react-hook-form';\r\n\r\n// components\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Nav, NavItem, NavLink, TabPane, TabContent } from \"reactstrap\";\r\nimport Select from 'react-select'\r\nimport Switch from \"react-switch\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function UsuarioForm({ item, handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [usuario_Id, set_usuario_Id] = React.useState(0);\r\n\r\n // Status\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n // Perfil\r\n const [perfil, set_perfil] = React.useState(null);\r\n const [options_perfil, set_options_perfil] = React.useState([]);\r\n const loadOptionsPerfil = () => {\r\n api_GET('perfil')\r\n .then(result => {\r\n set_options_perfil(result.data);\r\n if (item != null) {\r\n let _perfil = result.data.filter(f => f.perfil_Id == item.perfil.perfil_Id)[0];\r\n set_perfil(_perfil);\r\n setValue(\"perfil\", _perfil, true);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n };\r\n const handlePerfil = (value) => {\r\n set_perfil(value);\r\n setValue(\"perfil\", value, true);\r\n clearErrors(\"perfil\");\r\n }\r\n useEffect(() => {\r\n loadListFuncionalidades();\r\n loadListSetupSolicitacaoAcao();\r\n }, [perfil]);\r\n\r\n // Permissões de Acesso às telas\r\n const [list_funcionalidades, set_list_funcionalidades] = React.useState([]);\r\n const loadListFuncionalidades = () => {\r\n api_GET('usuario/getfuncionalidades')\r\n .then(result => {\r\n let funcionalidades = result.data;\r\n\r\n if (perfil != null) {\r\n for (var i in funcionalidades) {\r\n for (var j in funcionalidades[i].funcionalidadeAcoes) {\r\n if (perfil.perfilFuncionalidadeAcao.filter(f => f.funcionalidadeAcao_Id == funcionalidades[i].funcionalidadeAcoes[j].funcionalidadeAcao_Id\r\n && f.autorizado == true).length > 0) {\r\n funcionalidades[i].funcionalidadeAcoes[j].autorizado = true;\r\n funcionalidades[i].funcionalidadeAcoes[j].disabled = true;\r\n }\r\n else {\r\n funcionalidades[i].funcionalidadeAcoes[j].autorizado = false;\r\n funcionalidades[i].funcionalidadeAcoes[j].disabled = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (item != null) {\r\n for (var i in funcionalidades) {\r\n for (var j in funcionalidades[i].funcionalidadeAcoes) {\r\n if (item.usuarioFuncionalidadeAcoes.filter(f => f.autorizado == true\r\n && f.funcionalidadeAcao_Id == funcionalidades[i].funcionalidadeAcoes[j].funcionalidadeAcao_Id).length > 0) {\r\n funcionalidades[i].funcionalidadeAcoes[j].autorizado = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n set_list_funcionalidades(funcionalidades);\r\n\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleChangeFuncionalidadeAcao = (funcionalidadeAcao, checked) => {\r\n funcionalidadeAcao.autorizado = checked;\r\n let funcionalidade = list_funcionalidades.filter(f => f.funcionalidade_Id == funcionalidadeAcao.funcionalidade_Id)[0];\r\n\r\n let new_funcionalidadeAcao = [];\r\n funcionalidade.funcionalidadeAcoes.map(m => {\r\n if (m.fucionalidadeAcao_Id == funcionalidadeAcao.funcionalidadeAcao_Id)\r\n new_funcionalidadeAcao.push(funcionalidadeAcao);\r\n else\r\n new_funcionalidadeAcao.push(m);\r\n });\r\n\r\n funcionalidade.funcionalidadeAcoes = new_funcionalidadeAcao;\r\n\r\n let new_list = [];\r\n list_funcionalidades.map(m => {\r\n if (m.funcionalidade_Id == funcionalidade.funcionalidade_Id)\r\n new_list.push(funcionalidade);\r\n else\r\n new_list.push(m);\r\n });\r\n set_list_funcionalidades(new_list);\r\n }\r\n const handleSalvarPermissoes = () => {\r\n if (usuario_Id == 0) {\r\n showMessage(\"Aviso\", \"Salve os dados do usuário antes de liberar as permissões!\", 'error', null);\r\n return;\r\n }\r\n\r\n let usuario_permissoes = [];\r\n\r\n list_funcionalidades.map(f => {\r\n if (f.funcionalidadeAcoes != null) {\r\n f.funcionalidadeAcoes.map(a => {\r\n if (a.autorizado && a.disabled != true) {\r\n usuario_permissoes.push({\r\n usuario_Id: usuario_Id,\r\n funcionalidadeAcao_Id: a.funcionalidadeAcao_Id,\r\n autorizado: a.autorizado\r\n });\r\n }\r\n })\r\n }\r\n })\r\n\r\n let json_submit = {\r\n usuario_Id: usuario_Id,\r\n email: \"\",\r\n login: \"\",\r\n nome: \"\",\r\n senha: \"\",\r\n status: \"\",\r\n usuarioUltimaAlteracao_Id: session.usuario_Id,\r\n usuarioFuncionalidadeAcoes: usuario_permissoes\r\n }\r\n\r\n setLoading(true);\r\n api_POST('usuario/PostPermissoes', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n // Permissões de Acesso ao Setup Solicitação Ação\r\n const [list_setupsolicitacao, set_list_setupsolicitacao] = React.useState([]);\r\n const loadListSetupSolicitacaoAcao = () => {\r\n api_GET('setupsolicitacao')\r\n .then(result => {\r\n let setup = result.data;\r\n if (perfil != null) {\r\n for (var i in setup) {\r\n for (var j in setup[i].solicitacaoAcoes) {\r\n if (perfil.perfilSetupSolicitacaoAcao.filter(f => f.setupSolicitacaoAcao_Id == setup[i].solicitacaoAcoes[j].setupSolicitacaoAcao_Id\r\n && f.liberado == true).length > 0) {\r\n setup[i].solicitacaoAcoes[j].liberado = true;\r\n setup[i].solicitacaoAcoes[j].disabled = true;\r\n }\r\n else {\r\n setup[i].solicitacaoAcoes[j].liberado = false;\r\n setup[i].solicitacaoAcoes[j].disabled = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (item != null && item.usuarioSetupSolicitacaoAcoes != null) {\r\n for (var i in setup) {\r\n for (var j in setup[i].solicitacaoAcoes) {\r\n if (item.usuarioSetupSolicitacaoAcoes.filter(f => f.liberado == true\r\n && f.setupSolicitacaoAcao_Id == setup[i].solicitacaoAcoes[j].setupSolicitacaoAcao_Id).length > 0) {\r\n setup[i].solicitacaoAcoes[j].liberado = true;\r\n }\r\n }\r\n }\r\n }\r\n set_list_setupsolicitacao(setup);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleChangeSetupSolicitacao = (setupSolicitacaoAcao, checked) => {\r\n setupSolicitacaoAcao.liberado = checked;\r\n let setup = list_setupsolicitacao.filter(f => f.setupSolicitacao_Id == setupSolicitacaoAcao.setupSolicitacao_Id)[0];\r\n\r\n let new_setupSolicitacaoAcao = [];\r\n setup.solicitacaoAcoes.map(m => {\r\n if (m.setupSolicitacaoAcao_Id == setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n new_setupSolicitacaoAcao.push(setupSolicitacaoAcao);\r\n else\r\n new_setupSolicitacaoAcao.push(m);\r\n });\r\n\r\n setup.solicitacaoAcoes = new_setupSolicitacaoAcao;\r\n\r\n let new_list = [];\r\n list_setupsolicitacao.map(m => {\r\n if (m.setupSolicitacao_Id == setupSolicitacaoAcao.setupSolicitacao_Id)\r\n new_list.push(setup);\r\n else\r\n new_list.push(m);\r\n });\r\n set_list_setupsolicitacao(new_list);\r\n }\r\n const handleSalvarSetupSolicitacao = () => {\r\n if (usuario_Id == 0) {\r\n showMessage(\"Aviso\", \"Salve os dados do usuário antes de liberar as permissões!\", 'error', null);\r\n return;\r\n }\r\n\r\n let usuario_setupsolicitacaoacao = [];\r\n\r\n list_setupsolicitacao.map(f => {\r\n if (f.solicitacaoAcoes != null) {\r\n f.solicitacaoAcoes.map(a => {\r\n if (a.liberado && a.disabled != true) {\r\n usuario_setupsolicitacaoacao.push({\r\n usuario_Id: usuario_Id,\r\n setupSolicitacaoAcao_Id: a.setupSolicitacaoAcao_Id,\r\n liberado: a.liberado\r\n });\r\n }\r\n })\r\n }\r\n })\r\n\r\n let json_submit = {\r\n usuario_Id: usuario_Id,\r\n email: \"\",\r\n login: \"\",\r\n nome: \"\",\r\n senha: \"\",\r\n status: \"\",\r\n usuarioUltimaAlteracao_Id: session.usuario_Id,\r\n usuarioSetupSolicitacaoAcoes: usuario_setupsolicitacaoacao\r\n }\r\n\r\n setLoading(true);\r\n api_POST('usuario/PostSetupSolicitacaoAcoes', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const Voltar = (event, rowData) => {\r\n handleReturn();\r\n }\r\n\r\n const [h1_tab, set_h1_tab] = useState(\"ht1\");\r\n\r\n const loadItem = () => {\r\n set_list_funcionalidades([]);\r\n if (item != null) {\r\n set_usuario_Id(item.usuario_Id);\r\n set_status(item.status);\r\n setValue(\"status\", item.status, true);\r\n setValue(\"login\", item.login);\r\n setValue(\"nome\", item.nome);\r\n setValue(\"email\", item.email);\r\n }\r\n else {\r\n set_usuario_Id(0);\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n set_perfil(null);\r\n setValue(\"perfil\", \"\", false);\r\n setValue(\"login\", \"\");\r\n setValue(\"nome\", \"\");\r\n setValue(\"email\", \"\");\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Usuarios.Editar\", function (result) { set_permiteEditar(result) });\r\n loadOptionsPerfil();\r\n loadItem();\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n let json_submit = {\r\n usuario_Id: usuario_Id,\r\n login: data.login,\r\n nome: data.nome,\r\n email: data.email,\r\n perfil_Id: perfil.perfil_Id,\r\n status: status,\r\n senha: Math.random().toString(36).slice(-8),\r\n usuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.usuario_Id == 0) {\r\n api_POST('usuario', json_submit)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null);\r\n set_usuario_Id(result.data.usuario_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('usuario', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.login && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.nome && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.perfil_Id}\r\n name=\"perfil\"\r\n onChange={(e) => { handlePerfil(e) }}\r\n value={perfil != null && options_perfil.find(obj => obj.perfil_Id === perfil.perfil_Id)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"perfil\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.perfil && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {list_funcionalidades != null && list_funcionalidades.map((f, key) => {\r\n return \r\n \r\n \r\n {f.funcionalidadeAcoes != null && f.funcionalidadeAcoes.map((a, akey) => {\r\n return \r\n {a.descricao + \" \"} \r\n handleChangeFuncionalidadeAcao(a, event)} checked={a.autorizado} height={20} width={35} />\r\n \r\n })}\r\n \r\n \r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {list_setupsolicitacao != null && list_setupsolicitacao.map((f, key) => {\r\n return \r\n \r\n \r\n {f.solicitacaoAcoes != null && f.solicitacaoAcoes.map((a, akey) => {\r\n return \r\n {a.acao + \" \"} \r\n handleChangeSetupSolicitacao(a, event)} checked={a.liberado} height={20} width={35} />\r\n \r\n })}\r\n \r\n \r\n })}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\nimport { useReactToPrint } from 'react-to-print';\r\nimport XlsxPopulate from 'xlsx-populate';\r\nimport { saveAs } from 'file-saver';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col } from \"reactstrap\";\r\n\r\n\r\n// helpers\r\nimport { formateDateApi, formateDateandTime, formateDate, formateDateSemBarra } from 'helpers/formats';\r\n\r\n// services\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nexport default function RelatorioFichaRequerimentoGeradorRSS({ handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [relatorio, set_relatorio] = useState(null);\r\n\r\n const [lista, set_lista] = useState(Object);\r\n\r\n // Tipo de Requerimento\r\n const [tipoRequerimento, set_tipoRequerimento] = React.useState(\"\");\r\n const [subprefeitura, set_Subprefeitura] = React.useState([]);\r\n\r\n const [options_tipoRequerimento] = React.useState([\r\n { value: \"Novo Cadastro\", label: \"Novo Cadastro\" },\r\n { value: \"Alteração\", label: \"Alteração\" },\r\n { value: \"Cancelamento\", label: \"Cancelamento\" },\r\n ]);\r\n const handleTipoRequerimento = (value) => {\r\n set_tipoRequerimento(value);\r\n setValue(\"tipoRequerimento\", value, true);\r\n clearErrors(\"tipoRequerimento\");\r\n }\r\n\r\n const [options_subprefeitura, set_OptionsSubPrefeitura] = React.useState([]);\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n\r\n const handleSubprefeitura = (value) => {\r\n set_Subprefeitura(value);\r\n setValue(\"subprefeitura\", value, true);\r\n }\r\n\r\n useEffect(() => {\r\n api_GET('subprefeitura')\r\n .then(result => set_OptionsSubPrefeitura(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }, []);\r\n\r\n const handleExcel = (data) => {\r\n set_showDetail(true);\r\n };\r\n\r\n const [filtro, set_filtro] = useState(null);\r\n\r\n const onSubmit = (data) => {\r\n // enviar um array de nomes, caso nao tenha nada sera atribuido um valor (Null) as subprefeituras;\r\n const validadacaoSubPrefeitura = subprefeitura && subprefeitura.length > 0 ?\r\n subprefeitura.map(x => x.nome) :\r\n null;\r\n\r\n let json_submit = {\r\n inicio: formateDateApi(data.dataInicial),\r\n fim: formateDateApi(data.dataFinal),\r\n acao: tipoRequerimento,\r\n subprefeitura: validadacaoSubPrefeitura\r\n }\r\n\r\n setLoading(true);\r\n api_POST('relatorio/RelatorioRequerimentoGeradorRSS', json_submit)\r\n .then(result => {\r\n json_submit.nome = session.nome;\r\n set_filtro(json_submit);\r\n set_relatorio(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n if (relatorio != null) {\r\n api_POST('relatorio/ExportToExcel', relatorio)\r\n .then(resultExcel => set_lista(resultExcel.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }, [relatorio]);\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n //adicionar todas as subprefeituras ao clica no botao\r\n const handleTakeSubprefeituras = () => {\r\n set_Subprefeitura(options_subprefeitura);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n {relatorio != null && !showDetail &&\r\n \r\n \r\n \r\n }\r\n \r\n {relatorio == null &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Requerimento de Geradores de RSS

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.dataInicial && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.dataFinal && * Campo Obrigatório}\r\n \r\n\r\n \r\n \r\n \r\n \r\n { handleTipoRequerimento(e.value) }}\r\n value={tipoRequerimento != \"\" && options_tipoRequerimento.find(obj => obj.value === tipoRequerimento)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoRequerimento\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.tipoRequerimento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.nome}\r\n getOptionValue={option => option.subPrefeitura_Id}\r\n name=\"subprefeitura\"\r\n onChange={(e) => { handleSubprefeitura(e) }}\r\n value={subprefeitura}\r\n placeholder=\"Selecione\"\r\n isMulti\r\n ref={e => register(\r\n { name: \"subprefeitura\" },\r\n { required: false })\r\n }\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n }\r\n {!showDetail && relatorio &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {showDetail && relatorio && lista.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\nexport const ComponentToPrint = React.forwardRef((props, ref) => {\r\n const relatorio = props.relatorio;\r\n const filtro = props.filtro;\r\n return (\r\n
\r\n
\r\n
\r\n

Requerimento de Geradores de RSS

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {filtro != null &&\r\n
\r\n
\r\n Período
{formateDate(filtro.inicio) + \" a \" + formateDate(filtro.fim)}\r\n
\r\n
\r\n Gerado Por
{filtro.nome}\r\n
\r\n
\r\n Tipo Requerimento
{filtro.acao}\r\n
\r\n
\r\n }\r\n {relatorio != null && relatorio.map((m, key) => (\r\n
\r\n
{m.geradores.length > 0 ? m.subprefeitura : ''}
\r\n {m.geradores.map((n, key2) => (\r\n
\r\n
\r\n
\r\n Tipo: {\" \" + n.tipo}\r\n
\r\n
\r\n Código: {\" \" + n.codigo}\r\n
\r\n
\r\n Razão Social: {\" \" + n.razaoSocial}\r\n
\r\n
\r\n CNPJ: {\" \" + n.cnpj}\r\n
\r\n
\r\n CEP: {\" \" + n.cep}\r\n
\r\n
\r\n Logradouro: {\" \" + n.logradouro}\r\n
\r\n
\r\n Nº: {\" \" + n.numero}\r\n
\r\n
\r\n Complemento: {\" \" + n.complemento}\r\n
\r\n
\r\n Bairro: {\" \" + n.bairro}\r\n
\r\n
\r\n Fone: {\" \" + n.fone}\r\n
\r\n
\r\n Celular: {\" \" + n.celular}\r\n
\r\n
\r\n Responsável Técnico: {\" \" + n.responsavelTecnico}\r\n
\r\n
\r\n Data de Validação : {\" \" + formateDate(n.dataValidacao)}\r\n
\r\n
\r\n Classificação: {\" \" + n.classificacao}\r\n
\r\n {n.locaisColeta.map((l, key3) => (\r\n
\r\n Local de Coleta: {\" \" + l.logradouro + \", \" + l.numero + \", \" + l.complemento + \" - \" + l.bairro}\r\n
\r\n ))}\r\n
\r\n Locais de Armazenagem: \r\n
\r\n {n?.locaisArmazenagem?.map((l, key4) => (\r\n
\r\n {\" \" + l.logradouro + \", \" + l.numero + \", \" + l.complemento + \" - \" + l.bairro}\r\n
\r\n ))}\r\n {n.caracterizacaoResiduos.length > 0 &&\r\n <>\r\n
\r\n Resíduos (Grupo / Código / Tipo): \r\n
\r\n {n.caracterizacaoResiduos.map((c, key3) => (\r\n
\r\n {\" \" + c.grupo + \" / \" + c.codigo + \" / \" + c.tipo}\r\n
\r\n ))}\r\n \r\n }\r\n
\r\n
\r\n ))}\r\n
\r\n ))}\r\n
\r\n );\r\n});\r\n\r\nexport const ComponentToExcel = React.forwardRef((props, ref) => {\r\n const relatorio = props.relatorio;\r\n const filtro = props.filtro;\r\n\r\n const x = relatorio.map(function (val) {\r\n var array = Object.values(val);\r\n var columns = Object.keys(val);\r\n array.splice(14, 1);\r\n array.splice(14, 1);\r\n array.splice(15, 1);\r\n array[14] = formateDateSemBarra(array[14]);\r\n return array;\r\n });\r\n\r\n function getSheetData(data, header) {\r\n var fields = Object.keys(data[0]);\r\n var sheetData = data.map(function (row) {\r\n return fields.map(function (fieldName) {\r\n return row[fieldName] ? row[fieldName] : \"\";\r\n });\r\n });\r\n sheetData.unshift(header);\r\n return sheetData;\r\n }\r\n\r\n\r\n async function saveAsExcel() {\r\n let header = [\"SubPrefeitura\", \"Tipo\", \"Código\", \"Razão Social\", \"CNPJ\", \"CEP\", \"Logradouro\",\r\n \"Nº\", \"Complemento\", \"Bairro\", \"Fone\", \"Celular\", \"Responsável Técnico\", \"Classificação\",\r\n \"Data de Validação\", \"Resíduos (Grupo / Código / Tipo)\"];\r\n\r\n XlsxPopulate.fromBlankAsync().then(async (workbook) => {\r\n const dia = new Date();\r\n const sheet1 = workbook.sheet(0).name(\"RSS\");\r\n const sheetData = getSheetData(x, header);\r\n const totalColumns = sheetData[0].length;\r\n\r\n sheet1.cell(\"A1\").value(sheetData);\r\n const range = sheet1.usedRange();\r\n const endColumn = String.fromCharCode(64 + totalColumns);\r\n sheet1.row(1).style(\"bold\", true);\r\n sheet1.range(\"A1:\" + endColumn + \"1\");\r\n return workbook.outputAsync().then((res) => {\r\n saveAs(res, \"RelatorioRSS_\" + dia.getDate() + (dia.getMonth() + 1) + dia.getFullYear() + \".xlsx\");\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {relatorio.map(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
SubPrefeituraTipoCódigoRazão SocialCNPJCEPLogradouroComplementoBairroFoneCelularResponsável TécnicoData de ValidaçãoClassificaçãoResíduos (Grupo / Código / Tipo)
{item.subprefeitura}{item.tipo}{item.codigo}{item.razaoSocial}{item.cnpj}{item.cep}{item.logradouro}{item.numero}{item.complemento}{item.bairro}{item.fone}{item.celular}{item.responsavelTecnico}{formateDateSemBarra(item.dataValidacao)}{item.classificacao}{item.caracterizacaoResiduos}
\r\n
\r\n
\r\n
\r\n \r\n );\r\n});","export const nomeclaturas = {\r\n CodigoCadastro: \"Código Cadastro\",\r\n DataFimVigencia: \"Data de Fim Vigência\",\r\n Status: \"Status\",\r\n NomeSolicitante: \"Nome Solicitante\",\r\n Email: \"Email\",\r\n CodigoSistemaPrefeitura: \"Código Sistema Prefeitura\",\r\n ProtocoloDestino: \"Protocolo Destino\",\r\n Cpf_Cnpj: \"CPF/CNPJ\",\r\n InscricaoMunicipal: \"Inscrição Municipal\",\r\n Nome_Fantasia: \"Nome Fantasia\",\r\n RazaoSocial: \"Razão Social\",\r\n NomeResponsavel: \"Nome Responsável\",\r\n NomeResponsavelTecnico: \"Nome Responsável Técnico\",\r\n TipoDocumentoResponsavelTecnico: \"Tipo Documento Responsável Técnico\",\r\n NumeroDocumentoResponsavelTecnico: \"Número Documento Responsável Técnico\",\r\n CCM: \"CCM\",\r\n CEP: \"CEP\",\r\n Logradouro: \"Logradouro\",\r\n NumEndereco: \"Número\",\r\n Complemento: \"Complemento\",\r\n Bairro: \"Bairro\",\r\n Cidade: \"Cidade\",\r\n Telefone: \"Telefone\",\r\n Celular: \"Celular\",\r\n RamoAtividade: \"Ramo de Atividade\",\r\n UF: \"UF\",\r\n TipoIndustriaComercio: \"Tipo Indústria/Comércio\",\r\n ProtocoloGerador: \"Protocolo Gerador\",\r\n GeoLocalizacao: \"Geolocalização\",\r\n Usuario: \"Usuário\",\r\n DataAlteracao: \"Data Alteração\",\r\n CNPJ: \"CNPJ\",\r\n NomeFantasia: \"Nome Fantasia\",\r\n SubPrefeitura: \"Subprefeitura\",\r\n Tipo: \"Tipo\",\r\n CapacidadeCarga: \"Capacidade de Carga\",\r\n Tara: \"Tara\",\r\n AnoFabricacao: \"Ano de Fabricação\",\r\n NumeroRenavam: \"Número Renavam\",\r\n ArquivoRenavam: \"Arquivo Renavam\",\r\n ArquivoRenavamBase64: \"Arquivo Renavam\",\r\n ArquivoInspecaoInmetro: \"Arquivo Inspeção Inmetro\",\r\n ArquivoInspecaoInmetroBase64: \"Arquivo Inspeção Inmetro\",\r\n ArquivoComprovanteTara: \"Arquivo Comprovante Tara\",\r\n ArquivoComprovanteTaraBase64: \"Arquivo Comprovante Tara\",\r\n ArquivoComodato: \"Arquivo Comodato\",\r\n ArquivoComodatoBase64: \"Arquivo Comodato\",\r\n DataVistoria: \"Data de Vistoria\",\r\n DataValidadeVistoria: \"Data Validade Vistoria\",\r\n AnoFabricacaoEquipamento: \"Ano de Fabricação Equipamento\",\r\n ProprietarioOuLocado: \"Proprietário ou Locado\",\r\n Cor: \"Cor\",\r\n Volume: \"Volume\",\r\n PlacaAntiga: \"Placa Antiga\",\r\n QuantidadeLeitosEstimada: \"Quantidade Leitos Estimada\",\r\n Descricao: \"Descrição\",\r\n UsuarioAlteracao: \"Usuário de Alteração\"\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Spinner } from \"reactstrap\";\r\nimport { useForm } from 'react-hook-form';\r\nimport { useReactToPrint } from 'react-to-print';\r\nimport Select from 'react-select';\r\nimport moment from \"moment\";\r\n\r\n//Services\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage } from '../../../services/message';\r\n\r\n//Helpers\r\nimport { formateDate } from '../../../helpers/formats';\r\nimport { formateDateandTime, formateDateApi } from '../../../helpers/formats';\r\nimport { nomeclaturas } from '../../../helpers/nomeclaturas';\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nfunction RelatorioManutecaoGeradorRSS({ handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showDetail, set_showDetail] = useState(false);\r\n\r\n const [logs, setLogs] = useState([]);\r\n\r\n const [categoria, setCategoria] = useState(null);\r\n\r\n const [filtro, set_filtro] = useState({\r\n inicio: \"\",\r\n fim: \"\",\r\n nome: \"\",\r\n categoria: null\r\n });\r\n\r\n const verificarIndex = (object, vetor) => {\r\n let indice = -1;\r\n vetor.map((v, index) => {\r\n if (v.id === object.idRegistro) {\r\n indice = index;\r\n }\r\n })\r\n\r\n return (indice === -1 ? -1 : indice);\r\n }\r\n\r\n const formataDados = (dados) => {\r\n return dados ? dados.toString().replaceAll(\"_\", \"\").replaceAll(\"-\", \"\").trim() : \"\";\r\n }\r\n\r\n const geraRelatorio = (data) => {\r\n const vetor = [];\r\n\r\n data.map((info, index) => {\r\n vetor.push({\r\n id: info.idRegistro,\r\n usuario: info.usuario,\r\n data: formateDateandTime(info.dataAlteracao),\r\n cnpj: info.cnpj,\r\n nomeFantasia: info.nomeFantasia,\r\n camposEditados: []\r\n });\r\n\r\n const json_antigo = JSON.parse(info.jsonAntigo);\r\n const json_novo = JSON.parse(info.jsonNovo);\r\n\r\n Object.keys(json_antigo).map(x => {\r\n if (formataDados(json_antigo[x]) !== formataDados(json_novo[x]) && !Array.isArray(json_antigo[x]) && !Array.isArray(json_novo[x])) {\r\n if (x === \"Arquivo\") {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: `${x} (${json_novo[\"NomeArquivo\"]})`, texto: `${json_novo[\"NomeArquivo\"]}` });\r\n } else {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: x, texto: { antigo: json_antigo[x], novo: json_novo[x] } });\r\n }\r\n } else if (Array.isArray(json_antigo[x]) && Array.isArray(json_novo[x])) {\r\n json_antigo[x].map(antigo => {\r\n json_novo[x].map(novo => {\r\n Object.keys(novo).map(comp => {\r\n if (formataDados(antigo[comp]) !== formataDados(novo[comp])) {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: comp, texto: { antigo: antigo[comp], novo: novo[comp] } });\r\n }\r\n })\r\n })\r\n })\r\n }\r\n })\r\n })\r\n\r\n setLogs(vetor);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (categoria == null) {\r\n showMessage(\"Aviso\", \"Por favor, selecione a categoria.\", 'warning', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n inicio: formateDateApi(data.dataInicial),\r\n fim: formateDateApi(data.dataFinal),\r\n categoria: categoria?.value\r\n }\r\n\r\n setLoading(true);\r\n\r\n api_POST(\"relatorio/RelatorioManutencaoGeradores\", json_submit)\r\n .then(result => {\r\n if (result?.data?.length == 0) {\r\n set_showDetail(false);\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Não existem registros para os filtros informados.\", 'warning', null);\r\n return;\r\n }\r\n geraRelatorio(result.data);\r\n json_submit.nome = session.nome;\r\n set_filtro(json_submit);\r\n set_showDetail(true);\r\n setLoading(false);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {logs.length > 0 && showDetail &&\r\n \r\n \r\n \r\n }\r\n \r\n {logs.length === 0 &&\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Manutenção de Geradores

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.label}\r\n getOptionValue={option => option.value}\r\n name=\"categoria\"\r\n onChange={(e) => setCategoria(e)}\r\n value={categoria}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n {\r\n logs.length > 0 && showDetail &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n );\r\n}\r\n\r\nexport const ComponentToPrint = React.forwardRef((props, ref) => {\r\n const relatorio = props.relatorio;\r\n const filtro = props.filtro;\r\n\r\n\r\n function isDate(value) {\r\n const dateRegex = /^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?)?$/;\r\n return dateRegex.test(value);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Manutenção de Geradores {filtro?.categoria}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {filtro != null &&\r\n
\r\n
\r\n Período
{`${formateDate(filtro.inicio)} a ${formateDate(filtro.fim)}`}\r\n
\r\n
\r\n Gerado Por
{filtro.nome}\r\n
\r\n
\r\n }\r\n
Cadastros Atualizados
\r\n {\r\n relatorio != null && relatorio.map((value, key) => (\r\n
\r\n {value.camposEditados && value.camposEditados.length > 0 && (\r\n <>\r\n
\r\n
\r\n
\r\n Razão Social:{value.nomeFantasia === null || value.nomeFantasia === undefined ? \" Sem Razão Social\" : \" \" + value.nomeFantasia}\r\n
\r\n
\r\n CNPJ:{value.cnpj === null || value.cnpj === undefined ? \" Sem CNPJ\" : \" \" + value.cnpj}\r\n
\r\n
\r\n Usuário de Modificação:{\" \" + value.usuario}\r\n
\r\n
\r\n Data de Alteração:{\" \" + value.data}\r\n
\r\n
\r\n
\r\n {\r\n value.camposEditados && value.camposEditados.map((atualizado, key2) => (\r\n <>\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o Nomeclaturas*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.antigo) ? moment(atualizado.texto.antigo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.antigo}\r\n
\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o nomeclaturas*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.novo) ? moment(atualizado.texto.novo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.novo}\r\n
\r\n \r\n ))\r\n }\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 RelatorioManutecaoGeradorRSS;","import React, { useState } from 'react';\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col } from \"reactstrap\";\r\nimport { useForm } from 'react-hook-form';\r\nimport { useReactToPrint } from 'react-to-print';\r\nimport Select from 'react-select';\r\nimport moment from \"moment\";\r\n\r\n//Services\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage } from '../../../services/message';\r\n\r\n//Helpers\r\nimport { formateDate } from '../../../helpers/formats';\r\nimport { formateDateandTime, formateDateApi } from '../../../helpers/formats';\r\nimport { nomeclaturas } from '../../../helpers/nomeclaturas';\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nfunction RelatorioManutecaoTransportadores({ handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showDetail, set_showDetail] = useState(false);\r\n\r\n const [logs, setLogs] = useState([]);\r\n\r\n const [categoria, setCategoria] = useState(null);\r\n\r\n const [filtro, set_filtro] = useState({\r\n inicio: \"\",\r\n fim: \"\",\r\n nome: \"\",\r\n categoria: null\r\n });\r\n\r\n const verificarIndex = (object, vetor) => {\r\n let indice = -1;\r\n vetor.map((v, index) => {\r\n if (v.id === object.idRegistro) {\r\n indice = index;\r\n }\r\n })\r\n\r\n return (indice === -1 ? -1 : indice);\r\n }\r\n\r\n const formataDados = (dados) => {\r\n return dados ? dados.toString().replaceAll(\"_\", \"\").replaceAll(\"-\", \"\").trim() : \"\";\r\n }\r\n\r\n const geraRelatorio = (data) => {\r\n const vetor = [];\r\n\r\n data.map((info, index) => {\r\n vetor.push({\r\n id: info.idRegistro,\r\n usuario: info.usuario,\r\n data: formateDateandTime(info.dataAlteracao),\r\n cnpj: info.cnpj,\r\n nomeFantasia: info.nomeFantasia,\r\n camposEditados: []\r\n });\r\n\r\n const json_antigo = JSON.parse(info.jsonAntigo);\r\n const json_novo = JSON.parse(info.jsonNovo);\r\n\r\n Object.keys(json_antigo).map(x => {\r\n if (formataDados(json_antigo[x]) !== formataDados(json_novo[x]) && !Array.isArray(json_antigo[x]) && !Array.isArray(json_novo[x])) {\r\n if (x === \"Arquivo\") {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: `${x} (${json_novo[\"NomeArquivo\"]})`, texto: `${json_novo[\"NomeArquivo\"]}` });\r\n } else {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: x, texto: { antigo: json_antigo[x], novo: json_novo[x] } });\r\n }\r\n } else if (Array.isArray(json_antigo[x]) && Array.isArray(json_novo[x])) {\r\n json_antigo[x].map(antigo => {\r\n json_novo[x].map(novo => {\r\n Object.keys(novo).map(comp => {\r\n if (formataDados(antigo[comp]) !== formataDados(novo[comp])) {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: comp, texto: { antigo: antigo[comp], novo: novo[comp] } });\r\n }\r\n })\r\n })\r\n })\r\n }\r\n })\r\n })\r\n\r\n setLogs(vetor);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (categoria == null) {\r\n showMessage(\"Aviso\", \"Por favor, selecione a categoria.\", 'warning', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n inicio: formateDateApi(data.dataInicial),\r\n fim: formateDateApi(data.dataFinal),\r\n categoria: categoria?.value\r\n }\r\n\r\n setLoading(true);\r\n\r\n api_POST(\"relatorio/RelatorioManutencaoTransportadores\", json_submit)\r\n .then(result => {\r\n if (result?.data?.length == 0) {\r\n set_showDetail(false);\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Não existem registros para os filtros informados.\", 'warning', null);\r\n return;\r\n }\r\n geraRelatorio(result.data);\r\n json_submit.nome = session.nome;\r\n set_filtro(json_submit);\r\n set_showDetail(true);\r\n setLoading(false);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {logs.length > 0 && showDetail &&\r\n \r\n \r\n \r\n }\r\n \r\n {logs.length === 0 &&\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Manutenção de Transpordores

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.label}\r\n getOptionValue={option => option.value}\r\n name=\"categoria\"\r\n onChange={(e) => setCategoria(e)}\r\n value={categoria}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n {\r\n logs.length > 0 && showDetail &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n );\r\n}\r\n\r\nexport const ComponentToPrint = React.forwardRef((props, ref) => {\r\n const relatorio = props.relatorio;\r\n const filtro = props.filtro;\r\n\r\n function isDate(value) {\r\n const dateRegex = /^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?)?$/;\r\n return dateRegex.test(value);\r\n }\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Manutenção de Transpordores {filtro?.categoria}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {filtro != null &&\r\n
\r\n
\r\n Período
{`${formateDate(filtro.inicio)} a ${formateDate(filtro.fim)}`}\r\n
\r\n
\r\n Gerado Por
{filtro.nome}\r\n
\r\n
\r\n }\r\n
Cadastros Atualizados
\r\n {\r\n relatorio != null && relatorio.map((value, key) => (\r\n
\r\n {value.camposEditados && value.camposEditados.length > 0 && (\r\n <>\r\n
\r\n
\r\n
\r\n Razão Social:{value.nomeFantasia === null || value.nomeFantasia === undefined ? \" Sem Razão Social\" : \" \" + value.nomeFantasia}\r\n
\r\n
\r\n CNPJ:{value.cnpj === null || value.cnpj === undefined ? \" Sem CNPJ\" : \" \" + value.cnpj}\r\n
\r\n
\r\n Usuário de Modificação:{\" \" + value.usuario}\r\n
\r\n
\r\n Data de Alteração:{\" \" + value.data}\r\n
\r\n
\r\n
\r\n {\r\n value.camposEditados && value.camposEditados.map((atualizado, key2) => (\r\n <>\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o nomeclaturas*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.antigo) ? moment(atualizado.texto.antigo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.antigo}\r\n
\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o nomeclaturas*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.novo) ? moment(atualizado.texto.novo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.novo}\r\n
\r\n \r\n ))\r\n }\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 RelatorioManutecaoTransportadores;","import React, { useState } from 'react';\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col, Spinner } from \"reactstrap\";\r\nimport { useForm } from 'react-hook-form';\r\nimport { useReactToPrint } from 'react-to-print';\r\nimport Select from 'react-select';\r\nimport moment from \"moment\";\r\n\r\n//Services\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\nimport { showMessage } from '../../../services/message';\r\n\r\n//Helpers\r\nimport { formateDate } from '../../../helpers/formats';\r\nimport { formateDateandTime, formateDateApi } from '../../../helpers/formats';\r\nimport { nomeclaturas } from '../../../helpers/nomeclaturas';\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nfunction RelatorioManutecaoDestinos({ handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [showDetail, set_showDetail] = useState(false);\r\n\r\n const [logs, setLogs] = useState([]);\r\n\r\n const [categoria, setCategoria] = useState(null);\r\n\r\n const [filtro, set_filtro] = useState({\r\n inicio: \"\",\r\n fim: \"\",\r\n nome: \"\",\r\n categoria: null\r\n });\r\n\r\n const verificarIndex = (object, vetor) => {\r\n let indice = -1;\r\n vetor.map((v, index) => {\r\n if (v.id === object.idRegistro) {\r\n indice = index;\r\n }\r\n })\r\n\r\n return (indice === -1 ? -1 : indice);\r\n }\r\n\r\n const formataDados = (dados) => {\r\n return dados ? dados.toString().replaceAll(\"_\", \"\").replaceAll(\"-\", \"\").trim() : \"\";\r\n }\r\n\r\n const geraRelatorio = (data) => {\r\n const vetor = [];\r\n\r\n data.map((info, index) => {\r\n vetor.push({\r\n id: info.idRegistro,\r\n usuario: info.usuario,\r\n data: formateDateandTime(info.dataAlteracao),\r\n cnpj: info.cnpj,\r\n nomeFantasia: info.nomeFantasia,\r\n camposEditados: []\r\n });\r\n\r\n const json_antigo = JSON.parse(info.jsonAntigo);\r\n const json_novo = JSON.parse(info.jsonNovo);\r\n\r\n Object.keys(json_antigo).map(x => {\r\n if (formataDados(json_antigo[x]) !== formataDados(json_novo[x]) && !Array.isArray(json_antigo[x]) && !Array.isArray(json_novo[x])) {\r\n if (x === \"Arquivo\") {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: `${x} (${json_novo[\"NomeArquivo\"]})`, texto: `${json_novo[\"NomeArquivo\"]}` });\r\n } else {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: x, texto: { antigo: json_antigo[x], novo: json_novo[x] } });\r\n }\r\n } else if (Array.isArray(json_antigo[x]) && Array.isArray(json_novo[x])) {\r\n json_antigo[x].map(antigo => {\r\n json_novo[x].map(novo => {\r\n Object.keys(novo).map(comp => {\r\n if (formataDados(antigo[comp]) !== formataDados(novo[comp])) {\r\n vetor[verificarIndex(info, vetor)].camposEditados.push({ campo: comp, texto: { antigo: antigo[comp], novo: novo[comp] } });\r\n }\r\n })\r\n })\r\n })\r\n }\r\n })\r\n })\r\n\r\n setLogs(vetor);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (categoria == null) {\r\n showMessage(\"Aviso\", \"Por favor, selecione a categoria.\", 'warning', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n inicio: formateDateApi(data.dataInicial),\r\n fim: formateDateApi(data.dataFinal),\r\n categoria: categoria?.value\r\n }\r\n\r\n setLoading(true);\r\n\r\n api_POST(\"relatorio/RelatorioManutencaoDestinos\", json_submit)\r\n .then(result => {\r\n if (result?.data?.length == 0) {\r\n set_showDetail(false);\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Não existem registros para os filtros informados.\", 'warning', null);\r\n return;\r\n }\r\n geraRelatorio(result.data);\r\n json_submit.nome = session.nome;\r\n set_filtro(json_submit);\r\n set_showDetail(true);\r\n setLoading(false);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {logs.length > 0 && showDetail &&\r\n \r\n \r\n \r\n }\r\n \r\n {logs.length === 0 &&\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Manutenção de Destino

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.label}\r\n getOptionValue={option => option.value}\r\n name=\"categoria\"\r\n onChange={(e) => setCategoria(e)}\r\n value={categoria}\r\n placeholder=\"Selecione\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n }\r\n {\r\n logs.length > 0 && showDetail &&\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n
\r\n );\r\n}\r\n\r\nexport const ComponentToPrint = React.forwardRef((props, ref) => {\r\n const relatorio = props.relatorio;\r\n const filtro = props.filtro;\r\n\r\n function isDate(value) {\r\n const dateRegex = /^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?)?$/;\r\n return dateRegex.test(value);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Manutenção de Destino {filtro?.categoria}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {filtro != null &&\r\n
\r\n
\r\n Período
{`${formateDate(filtro.inicio)} a ${formateDate(filtro.fim)}`}\r\n
\r\n
\r\n Gerado Por
{filtro.nome}\r\n
\r\n
\r\n }\r\n
Cadastros Atualizados
\r\n {\r\n relatorio != null && relatorio.map((value, key) => (\r\n
\r\n {value.camposEditados && value.camposEditados.length > 0 && (\r\n <>\r\n
\r\n
\r\n
\r\n Razão Social:{value.nomeFantasia === null || value.nomeFantasia === undefined ? \" Sem Razão Social\" : \" \" + value.nomeFantasia}\r\n
\r\n
\r\n CNPJ:{value.cnpj === null || value.cnpj === undefined ? \" Sem CNPJ\" : \" \" + value.cnpj}\r\n
\r\n
\r\n Usuário de Modificação:{\" \" + value.usuario}\r\n
\r\n
\r\n Data de Alteração:{\" \" + value.data}\r\n
\r\n
\r\n
\r\n {\r\n value.camposEditados && value.camposEditados.map((atualizado, key2) => (\r\n <>\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o AlteraCampos*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.antigo) ? moment(atualizado.texto.antigo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.antigo}\r\n
\r\n
\r\n \r\n {/* caso o campo venha com nome de forma inadequada, sera usado o nomeclaturas*/}\r\n {nomeclaturas[atualizado.campo] !== undefined ? nomeclaturas[atualizado.campo] : atualizado.campo}:\r\n \r\n {isDate(atualizado.texto.novo) ? moment(atualizado.texto.novo).format(\"DD/MM/YYYY HH:MM\") : atualizado.texto.novo}\r\n
\r\n \r\n ))\r\n }\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 RelatorioManutecaoDestinos;","import React, { useEffect, useState } from 'react';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\nimport { useReactToPrint } from 'react-to-print';\r\nimport XlsxPopulate from 'xlsx-populate';\r\nimport { saveAs } from 'file-saver';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, CardHeader, FormGroup, Form, Input, Row, Col } from \"reactstrap\";\r\n\r\n\r\n// helpers\r\nimport { formateDateApi, formateDateandTime, formateDate, formateDateSemBarra } from 'helpers/formats';\r\n\r\n// services\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport { showMessage } from \"../../../services/message.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\n\r\nexport default function RelatorioFichaRequerimentoGeradorRGG({ handleReturn }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [relatorio, set_relatorio] = useState(null);\r\n\r\n const [lista, set_lista] = useState(Object);\r\n\r\n // Tipo de Requerimento\r\n const [tipoRequerimento, set_tipoRequerimento] = useState(\"\");\r\n const [subprefeitura, set_Subprefeitura] = useState([]);\r\n\r\n const [options_tipoRequerimento] = useState([\r\n { value: \"Novo Cadastro\", label: \"Novo Cadastro\" },\r\n { value: \"Renovação\", label: \"Renovação\" },\r\n { value: \"Cancelamento\", label: \"Cancelamento\" },\r\n ]);\r\n const handleTipoRequerimento = (value) => {\r\n set_tipoRequerimento(value);\r\n setValue(\"tipoRequerimento\", value, true);\r\n clearErrors(\"tipoRequerimento\");\r\n }\r\n\r\n const [options_subprefeitura, set_OptionsSubPrefeitura] = useState([]);\r\n const [showDetail, set_showDetail] = useState(false);\r\n\r\n const handleSubprefeitura = (value) => {\r\n set_Subprefeitura(value);\r\n setValue(\"subprefeitura\", value, true);\r\n }\r\n\r\n useEffect(() => {\r\n api_GET('subprefeitura')\r\n .then(result => set_OptionsSubPrefeitura(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }, []);\r\n\r\n const handleExcel = (data) => {\r\n set_showDetail(true);\r\n };\r\n\r\n const [filtro, set_filtro] = useState(null);\r\n\r\n const onSubmit = (data) => {\r\n // enviar um array de nomes, caso nao tenha nada sera atribuido um valor (Null) as subprefeituras;\r\n const validadacaoSubPrefeitura = subprefeitura && subprefeitura.length > 0 ?\r\n subprefeitura.map(x => x.nome) :\r\n null;\r\n\r\n let json_submit = {\r\n inicio: formateDateApi(data.dataInicial),\r\n fim: formateDateApi(data.dataFinal),\r\n acao: tipoRequerimento,\r\n subprefeitura: validadacaoSubPrefeitura\r\n }\r\n\r\n setLoading(true);\r\n api_POST('relatorio/RelatorioRequerimentoGeradorRGG', json_submit)\r\n .then(result => {\r\n json_submit.nome = session.nome;\r\n set_filtro(json_submit);\r\n set_relatorio(result.data);\r\n \r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n if (relatorio != null) {\r\n api_POST('relatorio/ExportToExcelRGG', relatorio)\r\n .then(resultExcel => set_lista(resultExcel.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }, [relatorio]);\r\n\r\n const componentRef = React.useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n //adicionar todas as subprefeituras ao clica no botao\r\n const handleTakeSubprefeituras = () => {\r\n set_Subprefeitura(options_subprefeitura);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n {relatorio != null && !showDetail &&\r\n \r\n \r\n \r\n }\r\n \r\n {relatorio == null &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Requerimento de Geradores de RGG

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.dataInicial && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.dataFinal && * Campo Obrigatório}\r\n \r\n\r\n \r\n \r\n \r\n \r\n { handleTipoRequerimento(e.value) }}\r\n value={tipoRequerimento != \"\" && options_tipoRequerimento.find(obj => obj.value === tipoRequerimento)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"tipoRequerimento\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.tipoRequerimento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.nome}\r\n getOptionValue={option => option.subPrefeitura_Id}\r\n name=\"subprefeitura\"\r\n onChange={(e) => { handleSubprefeitura(e) }}\r\n value={subprefeitura}\r\n placeholder=\"Selecione\"\r\n isMulti\r\n ref={e => register(\r\n { name: \"subprefeitura\" },\r\n { required: false })\r\n }\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n }\r\n {!showDetail && relatorio &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {showDetail && relatorio && lista.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\nexport const ComponentToPrint = React.forwardRef((props, ref) => {\r\n const relatorio = props.relatorio;\r\n const filtro = props.filtro;\r\n return (\r\n
\r\n
\r\n
\r\n

Requerimento de Geradores de RGG

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {filtro != null &&\r\n
\r\n
\r\n Período
{formateDate(filtro.inicio) + \" a \" + formateDate(filtro.fim)}\r\n
\r\n
\r\n Gerado Por
{filtro.nome}\r\n
\r\n
\r\n Tipo Requerimento
{filtro.acao}\r\n
\r\n
\r\n }\r\n {relatorio != null && relatorio.map((m, key) => (\r\n
\r\n
{m.geradores.length > 0 ? m.subprefeitura : ''}
\r\n {m.geradores.map((n, key2) => (\r\n
\r\n
\r\n
\r\n Regional/SubPrefeitura: {\" \" + m.subprefeitura}\r\n
\r\n
\r\n Código: {\" \" + n.codigo}\r\n
\r\n
\r\n Razão Social: {\" \" + n.razaoSocial}\r\n
\r\n
\r\n CNPJ: {\" \" + n.cnpj}\r\n
\r\n
\r\n CEP: {\" \" + n.cep}\r\n
\r\n
\r\n Logradouro: {\" \" + n.logradouro}\r\n
\r\n
\r\n Nº: {\" \" + n.numero}\r\n
\r\n
\r\n Complemento: {\" \" + n.complemento}\r\n
\r\n
\r\n Bairro: {\" \" + n.bairro}\r\n
\r\n
\r\n Locais de Coleta: \r\n
\r\n {n?.locaisColeta?.map((l, key3) => (\r\n
\r\n {\" \" + l.logradouro + \", \" + l.numero + \", \" + l.complemento + \" - \" + l.bairro}\r\n
\r\n ))}\r\n
\r\n
\r\n ))}\r\n
\r\n ))}\r\n
\r\n );\r\n});\r\n\r\nexport const ComponentToExcel = React.forwardRef((props, ref) => {\r\n const relatorio = props.relatorio;\r\n const filtro = props.filtro;\r\n\r\n const x = relatorio.map(function (val) {\r\n var array = Object.values(val);\r\n var columns = Object.keys(val);\r\n array.splice(14, 1);\r\n array.splice(14, 1);\r\n array.splice(15, 1);\r\n array[14] = formateDateSemBarra(array[14]);\r\n return array;\r\n });\r\n\r\n function getSheetData(data, header) {\r\n var fields = Object.keys(data[0]);\r\n var sheetData = data.map(function (row) {\r\n return fields.map(function (fieldName) {\r\n return row[fieldName] ? row[fieldName] : \"\";\r\n });\r\n });\r\n sheetData.unshift(header);\r\n return sheetData;\r\n }\r\n\r\n\r\n async function saveAsExcel() {\r\n let header = [\"SubPrefeitura\", \"Código\", \"Razão Social\", \"CNPJ\", \"CEP\", \"Logradouro\",\r\n \"Nº\", \"Complemento\", \"Bairro\"];\r\n\r\n XlsxPopulate.fromBlankAsync().then(async (workbook) => {\r\n const dia = new Date();\r\n const sheet1 = workbook.sheet(0).name(\"RGG\");\r\n const sheetData = getSheetData(x, header);\r\n const totalColumns = sheetData[0].length;\r\n\r\n sheet1.cell(\"A1\").value(sheetData);\r\n const range = sheet1.usedRange();\r\n const endColumn = String.fromCharCode(64 + totalColumns);\r\n sheet1.row(1).style(\"bold\", true);\r\n sheet1.range(\"A1:\" + endColumn + \"1\");\r\n return workbook.outputAsync().then((res) => {\r\n saveAs(res, \"RelatorioRGG_\" + dia.getDate() + (dia.getMonth() + 1) + dia.getFullYear() + \".xlsx\");\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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {relatorio.map(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
SubPrefeituraCódigoRazão SocialCNPJCEPLogradouroComplementoBairro
{item.subprefeitura}{item.codigo}{item.razaoSocial}{item.cnpj}{item.cep}{item.logradouro}{item.numero}{item.complemento}{item.bairro}
\r\n
\r\n
\r\n
\r\n \r\n );\r\n});"," const cpfMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 6) {\r\n value = num.replace(/(\\d{3})(\\d{1,3})/g, '$1.$2')\r\n } else if (value.length <= 9) {\r\n value = num.replace(/(\\d{3})(\\d{3})(\\d{1,3})/g, '$1.$2.$3')\r\n } else {\r\n value = num.replace(/(\\d{3})(\\d{3})(\\d{3})(\\d{1,2})/g, '$1.$2.$3-$4')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst cnpjMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '');\r\n if (!noMask) {\r\n if (value.length <= 5) {\r\n value = num.replace(/(\\d{2})(\\d{1,3})/g, '$1.$2')\r\n } else if (value.length <= 8) {\r\n value = num.replace(/(\\d{2})(\\d{3})(\\d{1,3})/g, '$1.$2.$3')\r\n } else if (value.length <= 12) {\r\n value = num.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d{1,4})/g, '$1.$2.$3/$4')\r\n } else {\r\n value = num.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d{1,4})(\\d{1,2})/g, '$1.$2.$3/$4-$5')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst cpfcnpjMask = (_value = \"\", noMask = false) => {\r\n let value = _value != null ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '');\r\n if (!noMask) {\r\n const tamanho = num.length;\r\n if (tamanho <= 11) {\r\n value = cpfMask(num);\r\n return value;\r\n } else if (tamanho <= 14) {\r\n value = cnpjMask(num);\r\n return value;\r\n } else {\r\n return value.substr(0, 18);\r\n }\r\n }\r\n return num;\r\n}\r\nconst celularMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 7) {\r\n value = num.replace(/(\\d{1,2})(\\d{1,5})/g, '($1)$2')\r\n } else {\r\n value = num.replace(/(\\d{2})(\\d{5})(\\d{1,4})/g, '($1)$2-$3')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst telefoneMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 6) {\r\n value = num.replace(/(\\d{1,2})(\\d{1,4})/g, '($1)$2')\r\n } else {\r\n value = num.replace(/(\\d{2})(\\d{4})(\\d{1,4})/g, '($1)$2-$3')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst cepMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 5) {\r\n value = num.replace(/(\\d{1,5})/g, '$1')\r\n } else {\r\n value = num.replace(/(\\d{5})(\\d{1,3})/g, '$1-$2')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst horaMask = (_value, noMask = false) => {\r\n let value = _value ? _value : \"00:00\";\r\n const num = value.replace(/[^\\d]/g, '')\r\n if (!noMask) {\r\n if (value.length <= 2) {\r\n value = num.replace(/(\\d{1,2})/g, '$1')\r\n } else {\r\n value = num.replace(/(\\d{2})(\\d{1,2})/g, '$1:$2')\r\n }\r\n return value\r\n }\r\n return num\r\n}\r\nconst floatMask = (_value) => {\r\n let value = _value ? _value : \"0,00\";\r\n value = value.toString();\r\n if (value.length == 1) {\r\n value = value + \"00\"\r\n }\r\n\r\n value = value.replace(/\\D/g, '');\r\n if (value === '') {\r\n value = '0.00'\r\n }\r\n value = (parseFloat(value) / 100).toFixed(2) + '';\r\n\r\n value = value.replace(\".\", \",\");\r\n\r\n value = value.replace(/(d)(d{3})(d{3}),/g, \"$1.$2.$3,\");\r\n\r\n value = value.replace(/(d)(d{3}),/g, \"$1.$2,\");\r\n\r\n value = value;\r\n\r\n return value\r\n}\r\nconst numeroMask = (_value = \"\") => {\r\n\r\n let value = _value ? _value.toString() : \"\";\r\n if (value) {\r\n const v = value.replace(/\\D/g, \"\")\r\n value = v\r\n }\r\n\r\n return value\r\n}\r\nconst ufMask = (_value) => {\r\n let value = _value ? _value : \"\";\r\n const v = value.replace(/[^a-zA-Z]/g, '');\r\n value = v;\r\n return value;\r\n}\r\nconst placaMask = (_value) => {\r\n let value = _value ? _value : \"\";\r\n const num = value.replace(/[^0-9a-zA-Z]/g, '');\r\n if (value.length <= 3) {\r\n value = num.replace(/(\\w{1,3})/g, '$1');\r\n } else {\r\n value = num.replace(/(\\w{3})(\\w{1,4})/g, '$1-$2');\r\n }\r\n return value\r\n}\r\n\r\nexport default { cpfMask, cnpjMask, cpfcnpjMask, celularMask, telefoneMask, cepMask, horaMask, floatMask, numeroMask, ufMask, placaMask }\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport { Promise } from \"xlsx-populate\";\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Nav, NavItem, NavLink, TabPane, TabContent, Container } from \"reactstrap\";\r\n\r\n\r\n// helpers\r\nimport { isValidCPF, isValidCNPJ } from \"../../helpers/valid.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../services/api_service.js\";\r\nimport { InputCNPJ } from \"../../services/mask.js\";\r\nimport TextField from \"../../components/TextField/TextField.jsx\";\r\nimport mascaras from \"../../helpers/mascaras.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function DadosPrimarios({ opcao }) {\r\n const { setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n\r\n const [cpf_cnpj, setCpf_cnpj] = useState({\r\n valor: \"\"\r\n });\r\n\r\n const [errorCpfCnpj, setErrorCpf_cnpj] = useState(false);\r\n\r\n const [h1_tab, set_h1_tab] = useState(\"PJ\");\r\n const [setupSolicitacaoAcaoPJ, set_setupSolicitacaoAcaoPJ] = React.useState(null);\r\n const [setupSolicitacaoAcaoPF, set_setupSolicitacaoAcaoPF] = React.useState(null);\r\n const [setupSolicitacaoAcaoPB, set_setupSolicitacaoAcaoPB] = React.useState(null);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n useEffect(() => {\r\n const options_h1 = [{\r\n option: \"PJ\",\r\n set: (data) => set_setupSolicitacaoAcaoPJ(data)\r\n }, {\r\n option: \"PB\",\r\n set: (data) => set_setupSolicitacaoAcaoPB(data)\r\n }, {\r\n option: \"PF\",\r\n set: (data) => set_setupSolicitacaoAcaoPF(data)\r\n }];\r\n\r\n Promise.all([\r\n api_GET(`setupsolicitacao/GetByAcaoSegmentoCategoria/${opcao.segmento}/${opcao.categoria_Id}/Novo Cadastro/Jurídica`).catch(err => null),\r\n api_GET(`setupsolicitacao/GetByAcaoSegmentoCategoria/${opcao.segmento}/${opcao.categoria_Id}/Novo Cadastro/Pública`).catch(err => null),\r\n api_GET(`setupsolicitacao/GetByAcaoSegmentoCategoria/${opcao.segmento}/${opcao.categoria_Id}/Novo Cadastro/Física`).catch(err => null)\r\n ]).then((values) => {\r\n let index_h1 = -1;\r\n for (let index = 0; index < values.length; index++) {\r\n if (values[index] && values[index].status === 200 && values[index].data != null) {\r\n options_h1[index].set(values[index].data);\r\n if (index_h1 === -1) {\r\n index_h1 = index;\r\n }\r\n }\r\n }\r\n\r\n if (index_h1 !== -1) {\r\n set_h1_tab(options_h1[index_h1].option);\r\n }\r\n })\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n if (data.email != data.confirmarEmail) {\r\n showMessage(\"Aviso\", \"O email e a confirmação de email não conferem!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (h1_tab != \"PF\" && !isValidCNPJ(data.cnpj)) {\r\n showMessage(\"Aviso\", \"CNPJ inválido!\", 'error', null);\r\n return;\r\n }\r\n\r\n\r\n if (h1_tab == \"PF\" && cpf_cnpj.valor.trim().length == 0) {\r\n setErrorCpf_cnpj(true);\r\n return;\r\n }\r\n\r\n if (h1_tab == \"PF\" && cpf_cnpj.valor.length > 11 && !isValidCNPJ(cpf_cnpj.valor)) {\r\n showMessage(\"Aviso\", \"CNPJ inválido!\", 'error', null);\r\n setErrorCpf_cnpj(true);\r\n return;\r\n }\r\n\r\n if (h1_tab == \"PF\" && cpf_cnpj.valor.length <= 11 && !isValidCPF(cpf_cnpj.valor)) {\r\n showMessage(\"Aviso\", \"CPF inválido!!\", 'error', null);\r\n setErrorCpf_cnpj(true);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n requerimento_Id: 0,\r\n nomeSolicitante: h1_tab == \"PF\" ? data.nome : data.fantasia,\r\n email: data.email,\r\n cpf_Cnpj: h1_tab == \"PF\" ? cpf_cnpj.valor : data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n protocolo_Id: 0,\r\n setupSolicitacaoAcao_Id: h1_tab == \"PJ\" ? setupSolicitacaoAcaoPJ.setupSolicitacaoAcao_Id : (h1_tab == \"PB\" ? setupSolicitacaoAcaoPB.setupSolicitacaoAcao_Id : setupSolicitacaoAcaoPF.setupSolicitacaoAcao_Id),\r\n tipoPessoa: h1_tab == \"PJ\" ? \"Pessoa Jurídica (Privado)\" : h1_tab == \"PB\" ? \"Pessoa Jurídica (Público)\" : \"Pessoa Física / MEI\",\r\n protocolo: {\r\n numeroProtocolo: \"\",\r\n nomeSolicitante: h1_tab == \"PF\" ? data.nome : data.fantasia,\r\n email: data.email,\r\n cpf_Cnpj: h1_tab == \"PF\" ? cpf_cnpj.valor : data.cnpj.replaceAll(\"/\", \"\").replaceAll(\".\", \"\").replaceAll(\"-\", \"\"),\r\n tipoPessoa: h1_tab == \"PJ\" ? \"Pessoa Jurídica (Privado)\" : h1_tab == \"PB\" ? \"Pessoa Jurídica (Público)\" : \"Pessoa Física / MEI\",\r\n status: \"Pendente\",\r\n senha: Math.random().toString(36).slice(-8),\r\n }\r\n }\r\n\r\n setLoading(true);\r\n api_POST('Requerimento/PostRequerimentoProtocolo', json_submit)\r\n .then(result => {\r\n setLoading(false);\r\n set_protocolo(result.data);\r\n showMessage(\"Aviso\", \"Sua solicitação de cadastro foi criada com sucesso! Enviamos um e-mail contendo o link para completar o cadastro.\", 'success', null);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onChange = (e) => {\r\n const { name, value } = e.target;\r\n setCpf_cnpj({ [name]: value });\r\n setErrorCpf_cnpj(false)\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n {protocolo == null &&\r\n \r\n
\r\n

Dados Primários

\r\n
{opcao.descricao}
\r\n \r\n \r\n \r\n {(h1_tab == \"PJ\" && setupSolicitacaoAcaoPJ != null) &&\r\n \r\n \r\n \r\n \r\n \r\n {errors.cnpj && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.fantasia && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.confirmarEmail && * Campo Obrigatório}\r\n \r\n \r\n {opcao.sigla == \"RGG\" &&\r\n \r\n Atenção: \r\n Informe o e-mail do {opcao && opcao.segmento?.toLowerCase()}. Esta informação é ultilizada para acesso e operação no sistema.\r\n \r\n }\r\n \r\n }\r\n \r\n \r\n {(h1_tab == \"PB\" && setupSolicitacaoAcaoPB != null) &&\r\n \r\n \r\n \r\n \r\n \r\n {errors.cnpj && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.fantasia && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.confirmarEmail && * Campo Obrigatório}\r\n \r\n \r\n {opcao.sigla == \"RGG\" &&\r\n \r\n Atenção: \r\n Informe o e-mail do {opcao && opcao.segmento?.toLowerCase()}. Esta informação é ultilizada para acess0 e operação no sistema.\r\n \r\n }\r\n \r\n }\r\n \r\n \r\n
\r\n {(h1_tab == \"PF\" && setupSolicitacaoAcaoPF != null) &&\r\n \r\n \r\n \r\n \r\n \r\n {errorCpfCnpj && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.nome && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n {errors.confirmarEmail && * Campo Obrigatório}\r\n \r\n \r\n {opcao.sigla == \"RGG\" &&\r\n \r\n Atenção: \r\n Informe o e-mail do Gerador. Esta informação é ultilizada para acesso e operação no sistema.\r\n \r\n }\r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n {protocolo != null &&\r\n \r\n \r\n \r\n

\r\n Solicitação enviada com Sucesso\r\n

\r\n
\r\n

Verifique sua caixa de email
para darmos continuidade no cadastro.

\r\n \r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useState } from 'react';\r\nimport { Card, CardHeader, CardBody, CardFooter, Row, Col, Button, Tooltip } from \"reactstrap\";\r\n\r\nexport default function CardOpcaoCadastro({ opcao, handleClickOpcao, indice }) {\r\n const [tooltipOpen, setTooltipOpen] = useState(false);\r\n return (\r\n <>\r\n \r\n \r\n
\r\n \r\n ?\r\n \r\n
\r\n \r\n {opcao.descricao == \"RSS\" ? opcao.segmento.replace(\"Grande\", \"\") : opcao.segmento}\r\n
\r\n {opcao.descricao}\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n { setTooltipOpen(!tooltipOpen) }}\r\n >\r\n {opcao.detalhes}\r\n \r\n \r\n \r\n );\r\n}","import React from 'react';\r\nimport { Card, CardHeader, CardBody, CardFooter, Col, Button } from \"reactstrap\";\r\n\r\n\r\nexport default function CardIntegracao({ integracao, handleClickIntegacao }) {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {integracao == \"RCC\" ? : integracao == \"RSS\" ? : }\r\n {integracao == \"RCC\" ? \"Cadastro de RCC\" : integracao == \"RGG\" ? \"Cadastro de RGG\" : \"Cadastro de RSS\"}\r\n \r\n
\r\n \r\n {integracao == \"RCC\" ? \"Cadastramento de geradores, transportadoras e destinos final da construção civil\" : integracao == \"RGG\" ? \"Cadastramento de Grandes Geradores, transportadoras e destinatário da coleta privada\" : \"Cadastramento de geradores de resíduos de saúde\"}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n );\r\n }","import React, { useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, Form, Input, Row, Col, Container } from \"reactstrap\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_POST, api_GET } from \"../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function Declaracao({ item, handleFinalizarCadastro, handleStepAnterior }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const [declaracao, set_declaracao] = React.useState(\"\");\r\n\r\n useEffect(() => {\r\n set_requerimento(item);\r\n api_GET('setupsolicitacao/GetByAcaoId/' + item.setupSolicitacaoAcao_Id)\r\n .then(result => set_declaracao(result.data.descricaoDeclaracao))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n if (data.checkDeclaracao != true) {\r\n showMessage(\"Aviso\", \"Você não pode confirmar o cadastro sem aceitar a declaração!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = requerimento;\r\n json_submit.protocolo = null;\r\n json_submit.textoDeclaracao = declaracao;\r\n\r\n setLoading(true);\r\n api_POST('requerimento/PostConfirmarDeclaracao ', json_submit)\r\n .then(result => { showMessage(\"Aviso\", \"Seu cadastro foi concluído e será analisado por \" + setupSistema?.identificacao + \". Você receberá todas as informações por email.\", 'success', function () { handleFinalizarCadastro(requerimento) }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n
\r\n

Declaração

\r\n \r\n \r\n \r\n {declaracao}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function ListaVeiculosExclusao({ item, protocolo, handleProximoStep }) {\r\n const {setLoading} = useAuth();\r\n\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [veiculos, set_veiculos] = React.useState([]);\r\n const [veiculosExcluir, setVeiculosExcluir] = React.useState([]);\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (protocolo != null && protocolo.protocoloTransportador[0].protocoloTransportadorVeiculo != null) {\r\n set_veiculos(protocolo.protocoloTransportador[0].protocoloTransportadorVeiculo);\r\n }\r\n if (item != null && item.requerimentoTransportadorVeiculo != null) {\r\n setVeiculosExcluir(item.requerimentoTransportadorVeiculo);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadItemRequerimento();\r\n }, [protocolo]);\r\n\r\n const handleAvancar = () => {\r\n if (veiculosExcluir.length > 1 && item?.setupSolicitacaoAcao?.setupSolicitacao?.categoria?.sigla == \"RGG\" && item?.setupSolicitacaoAcao?.acao == \"Exclusão\") {\r\n showMessage(\"Aviso\", \"Selecione apenas um veículo para excluir!\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (veiculosExcluir.length == 0) {\r\n showMessage(\"Aviso\", \"Selecione os veículos que deseja excluir!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = [];\r\n veiculosExcluir.map(m => {\r\n json_submit.push(m.protocoloTransportadorVeiculo_Id);\r\n })\r\n\r\n setLoading(true);\r\n api_POST(`requerimentoTransportador/PostRequerimentoTransportadorExclusaoVeiculo/${registro.requerimento_Id}`, json_submit)\r\n .then(result => handleProximoStep(registro))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n\r\n \r\n \r\n \r\n

Veículos

\r\n
\r\n \r\n \r\n setVeiculosExcluir(rows)}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n \r\n \r\n {handleProximoStep != 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} ","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function ListaVeiculosExclusao({ item, protocolo, handleProximoStep }) {\r\n const { setLoading } = useAuth();\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [locais, set_locais] = React.useState([]);\r\n const [locaisExcluir, setLocaisExcluir] = React.useState([]);\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (protocolo != null && protocolo.protocoloGerador[0].protocoloGeradorLocais != null) {\r\n set_locais(protocolo.protocoloGerador[0].protocoloGeradorLocais);\r\n }\r\n if (item != null && item.requerimentoGeradorLocal != null) {\r\n setLocaisExcluir(item.requerimentoGeradorLocal);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadItemRequerimento();\r\n }, [protocolo]);\r\n\r\n const handleAvancar = () => {\r\n if (locaisExcluir.length == 0) {\r\n showMessage(\"Aviso\", \"Selecione os locais que deseja excluir!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = [];\r\n locaisExcluir.map(m => {\r\n json_submit.push(m.protocoloGeradorLocal_Id);\r\n })\r\n\r\n setLoading(true);\r\n api_POST(`requerimentoGerador/PostRequerimentoGeradorExclusaoLocal/${registro.requerimento_Id}`, json_submit)\r\n .then(result => handleProximoStep(registro))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n\r\n \r\n \r\n \r\n

Locais de Coleta

\r\n
\r\n \r\n \r\n setLocaisExcluir(rows)}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n \r\n \r\n {handleProximoStep != 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} ","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_POST } from \"../../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function ListaLocaisExclusao({ item, protocolo, handleProximoStep }) {\r\n const {setLoading} = useAuth();\r\n\r\n const [registro, set_registro] = React.useState(null);\r\n\r\n const [locais, set_locais] = React.useState([]);\r\n const [locaisExcluir, setLocaisExcluir] = React.useState([]);\r\n\r\n const loadItemRequerimento = () => {\r\n set_registro(item);\r\n if (protocolo != null && protocolo.protocoloDestino[0].protocoloDestinoLocais != null) {\r\n set_locais(protocolo.protocoloDestino[0].protocoloDestinoLocais);\r\n }\r\n if (item != null && item.requerimentoDestinoLocais != null) {\r\n setLocaisExcluir(item.requerimentoDestinoLocais);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadItemRequerimento();\r\n }, [protocolo]);\r\n\r\n const handleAvancar = () => {\r\n if (locaisExcluir.length == 0) {\r\n showMessage(\"Aviso\", \"Selecione os locais que deseja excluir!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = [];\r\n locaisExcluir.map(m => {\r\n json_submit.push(m.protocoloDestinoLocal_Id);\r\n })\r\n\r\n setLoading(true);\r\n api_POST(`requerimentoDestino/PostRequerimentoDestinoExclusaoLocal/${registro.requerimento_Id}`, json_submit)\r\n .then(result => handleProximoStep(registro))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n\r\n \r\n \r\n \r\n

Locais

\r\n
\r\n \r\n \r\n setLocaisExcluir(rows)}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n \r\n \r\n {handleProximoStep != 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} ","import React, { useState } from 'react';\r\n\r\nfunction Legislacao() {\r\n const [legislacoes, setLegislacoes] = useState([\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Lei nº 17.433/20 - criou a Agência Reguladora de Serviços Públicos do Município de São Paulo – SP Regula,\r\n sob a forma de autarquia em regime especial vinculada ao Gabinete do Prefeito, que possui autonomia administrativa,\r\n financeira e orçamentária, sendo responsável pela regulação e fiscalização dos serviços delegados da cidade de São Paulo,\r\n e ainda os Decretos 60.173/2021, 61.425/2022; 60.941/2021 e 61.036/2022,\r\n que estabelecem dentre outras as competências e atribuições para os serviços de limpeza urbana bem como as posturas municipais.\r\n

\r\n

\r\n A SP REGULA cabe a fiscalização dos serviços delegados, autorizados consoante a Lei 17.433/20 bem como os decretos regulamentadores 60.173/2021; 61.425/2022; 60.941/2021 e 61.036/2022\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Lei nº 13.478/2002 - Dispõe sobre a organização do Sistema de Limpeza Urbana do Município de São Paulo;\r\n cria e estrutura seu órgão regulador;\r\n autoriza o Poder Público a delegar a execução dos serviços públicos mediante concessão ou permissão; institui a Taxa de Resíduos Sólidos Domiciliares - TRSD,\r\n a Taxa de Resíduos Sólidos de Serviços de Saúde - TRSS e a Taxa de Fiscalização dos Serviços de Limpeza Urbana - FISLURB;\r\n cria o Fundo Municipal de Limpeza Urbana - FMLU, e dá outras providências.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Lei nº 17.433/2020 - Dispõe sobre a reorganização da Administração Pública Municipal Indireta, incluindo a criação da Agência Reguladora de Serviços Públicos do Município de São Paulo – SP Regula.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Lei nº 14.803/2008 - Dispõe sobre o Plano Integrado de Gerenciamento dos Resíduos da Construção Civil e Resíduos Volumosos e seus componentes, o Programa Municipal de Gerenciamento e Projetos de Gerenciamento de Resíduos da Construção Civil conforme previstos na Resolução CONAMA nº 307/2002, disciplina a ação dos geradores e transportadores destes resíduos no âmbito do Sistema de Limpeza Urbana do Município de São Paulo e dá outras providências.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Decreto nº 60.941/2021 - Dispõe sobre a inventariança e a transferência de direitos, obrigações e de bens da Autoridade Municipal de Limpeza Urbana - AMLURB, especifica as competências definidas no Decreto nº 60.353, de 30 de junho de 2021, e altera disposições.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Decreto nº 61.425/2022 - Dispõe sobre o Regimento Interno da Agência Reguladora de Serviços Públicos do Município de São Paulo - SP Regula.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Decreto nº 61.036/2022 - Dispõe sobre a reorganização da Secretaria Executiva de Planejamento e Entregas Prioritárias – SEPEP, da Secretaria de Governo Municipal, e a criação e organização da Secretaria Executiva de Limpeza Urbana – SELIMP, na Secretaria Municipal das Subprefeituras, bem como altera a denominação e a lotação dos cargos de provimento em comissão que especifica.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Decreto nº 46.594/2005 - REGULAMENTA, DE ACORDO COM A RESOLUÇÃO CONAMA Nº 307, DE 5 DE JULHO DE 2002, A COLETA, O TRANSPORTE, O TRATAMENTO E A DISPOSIÇÃO FINAL DOS RESÍDUOS DA CONSTRUÇÃO CIVIL, DE QUE TRATA A LEI Nº 13.478, DE 30 DE DEZEMBRO DE 2002, COM AS ALTERAÇÕES POSTERIORES. (Redação dada pelo Decreto nº 57.662/2017).\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Decreto nº 57.662/2017 - Introduz alterações no Decreto nº 46.594, de 3 de novembro de 2005, que regulamenta a coleta, o transporte, o tratamento e a disposição final de resíduos inertes, de que trata a Lei nº 14.478, de 30 de dezembro de 2002, com suas alterações subsequentes.\r\n

\r\n
\r\n )\r\n },\r\n {\r\n texto: () => (\r\n
\r\n

\r\n Decreto nº 58.701/2019 - Regulamenta os artigos 123, 140, 141 e 142 da Lei nº 13.478, de 30 de dezembro de 2002, que dispõe sobre a organização do Sistema de Limpeza Urbana do Município de São Paulo, fixa competências voltadas à fiscalização das posturas municipais e à aplicação das respectivas penalidades previstas na referida lei, bem como revoga os decretos que especifica.\r\n

\r\n
\r\n )\r\n }\r\n ]);\r\n\r\n return
\r\n {legislacoes.map((value, index) => {\r\n const Component = value.texto;\r\n return
\r\n \r\n
\r\n })}\r\n
\r\n}\r\n\r\nexport default Legislacao;","import { useAuth } from 'context/auth'\r\nimport React from 'react'\r\n\r\nexport default function LogoSistema({ identificacaoLogo, width, style = {}, className = \"\" }) {\r\n const { setupSistema } = useAuth();\r\n\r\n return (\r\n <>\r\n {identificacaoLogo == \"logotipo\" &&\r\n \r\n }\r\n {identificacaoLogo == \"logoSecundario\" &&\r\n \r\n }\r\n {identificacaoLogo == \"logotipoBranco\" &&\r\n \r\n }\r\n {identificacaoLogo == \"logoSecretariaBranco\" &&\r\n \r\n }\r\n \r\n )\r\n}","//Área Restrita\r\nimport Login from \"../views/Auth/Login.jsx\";\r\nimport EsqueceuSenha from \"../views/Auth/EsqueceuSenha.jsx\";\r\nimport TrocarSenha from \"../views/Auth/TrocarSenha.jsx\";\r\nimport Inicio from \"../views/Acompanhamento/Inicio.jsx\";\r\nimport Dashboard from '../views/Dashboard/Dashboard.jsx'\r\nimport ManutencaoForm from \"../views/Manutencao/ManutencaoForm.jsx\";\r\nimport AgendamentoVistoriaLista from \"../views/Acompanhamento/AgendamentoVistoriaLista.jsx\";\r\nimport ExportacaoLauda from \"../views/Acompanhamento/ExportacaoLauda.jsx\";\r\nimport ConsultaCadastro from \"../views/Consulta/ConsultaCadastro.jsx\";\r\nimport ConsultaVeiculo from \"../views/Consulta/ConsultaVeiculo.jsx\"\r\nimport ManutencaoTransportadorLista from \"../views/Manutencao/Transportador/ManutencaoTransportadorLista.jsx\";\r\nimport ManutencaoGeradorLista from \"../views/Manutencao/Gerador/ManutencaoGeradorLista.jsx\";\r\nimport ManutencaoGeradorRSSLista from \"../views/Manutencao/GeradorRSS/ManutencaoGeradorRSSLista.jsx\";\r\nimport ManutencaoDestinoLista from \"../views/Manutencao/Destino/ManutencaoDestinoLista.jsx\";\r\nimport CadastroEnquadramento from \"../views/Cadastros/CadastroEnquadramento.jsx\";\r\nimport CadastroDocumentos from \"../views/Cadastros/CadastroDocumentos.jsx\";\r\nimport CadastroSolicitacaoLista from \"../views/Cadastros/CadastroSolicitacaoLista.jsx\";\r\nimport CadastroFluxoLista from \"../views/Cadastros/CadastroFluxoLista.jsx\";\r\nimport CadastroSubPrefeitura from \"../views/Cadastros/CadastroSubPrefeitura.jsx\";\r\nimport CadastroClassesResiduosLista from \"../views/Cadastros/CadastroClassesResiduosLista.jsx\";\r\nimport CadastroSetupAgendaVistoria from \"../views/Cadastros/CadastroSetupAgendaVistoria.jsx\";\r\nimport CadastroDiasNaoUteis from \"../views/Cadastros/CadastroDiasNaoUteis.jsx\";\r\nimport PerfilLista from \"../views/Seguranca/PerfilLista.jsx\";\r\nimport UsuarioLista from \"../views/Seguranca/UsuarioLista.jsx\";\r\nimport RelatoriosLista from \"../views/Relatorios/RelatoriosLista.jsx\";\r\n\r\n// Potal\r\nimport PortalOpcoes from \"../views/Portal/Opcoes.jsx\";\r\nimport RequerimentoCancelamento from \"../views/Portal/RequerimentoCancelamento.jsx\";\r\nimport ConsultaRequerimento from \"../views/Consulta/ConsultaRequerimento.jsx\";\r\nimport AnexoComprovantePagamento from \"../views/Portal/AnexoComprovantePagamento.jsx\";\r\nimport AgendamentoVistoriaPortal from \"../views/Portal/AgendamentoVistoriaPortal.jsx\";\r\nimport ImplantacaoDatasys from \"../views/Layouts/ImplantacaoDatasys.jsx\";\r\n\r\n// Portal Transportador\r\nimport TransportadorRequerimentoNovoCadastro from \"../views/Portal/Transportador/RequerimentoNovoCadastro.jsx\";\r\nimport TransportadorRequerimentoRenovacaoCadastro from \"../views/Portal/Transportador/RequerimentoRenovacaoCadastro.jsx\";\r\nimport TransportadorRequerimentoInclusaoVeiculo from \"../views/Portal/Transportador/RequerimentoInclusaoVeiculo.jsx\";\r\nimport TransportadorRequerimentoExclusaoVeiculo from \"../views/Portal/Transportador/RequerimentoExclusaoVeiculo.jsx\";\r\nimport TransportadorRequerimentoAlteracao from \"../views/Portal/Transportador/RequerimentoAlteracao.jsx\";\r\nimport TransportadorRequerimentoAlteracaoEquipamentos from \"../views/Portal/Transportador/RequerimentoAlteracaoEquipamentos.jsx\";\r\nimport TransportadorRequerimentoAlteracaoIdentificacao from \"../views/Portal/Transportador/RequerimentoAlteracaoIdentificacao.jsx\";\r\nimport MeuCadastro from \"../views/Portal/MeuCadastro.jsx\";\r\n\r\n\r\n// Portal Gerador\r\nimport GeradorRequerimentoNovoCadastro from \"../views/Portal/Gerador/RequerimentoNovoCadastro.jsx\";\r\nimport GeradorRequerimentoRenovacaoCadastro from \"../views/Portal/Gerador/RequerimentoRenovacaoCadastro.jsx\";\r\nimport GeradorRequerimentoInclusaoLocal from \"../views/Portal/Gerador/RequerimentoInclusaoLocal.jsx\";\r\nimport GeradorRequerimentoExclusaoLocal from \"../views/Portal/Gerador/RequerimentoExclusaoLocal.jsx\";\r\nimport GeradorRequerimentoAlteracaoCadastro from \"../views/Portal/Gerador/RequerimentoAlteracaoCadastro.jsx\";\r\n\r\n// Portal Gerador RSS\r\nimport GeradorRSSRequerimentoNovoCadastro from \"../views/Portal/GeradorRSS/RequerimentoNovoCadastro.jsx\";\r\nimport GeradorRSSRequerimentoAlteracao from \"../views/Portal/GeradorRSS/RequerimentoAlteracao.jsx\";\r\n\r\n// Portal Destino\r\nimport DestinoRequerimentoNovoCadastro from \"../views/Portal/Destino/RequerimentoNovoCadastro.jsx\";\r\nimport DestinoRequerimentoInclusaoLocal from \"../views/Portal/Destino/RequerimentoInclusaoLocal.jsx\";\r\nimport DestinoRequerimentoRenovacao from \"../views/Portal/Destino/RequerimentoRenovacaoCadastro.jsx\";\r\nimport DestinoRequerimentoExclusaoLocal from \"../views/Portal/Destino/RequerimentoExclusaoLocal.jsx\";\r\nimport DestinoRequerimentoAlteracao from \"../views/Portal/Destino/RequerimentoAlteracao.jsx\";\r\nimport DestinoRequerimentoAumentoCapacidade from \"../views/Portal/Destino/RequerimentoAumentoCapacidade.jsx\";\r\n\r\nimport Duvidas from \"../views/Portal/Duvidas\";\r\nimport Legislacao from \"../views/Portal/Legislacao/index.jsx\";\r\nimport AtualizarContato from '../views/Shared/AtualizarContato.jsx';\r\n\r\n//Carterinhas\r\nimport CarteirinhaVeiculo from \"../views/Carteirinha/CarteirinhaVeiculo.jsx\";\r\nimport CarteirinhaGG from \"../views/Carteirinha/CarteirinhaGG.jsx\";\r\nimport CertificadoTransportador from \"../views/Carteirinha/CertificadoTransportador.jsx\";\r\nimport CertificadoRSS from \"../views/Carteirinha/CertificadoRSS.jsx\";\r\nimport CertificadoTransportadorUnificado from \"../views/Carteirinha/CertificadoTransportadorUnificado.jsx\";\r\nimport CertificadoDestino from \"../views/Carteirinha/CertificadoDestino.jsx\";\r\nimport CertificadoDestinoRGG from \"../views/Carteirinha/CertificadoDestinoRGG.jsx\";\r\nimport QrCodeLocalidadeRGG from \"../views/Carteirinha/QrCodelocalidadeRGG.jsx\";\r\nimport CancelamentoRequerimentos from \"views/Shared/CancelamentoRequerimentos.jsx\";\r\n\r\nvar routes = [\r\n {\r\n path: \"/login\",\r\n name: \"Login\",\r\n icon: \"fas fa-chart-line\",\r\n component: Login,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/esqueceusenha\",\r\n name: \"EsqueceuSenha\",\r\n icon: \"\",\r\n component: EsqueceuSenha,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/trocarsenha\",\r\n name: \"TrocarSenha\",\r\n icon: \"\",\r\n component: TrocarSenha,\r\n layout: \"/admin\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/inicio\",\r\n name: \"Inicio\",\r\n icon: \"fas fa-chart-line\",\r\n component: Inicio,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/dashboard\",\r\n name: \"Dashboard\",\r\n codigoPermissaoAcesso: \"Dashboard\",\r\n icon: \"fas fa-file-contract\",\r\n component: Dashboard,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/Manutencao\",\r\n codigoPermissaoAcesso: \"Manutencao\",\r\n name: \"Manutenção\",\r\n icon: \"fas fa-pen\",\r\n component: ManutencaoForm,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/ConsultaCadastro\",\r\n codigoPermissaoAcesso: \"ConsultaCadastro\",\r\n name: \"Consulta Cadastro\",\r\n icon: \"fas fa-search\",\r\n component: ConsultaCadastro,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/ConsultaVeiculos\",\r\n codigoPermissaoAcesso: \"ConsultaVeiculo\",\r\n name: \"Consulta Veículos\",\r\n icon: \"fas fa-car\",\r\n component: ConsultaVeiculo,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CancelamentoRequerimentos\",\r\n codigoPermissaoAcesso: \"AnaliseRequerimento\",\r\n name: \"Cancelar Requerimentos\",\r\n icon: \"fas fa-ban\",\r\n component: CancelamentoRequerimentos,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/AgendamentoVistoria\",\r\n codigoPermissaoAcesso: \"AgendaVistoria\",\r\n name: \"Agenda de Vistoria\",\r\n icon: \"fas fa-calendar-alt\",\r\n component: AgendamentoVistoriaLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/ExportacaoLauda\",\r\n codigoPermissaoAcesso: \"ExportacaoLauda\",\r\n name: \"Exportação de Lauda\",\r\n icon: \"fas fa-file-export\",\r\n component: ExportacaoLauda,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/manutencaotransportador\",\r\n codigoPermissaoAcesso: \"Manutencao\",\r\n name: \"Manutenção Transportador\",\r\n icon: \"fas fa-truck\",\r\n component: ManutencaoTransportadorLista,\r\n layout: \"/admin\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/manutencaogerador\",\r\n codigoPermissaoAcesso: \"Manutencao\",\r\n name: \"Manutenção Gerador\",\r\n icon: \"fas fa-store-alt\",\r\n component: ManutencaoGeradorLista,\r\n layout: \"/admin\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/manutencaogeradorrss\",\r\n codigoPermissaoAcesso: \"Manutencao\",\r\n name: \"Manutenção Gerador RSS\",\r\n icon: \"fas fa-store-alt\",\r\n component: ManutencaoGeradorRSSLista,\r\n layout: \"/admin\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/manutencaodestino\",\r\n codigoPermissaoAcesso: \"Manutencao\",\r\n name: \"Manutenção Destino Final\",\r\n icon: \"fas fa-store-alt\",\r\n component: ManutencaoDestinoLista,\r\n layout: \"/admin\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CadastroEnquadramento\",\r\n codigoPermissaoAcesso: \"CadastroEnquadramento\",\r\n name: \"Enquadramentos\",\r\n icon: \"fas fa-puzzle-piece\",\r\n component: CadastroEnquadramento,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroDocumentos\",\r\n codigoPermissaoAcesso: \"CadastroDocumentos\",\r\n name: \"Documentos\",\r\n icon: \"fas fa-file-alt\",\r\n component: CadastroDocumentos,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroSolicitacao\",\r\n codigoPermissaoAcesso: \"CadastroSolicitacao\",\r\n name: \"Configuração Solicitação\",\r\n icon: \"fas fa-cog\",\r\n component: CadastroSolicitacaoLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroFluxo\",\r\n codigoPermissaoAcesso: \"CadastroFluxo\",\r\n name: \"Fluxo de Cadastro\",\r\n icon: \"fas fa-sitemap\",\r\n component: CadastroFluxoLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroSubPrefeitura\",\r\n codigoPermissaoAcesso: \"CadastroSubPrefeitura\",\r\n name: \"SubPrefeitura\",\r\n icon: \"fas fa-university\",\r\n component: CadastroSubPrefeitura,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroClassesResiduos\",\r\n codigoPermissaoAcesso: \"CadastroClassesResiduos\",\r\n name: \"Classes e Resíduos\",\r\n icon: \"fas fa-recycle\",\r\n component: CadastroClassesResiduosLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroSetupAgendaVistoria\",\r\n codigoPermissaoAcesso: \"SetupAgenda\",\r\n name: \"Setup Agenda\",\r\n icon: \"fas fa-calendar\",\r\n component: CadastroSetupAgendaVistoria,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/CadastroDiasNaoUteis\",\r\n codigoPermissaoAcesso: \"CadastroDiasNaoUteis\",\r\n name: \"Dias Não Úteis\",\r\n icon: \"far fa-calendar-times\",\r\n component: CadastroDiasNaoUteis,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/Perfis\",\r\n codigoPermissaoAcesso: \"Perfis\",\r\n name: \"Cadastro de Perfil\",\r\n icon: \"fas fa-users\",\r\n component: PerfilLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/Usuarios\",\r\n codigoPermissaoAcesso: \"Usuarios\",\r\n name: \"Cadastro de Usuários\",\r\n icon: \"fas fa-user\",\r\n component: UsuarioLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/Relatorios\",\r\n codigoPermissaoAcesso: \"Relatorios\",\r\n name: \"Relatórios\",\r\n icon: \"fas fa-file-alt\",\r\n component: RelatoriosLista,\r\n layout: \"/admin\",\r\n sidebar: true\r\n },\r\n {\r\n path: \"/Opcoes\",\r\n name: \"Opções\",\r\n component: PortalOpcoes,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/duvidas\",\r\n name: \"Duvidas\",\r\n component: Duvidas,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/legislacoes\",\r\n name: \"Legislação\",\r\n component: Legislacao,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimento\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoNovoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimentoRenovacao\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoRenovacaoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimentoInclusaoVeiculo\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoInclusaoVeiculo,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimentoExclusaoVeiculo\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoExclusaoVeiculo,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimentoAlteracao\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoAlteracao,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimentoAlteracaoIdentificacao\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoAlteracaoIdentificacao,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/AtualizarContato\",\r\n name: \"Atualizar Contato\",\r\n component: AtualizarContato,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/TransportadorRequerimentoAlteracaoEquipamentos\",\r\n name: \"Transportador\",\r\n component: TransportadorRequerimentoAlteracaoEquipamentos,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/MeuCadastro\",\r\n name: \"Meu Cadastro\",\r\n component: MeuCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/ConsultaRequerimento\",\r\n name: \"Consulta de Requerimento\",\r\n icon: \"fas fa-search\",\r\n component: ConsultaRequerimento,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CarteirinhaVeiculo\",\r\n name: \"Carteirinha\",\r\n icon: \"\",\r\n component: CarteirinhaVeiculo,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRequerimento\",\r\n name: \"Gerador\",\r\n component: GeradorRequerimentoNovoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRequerimentoRenovacao\",\r\n name: \"Gerador\",\r\n component: GeradorRequerimentoRenovacaoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRequerimentoInclusaoLocal\",\r\n name: \"Gerador\",\r\n component: GeradorRequerimentoInclusaoLocal,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRequerimentoExclusaoLocal\",\r\n name: \"Gerador\",\r\n component: GeradorRequerimentoExclusaoLocal,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRequerimentoAlteracaoCadastro\",\r\n name: \"Gerador\",\r\n component: GeradorRequerimentoAlteracaoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CarteirinhaGG\",\r\n name: \"Carteirinha\",\r\n icon: \"\",\r\n component: CarteirinhaGG,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/QrCodelocalidadeRGG\",\r\n name: \"Carteirinha\",\r\n icon: \"\",\r\n component: QrCodeLocalidadeRGG,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRSSRequerimento\",\r\n name: \"Gerador\",\r\n component: GeradorRSSRequerimentoNovoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/GeradorRSSRequerimentoAlteracao\",\r\n name: \"Gerador\",\r\n component: GeradorRSSRequerimentoAlteracao,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/DestinoRequerimento\",\r\n name: \"Destino\",\r\n component: DestinoRequerimentoNovoCadastro,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/DestinoRequerimentoInclusaoLocal\",\r\n name: \"Destino\",\r\n component: DestinoRequerimentoInclusaoLocal,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/DestinoRequerimentoRenovacao\",\r\n name: \"Destino\",\r\n component: DestinoRequerimentoRenovacao,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/DestinoRequerimentoExclusaoLocal\",\r\n name: \"Destino\",\r\n component: DestinoRequerimentoExclusaoLocal,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/DestinoRequerimentoAlteracao\",\r\n name: \"Destino\",\r\n component: DestinoRequerimentoAlteracao,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/DestinoRequerimentoAumentoCapacidade\",\r\n name: \"Destino\",\r\n component: DestinoRequerimentoAumentoCapacidade,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CertificadoRSS\",\r\n name: \"CertificadoRSS\",\r\n icon: \"\",\r\n component: CertificadoRSS,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CertificadoTransportador\",\r\n name: \"CertificadoTransportador\",\r\n icon: \"\",\r\n component: CertificadoTransportador,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CertificadoTransportadorUnificado\",\r\n name: \"CertificadoTransportadorUnificado\",\r\n icon: \"\",\r\n component: CertificadoTransportadorUnificado,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CertificadoDestino\",\r\n name: \"CertificadoDestino\",\r\n icon: \"\",\r\n component: CertificadoDestino,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/CateirinhaDestinoRGG\",\r\n name: \"CertificadoDestinoRGG\",\r\n icon: \"\",\r\n component: CertificadoDestinoRGG,\r\n layout: \"/Empty\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/RequerimentoCancelamento\",\r\n name: \"Cancelamento\",\r\n component: RequerimentoCancelamento,\r\n layout: \"/auth\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/ComprovantePagamento\",\r\n name: \"Comprovante de Pagamento\",\r\n icon: \"\",\r\n component: AnexoComprovantePagamento,\r\n layout: \"/external\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/AgendamentoVistoria\",\r\n name: \"Agendamento de Vistoria\",\r\n icon: \"\",\r\n component: AgendamentoVistoriaPortal,\r\n layout: \"/external\",\r\n sidebar: false\r\n },\r\n {\r\n path: \"/prototipo\",\r\n name: \"Implantação Datasys\",\r\n icon: \"\",\r\n component: ImplantacaoDatasys,\r\n layout: \"/external\",\r\n sidebar: false\r\n },\r\n\r\n];\r\nexport default routes;\r\n","import React from \"react\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport { Nav } from \"reactstrap\";\r\nimport PerfectScrollbar from \"perfect-scrollbar\";\r\n\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\nvar ps;\r\n\r\n\r\nclass Sidebar extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.activeRoute.bind(this);\r\n this.sidebar = React.createRef();\r\n }\r\n activeRoute(routeName) {\r\n return this.props.location.pathname.indexOf(routeName) > -1 ? \"active\" : \"\";\r\n }\r\n componentDidMount() {\r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps = new PerfectScrollbar(this.sidebar.current, {\r\n suppressScrollX: true,\r\n suppressScrollY: false,\r\n });\r\n }\r\n }\r\n componentWillUnmount() {\r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps.destroy();\r\n }\r\n }\r\n render() {\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n Gestão de Cadastros\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Sidebar;\r\n","import React from \"react\";\r\n// javascript plugin used to create scrollbars on windows\r\nimport PerfectScrollbar from \"perfect-scrollbar\";\r\nimport { Route, Switch } from \"react-router-dom\";\r\n\r\nimport Navbar from \"components/Navbars/Navbar\";\r\nimport Footer from \"components/Footer/Footer\";\r\nimport Sidebar from \"components/Sidebar/Sidebar\";\r\nimport { getSessionCookie } from \"services/session.js\";\r\nimport { api_GET } from \"services/api_service.js\";\r\n\r\n//Routes\r\nimport routes from \"../routes/routes\";\r\n\r\nvar ps;\r\n\r\nclass Admin extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n backgroundColor: \"black\",\r\n activeColor: \"info\",\r\n };\r\n this.mainPanel = React.createRef();\r\n }\r\n componentDidMount() {\r\n this.validaPermissaoAcesso(); \r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps = new PerfectScrollbar(this.mainPanel.current);\r\n document.body.classList.toggle(\"perfect-scrollbar-on\");\r\n }\r\n }\r\n componentWillUnmount() { \r\n if (navigator.platform.indexOf(\"Win\") > -1) {\r\n ps.destroy();\r\n document.body.classList.toggle(\"perfect-scrollbar-on\");\r\n }\r\n }\r\n componentDidUpdate(e) {\r\n if (e.history.action === \"PUSH\") {\r\n this.mainPanel.current.scrollTop = 0;\r\n document.scrollingElement.scrollTop = 0;\r\n }\r\n } \r\n handleActiveClick = (color) => {\r\n this.setState({ activeColor: color });\r\n };\r\n handleBgClick = (color) => {\r\n this.setState({ backgroundColor: color });\r\n };\r\n\r\n validaPermissaoAcesso = () => { \r\n let session = getSessionCookie();\r\n if (session && session.tipoAcesso == \"Protocolo\")\r\n {\r\n this.props.history.push('/auth/login');\r\n return;\r\n } \r\n\r\n api_GET('usuario/ListaAcessoFuncionalidades/' + session.usuario_Id).then(result => {\r\n if (result.status === 200)\r\n {\r\n let newRoutes = [];\r\n //f => f.path.replace(\"/\", \"\") != \"inicio\" && f.path.replace(\"/\", \"\") != \"trocarsenha\")\r\n routes.map(m => {\r\n if (m.path == \"/inicio\" || m.path == \"/trocarsenha\")\r\n newRoutes.push(m);\r\n else if (session.login == \"csj\")\r\n newRoutes.push(m); \r\n else if (result.data.filter(f => f == m.codigoPermissaoAcesso).length > 0)\r\n newRoutes.push(m);\r\n });\r\n this.setState({routes: newRoutes});\r\n }\r\n });\r\n\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n {this.state.routes != null &&\r\n \r\n }\r\n
\r\n \r\n \r\n {this.state.routes != null && this.state.routes.map((prop, key) => {\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\nexport default Admin;\r\n","import React, { useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Cookies from 'js-cookie';\r\n\r\n// components\r\nimport { Card, CardBody, Row, Col, Container, FormGroup, Form, Input, Button } from \"reactstrap\";\r\nimport { showMessage } from \"services/message.js\";\r\n\r\n// services\r\nimport { api_POST } from \"services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function Login({ history }) {\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const { signIn, signOut, setLoading, setupSistema } = useAuth()\r\n\r\n useEffect(() => {\r\n signOut(false, null);\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n if (data.login == \"\" || data.senha == \"\") {\r\n showMessage(\"Aviso\", \"Informe o login e senha!\", 'warning', null);\r\n return;\r\n }\r\n\r\n let jsonSubmit = {\r\n login: data.login,\r\n password: data.senha\r\n }\r\n\r\n setLoading(true);\r\n api_POST(`Authenticate/AutenticarUsuarioInterno/`, jsonSubmit)\r\n .then(result => {\r\n if (result.data == null) {\r\n showMessage(\"Aviso\", \"Usuário/Senha não encontrado\", 'warning', null);\r\n }\r\n else {\r\n Cookies.remove(\"filtroModalidade\");\r\n signIn(result.data);\r\n history.push(\"/admin/inicio\");\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n

BEM VINDO

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

Gestão de Cadastro - {setupSistema && setupSistema.identificacao}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { history.push(\"/auth/esqueceusenha\"); }}>Esqueci a 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
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// components\r\nimport { Card, CardBody, Row, Col, Container, FormGroup, Form, Input, Button } from \"reactstrap\";\r\nimport { showMessage } from \"services/message.js\";\r\n \r\n\r\n// services\r\nimport { api_PUT } from \"services/api_service.js\";\r\nimport { useAuth } from \"context/auth\";\r\n\r\nexport default function Login({ history }) {\r\n const { setLoading, signOut, setupSistema } = useAuth();\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n useEffect(() => {\r\n signOut(false, null);\r\n }, []);\r\n\r\n const onSubmit = (data) => {\r\n let new_password = Math.random().toString(36).slice(-8);\r\n let json_post = {\r\n email: data.email,\r\n password: new_password\r\n }\r\n\r\n setLoading(true);\r\n api_PUT(`usuario/EsqueceuSenha`, json_post)\r\n .then(result => showMessage(\"Atenção\", \"Uma senha temporária foi enviada para seu email\", 'success', function () { history.push(\"/auth/login\") }))\r\n .catch(err => showMessage(\"Atenção\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n

BEM VINDO

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

Gestão de Cadastro - {setupSistema && setupSistema.identificacao}

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n { history.push(\"/auth/login\"); }}>Voltar\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \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 { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Form, Row, Col, Input, Button, FormGroup, InputGroupAddon, InputGroupText, InputGroup } from \"reactstrap\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_PUT } from \"services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth';\r\n\r\nexport default function TrocarSenha({ history }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const onSubmit = (data) => {\r\n if (data.novaSenha.length < 5) {\r\n showMessage(\"Atenção\", \"Informe uma senha com pelo menos 5 dígitos!\", 'warning', null);\r\n return;\r\n }\r\n\r\n if (data.novaSenha != data.confirmarSenha) {\r\n showMessage(\"Atenção\", \"A confirmação da senha não confere com a nova senha!\", 'warning', null);\r\n return;\r\n }\r\n\r\n let jsonSubmit = {\r\n usuario_Id: session.usuario_Id,\r\n password: data.novaSenha,\r\n password_antiga: data.senha\r\n }\r\n\r\n setLoading(true);\r\n api_PUT(`usuario/alterarsenha/`, jsonSubmit)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Senha alterada com sucesso!\", 'success', null);\r\n setValue(\"senha\", \"\");\r\n setValue(\"novaSenha\", \"\");\r\n setValue(\"confirmarSenha\", \"\");\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(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 \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.senha && * Campo Obrigatório}\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.novaSenha && * Campo Obrigatório}\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.confirmarSenha && * Campo Obrigatório}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n}","import React, { useState, useEffect } from \"react\";\r\n\r\nimport Cookies from 'js-cookie';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, CardFooter, Row, Col, Button, Collapse } from \"reactstrap\";\r\n\r\n\r\n// helpers\r\nimport { formateDateandTime } from \"helpers/formats.js\";\r\nimport moment from \"moment\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET } from \"services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"services/acesso\";\r\n\r\n// views\r\nimport AcompanhamentoLista from \"../../views/Acompanhamento/Lista\";\r\n\r\n//Component\r\nimport TextField from \"../../components/TextField/TextField\";\r\nimport { useAuth } from \"context/auth\";\r\n\r\nfunction initialStateFiltro() {\r\n return {\r\n modalidade: \"Todos\"\r\n }\r\n}\r\nexport default function Inicio({ history }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const [visualizarTela, setVisualizarTela] = useState(false)\r\n\r\n const [categorias, set_categorias] = useState([]);\r\n\r\n const [requerimentos, set_requerimentos] = useState([]);\r\n const [acao, set_acao] = useState(\"\");\r\n\r\n const [categoria, set_categoria] = useState(\"\");\r\n\r\n const [setupSolicitacao_Id, set_setupSolicitacao_Id] = useState(null);\r\n\r\n // options de modalidade\r\n const [optionsModalidade, setOptionsModalidade] = useState([\r\n { text: \"Todos\", value: \"Todos\" },\r\n { text: \"RCC\", value: \"RCC\" },\r\n { text: \"RGG\", value: \"RGG\" },\r\n { text: \"RSS\", value: \"RSS\" },\r\n ]);\r\n\r\n //State para abrir os card \r\n const [abrirCard, setAbrirCard] = useState([]);\r\n\r\n //State para pegar a modalidade\r\n const [filtro, setFiltro] = useState(initialStateFiltro());\r\n\r\n const loadIndicadores = () => {\r\n setLoading(true);\r\n const savedModalidade = Cookies.get('filtroModalidade');\r\n // Checando se a modalidade está salva nos cookies\r\n api_GET(`categoria/GetListByExistsSetupSolicitacaoByUsuario/${session.usuario_Id}/${savedModalidade ?? \"Todos\"}`)\r\n .then(result => {\r\n if (savedModalidade) {\r\n setFiltro({ modalidade: savedModalidade });\r\n }\r\n set_categorias(result.data);\r\n\r\n let solitacoes = result.data.map(({ setupSolicitacoes }) => setupSolicitacoes)\r\n .flat()\r\n .map(({ setupSolicitacao_Id }) => setupSolicitacao_Id)\r\n .sort((a, b) => a - b);\r\n\r\n const _abriCard = solitacoes.reduce((acc, v) => {\r\n acc.push({\r\n setupSolicitacao_Id: v,\r\n visivel: false\r\n });\r\n return acc;\r\n }, []);\r\n\r\n setAbrirCard(_abriCard);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadIndicadores();\r\n ValidaAcessoFuncionalidadeAcao(\"AnaliseRequerimento.Visualizar\", function (result) { setVisualizarTela(result) });\r\n }, []);\r\n\r\n const [listFilter, set_listFilter] = useState([])\r\n const openDetalhesIndicador = (tipo, setupSolicitacaoAcao_Id) => {\r\n set_listFilter(requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == categoria.categoria_Id\r\n && f.fluxoCadastroEtapaAtual != null && f.fluxoCadastroEtapaAtual.tipo == tipo\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == setupSolicitacaoAcao_Id));\r\n }\r\n\r\n const handleReturn = () => {\r\n set_requerimentos([]);\r\n setFiltro(initialStateFiltro());\r\n set_listFilter([]);\r\n set_detalhadoIndicador(null);\r\n loadIndicadores();\r\n }\r\n\r\n const [detalhadoIndicador, set_detalhadoIndicador] = useState(null);\r\n const loadDetalhadoIndicador = (_categoria, _acao, setupSolicitacao_Id) => {\r\n set_acao(_acao.acao);\r\n set_categoria(_categoria);\r\n set_setupSolicitacao_Id(setupSolicitacao_Id);\r\n let indicador = [];\r\n requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == _categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == _categoria.categoria_Id\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == _acao.setupSolicitacaoAcao_Id && f.fluxoCadastroEtapaAtual != null).map(m => {\r\n if (indicador.filter(i => i.tipo == m.fluxoCadastroEtapaAtual.tipo).length == 0)\r\n indicador.push({ tipo: m.fluxoCadastroEtapaAtual.tipo, ordem: m.fluxoCadastroEtapaAtual.ordem, setupSolicitacaoAcao_Id: m.setupSolicitacaoAcao_Id });\r\n });\r\n\r\n for (var i in indicador) {\r\n indicador[i].qtdNoPrazo = requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == _categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == _categoria.categoria_Id\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == _acao.setupSolicitacaoAcao_Id && f.fluxoCadastroEtapaAtual != null && f.fluxoCadastroEtapaAtual.tipo == indicador[i].tipo\r\n && moment(f.dataUltimaAcao).add('days', f.fluxoCadastroEtapaAtual.prazoResponsividade).isAfter(moment(new Date()), 'day') == true).length;\r\n indicador[i].qtdForaDoPrazo = requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == _categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == _categoria.categoria_Id\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == _acao.setupSolicitacaoAcao_Id && f.fluxoCadastroEtapaAtual != null && f.fluxoCadastroEtapaAtual.tipo == indicador[i].tipo\r\n && moment(f.dataUltimaAcao).add('days', f.fluxoCadastroEtapaAtual.prazoResponsividade).isAfter(moment(new Date()), 'day') == false).length;\r\n }\r\n\r\n set_detalhadoIndicador(indicador);\r\n if (indicador.length == 0) {\r\n showMessage(\"Aviso\", \"Nenhum registro para ser exibido!\", 'warning', null);\r\n }\r\n }\r\n\r\n\r\n function MontaCard(categoria, solicitacaoAcoes, setupSolicitacao_Id) {\r\n return solicitacaoAcoes?.filter(acao => acao.status == \"Ativo\")?.map((value, index) => (\r\n \r\n \r\n \r\n \r\n \r\n
{value.identificacao}
\r\n

Ultima Atualização:\r\n {\r\n requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == categoria.categoria_Id\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == value.setupSolicitacaoAcao_Id && f.dataUltimaAcao != null)\r\n .sort(function (a, b) { return new Date(b.dataUltimaAcao) - new Date(a.dataUltimaAcao); }).length > 0 &&\r\n formateDateandTime(requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == categoria.categoria_Id\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == value.setupSolicitacaoAcao_Id && f.dataUltimaAcao != null)\r\n .sort(function (a, b) { return new Date(b.dataUltimaAcao) - new Date(a.dataUltimaAcao); }).reverse()[0].dataUltimaAcao)\r\n }\r\n

\r\n \r\n \r\n
\r\n {requerimentos.filter(f => f.setupSolicitacaoAcao.setupSolicitacao.segmento == categoria.segmento\r\n && f.setupSolicitacaoAcao.setupSolicitacao.categoria_Id == categoria.categoria_Id\r\n && f.setupSolicitacaoAcao.setupSolicitacaoAcao_Id == value.setupSolicitacaoAcao_Id).length}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n ))\r\n }\r\n\r\n function MontaDetalhes(_categoria, _setupSolicitacao_Id) {\r\n return \r\n \r\n
{acao}
\r\n
\r\n \r\n \r\n {detalhadoIndicador != null && detalhadoIndicador.sort(function (a, b) { return a.ordem - b.ordem; }).map((m, key) => (\r\n \r\n openDetalhesIndicador(m.tipo, m.setupSolicitacaoAcao_Id)}>\r\n \r\n
{m.tipo}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ))\r\n }\r\n
\r\n
\r\n }\r\n\r\n const handleFiltroModalidade = (e) => {\r\n const { name, value } = e.target;\r\n\r\n setFiltro({\r\n ...filtro,\r\n [name]: value\r\n });\r\n\r\n setLoading(true);\r\n api_GET(`categoria/GetListByExistsSetupSolicitacaoByUsuario/${session.usuario_Id}/${value}`)\r\n .then(result => set_categorias(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n\r\n // Salva a modalidade nos cookies\r\n Cookies.set('filtroModalidade', value, { expires: 365, path: '/' });\r\n\r\n }\r\n\r\n function handleRequerimentoSetupSolicitacoes(setupSolicitacao) {\r\n let _cards = [...abrirCard];\r\n let _card = abrirCard.find(x => x.setupSolicitacao_Id === setupSolicitacao.setupSolicitacao_Id);\r\n _card.visivel = !_card.visivel;\r\n setAbrirCard([..._cards]);\r\n\r\n if (_card.visivel) {\r\n setLoading(true);\r\n api_GET(`requerimento/GetByAcompanhamentoSetupSolicitacao/${session.usuario_Id}/${setupSolicitacao.setupSolicitacao_Id}`)\r\n .then(result => {\r\n // Verifica se o requerimento já está na lista\r\n const existiRequerimento = requerimentos.findIndex(req => req.setupSolicitacaoAcao.setupSolicitacao_Id === setupSolicitacao.setupSolicitacao_Id);\r\n if (existiRequerimento === -1) {\r\n set_requerimentos([...requerimentos, ...result.data]);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else {\r\n set_requerimentos(requerimentos.filter(req => req.setupSolicitacaoAcao.setupSolicitacao_Id !== setupSolicitacao.setupSolicitacao_Id));\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {listFilter.length == 0 && visualizarTela &&\r\n
\r\n \r\n \r\n Modalidades}\r\n type={\"select\"}\r\n options={optionsModalidade}\r\n value={filtro.modalidade}\r\n onChange={handleFiltroModalidade}\r\n />\r\n \r\n \r\n {categorias.map((m, _) => (\r\n <>\r\n {m?.setupSolicitacoes?.map((s, index) => {\r\n const isOpen = abrirCard.some(item => item.setupSolicitacao_Id === s.setupSolicitacao_Id && item.visivel);\r\n return (\r\n \r\n \r\n handleRequerimentoSetupSolicitacoes(s)}\r\n >\r\n
\r\n
\r\n {m.descricao == \"RSS\" ?\r\n m.segmento.replace(\"Grande\", \"\") : m.segmento} - {m.descricao} (Pessoa {s.pessoa})\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {isOpen && (\r\n
\r\n \r\n {MontaCard(m, s.solicitacaoAcoes, s.setupSolicitacao_Id)}\r\n \r\n \r\n \r\n {MontaDetalhes(m, s.setupSolicitacao_Id)}\r\n \r\n \r\n
\r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n ))}\r\n \r\n }\r\n\r\n {listFilter.length > 0 &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\n\r\n// reactstrap components\r\nimport { Card, CardHeader, CardBody, Row, Col } from \"reactstrap\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\n\r\n// api\r\nimport { api_GET } from \"../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth';\r\n\r\nexport default function ManutencaoForm({ history }) {\r\n\r\n const { session } = useAuth();\r\n\r\n const [opcoes, set_opcoes] = React.useState([]);\r\n\r\n const LoadOpcoes = () => {\r\n api_GET(`categoria/GetListByExistsSetupSolicitacaoByUsuario/${session.usuario_Id}`)\r\n .then(result => set_opcoes(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n useEffect(() => {\r\n LoadOpcoes();\r\n }, []);\r\n\r\n const handleClickOpcao = (opcao) => {\r\n let _setupSolicitacao = []\r\n let _tipoPessoa = {\r\n \"Física\": \"Pessoa Física\",\r\n \"Jurídica\": \"Pessoa Jurídica (Privada)\",\r\n \"Pública\": \"Pessoa Jurídica (Pública)\"\r\n }\r\n _setupSolicitacao = opcao.setupSolicitacoes.map(({ setupSolicitacao_Id, pessoa }) => {\r\n\r\n return { setupSolicitacao_Id, value: pessoa, label: _tipoPessoa[pessoa] }\r\n })\r\n switch (opcao.segmento) {\r\n case \"Transportador\":\r\n history.push({ pathname: \"manutencaotransportador\", state: { categoria: opcao } });\r\n break;\r\n case \"Grande Gerador\":\r\n if (opcao.sigla == \"RSS\")\r\n history.push({ pathname: \"manutencaogeradorrss\", state: { categoria: opcao, setupSolicitacao: _setupSolicitacao } });\r\n else\r\n history.push({ pathname: \"manutencaogerador\", state: { categoria: opcao } });\r\n break;\r\n case \"Destino Final\":\r\n history.push({ pathname: \"manutencaodestino\", state: { categoria: opcao } });\r\n break;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {opcoes.map((m, key) => (\r\n \r\n \r\n \r\n {m.descricao == \"RSS\" ? m.segmento.replace(\"Grande\", \"\") : m.segmento}\r\n \r\n \r\n \r\n \r\n {m.descricao}\r\n
handleClickOpcao(m)}>\r\n \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 } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\nimport MaterialTable from 'material-table';\r\n\r\n// Reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Input, Row, Col } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { InputCEP } from \"../../services/mask.js\";\r\nimport { api_GET, api_POST } from \"../../services/api_service.js\";\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { GetCEPViaCEP } from \"../../services/viaCep.js\";\r\n\r\n// views\r\nimport FichaTransportador from \"../Shared/Transportador/FichaTransportador\";\r\nimport FichaGerador from \"../Shared/Gerador/FichaGerador\";\r\nimport FichaDestino from \"../Shared/Destino/FichaDestino\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function ConsultaCadastro({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const { register, errors, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [listProtocolos, set_listProtocolos] = React.useState(null);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n // mostra campos de enderenço\r\n const [inputMostra, setInputMostra] = React.useState(false);\r\n\r\n // Segmento\r\n const [segmento, set_segmento] = React.useState(\"\");\r\n const [options_segmento] = React.useState([\r\n { value: \"Destino Final\", label: \"Destino Final\" },\r\n { value: \"Grande Gerador\", label: \"Grande Gerador\" },\r\n { value: \"Transportador\", label: \"Transportador\" },\r\n ]);\r\n const handleSegmento = (value) => {\r\n set_segmento(value);\r\n setValue(\"segmento\", value, true);\r\n clearErrors(\"segmento\");\r\n loadOptionsCategoria(value);\r\n set_categoria(null);\r\n }\r\n\r\n // CEP\r\n const [cep, set_cep] = React.useState(\"\");\r\n const handleCEP = (event) => {\r\n set_cep(event.target.value);\r\n\r\n if (event.target.value.replaceAll(\"_\", \"\").length != 9)\r\n return;\r\n\r\n clearErrors(\"cep\");\r\n\r\n GetCEPViaCEP(event.target.value).then(result => {\r\n if (result.status !== 200 || (result.data.hasOwnProperty('erro') && result.data.erro == true)) {\r\n showMessage(\"Aviso\", \"Cep não localizado\", 'warning', null);\r\n setValue(\"logradouro\", \"\");\r\n setValue(\"bairro\", \"\");\r\n }\r\n else {\r\n setValue(\"logradouro\", result.data.logradouro);\r\n setValue(\"bairro\", result.data.bairro);\r\n }\r\n });\r\n }\r\n\r\n // Categoria\r\n const [categoria, set_categoria] = React.useState(null);\r\n const [options_categoria, set_options_categoria] = React.useState([]);\r\n const loadOptionsCategoria = (_segmento) => {\r\n api_GET(`Categoria/GetListByExistsSetupSolicitacaoByUsuario/${session.usuario_Id}`)\r\n .then(result => set_options_categoria(result.data.filter(f => f.segmento == _segmento)))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n const handleCategoria = (value) => {\r\n set_categoria(value);\r\n setValue(\"categoria\", value, true);\r\n clearErrors(\"categoria\");\r\n }\r\n\r\n const handlePesquisar = () => {\r\n if (segmento == \"\") {\r\n showMessage(\"Aviso\", \"Informe o segmento!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (categoria == \"\") {\r\n showMessage(\"Aviso\", \"Informe a categoria!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (categoria == \"RSS\" && segmento != \"Grande Gerador\") {\r\n showMessage(\"Aviso\", \"Cadastro não disponível no sistema!\", 'error', null);\r\n return;\r\n }\r\n\r\n let data = getValues();\r\n\r\n if (data.cpf_cnpj.length == 0 && data.codigoCadastro.length == 0 && data.nomeResponsavel.length == 0 && data.nomeFantasia.length == 0 &&\r\n data.razaoSocial.length == 0 && data.cep == undefined && data.logradouro == undefined && data.bairro == undefined && data.placa == undefined) {\r\n showMessage(\"Aviso\", \"Informe ao menos um dos campos!\", 'error', null);\r\n return;\r\n }\r\n\r\n set_protocolo(null);\r\n setLoading(true);\r\n\r\n\r\n const json_submit = {\r\n cpfcnpj: (data.cpf_cnpj.length == 0 ? \"0\" : data.cpf_cnpj),\r\n segmento: segmento,\r\n categoria_Id: categoria,\r\n codigoCadastro: (data.codigoCadastro.length == 0 ? \"0\" : data.codigoCadastro),\r\n nomeResponsavel: (data.nomeResponsavel.length == 0 || data.nomeResponsavel.trimStart() == \"\" ? \"0\" : data.nomeResponsavel),\r\n nomeFantasia: (data.nomeFantasia.length == 0 || data.nomeFantasia.trimStart() == \"\" ? \"0\" : data.nomeFantasia),\r\n razaoSocial: (data.razaoSocial.length == 0 || data.razaoSocial.trimStart() == \"\" ? \"0\" : data.razaoSocial),\r\n cep: (data.cep == undefined || data.cep.length == 0 || data.cep.trimStart() == \"\" ? \"0\" : data.cep),\r\n logradouro: (data.logradouro == undefined || data.logradouro.length == 0 || data.logradouro.trimStart() == \"\" ? \"0\" : data.logradouro),\r\n bairro: (data.bairro == undefined || data.bairro.length == 0 || data.bairro.trimStart() == \"\" ? \"0\" : data.bairro),\r\n numero: (data.numero == undefined || data.numero.length == 0 || data.numero.trimStart() == \"\" ? \"0\" : data.numero),\r\n placa: (data.placa == undefined || data.placa.length == 0 || data.placa.trimStart() == \"\" ? \"0\" : data.placa),\r\n }\r\n\r\n api_POST(\"protocolo/ByDocumento\", json_submit)\r\n .then(result => set_listProtocolos(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleColumnRazaoSocial = (rowData) => {\r\n if (rowData.protocoloTransportador && rowData.protocoloTransportador.length > 0) {\r\n return rowData.protocoloTransportador[0].nome_Fantasia;\r\n }\r\n else if (rowData.protocoloGerador && rowData.protocoloGerador.length > 0) {\r\n return rowData.protocoloGerador[0].nome_Fantasia;\r\n }\r\n else if (rowData.protocoloDestino && rowData.protocoloDestino.length > 0) {\r\n return rowData.protocoloDestino[0].nome_Fantasia;\r\n }\r\n }\r\n\r\n const handleColumnResponsavel = (rowData) => {\r\n if (rowData.protocoloTransportador && rowData.protocoloTransportador.length > 0) {\r\n return rowData.protocoloTransportador[0].nomeResponsavel;\r\n }\r\n else if (rowData.protocoloGerador && rowData.protocoloGerador.length > 0) {\r\n return rowData.protocoloGerador[0].nomeResponsavel;\r\n }\r\n else if (rowData.protocoloDestino && rowData.protocoloDestino.length > 0) {\r\n return rowData.protocoloDestino[0].nomeResponsavel;\r\n }\r\n }\r\n\r\n const handleColumnEndereco = (rowData) => {\r\n if (rowData.protocoloTransportador && rowData.protocoloTransportador.length > 0) {\r\n return rowData.protocoloTransportador[0].logradouro + \", \" +\r\n rowData.protocoloTransportador[0].numEndereco + \", \" +\r\n rowData.protocoloTransportador[0].bairro;\r\n }\r\n else if (rowData.protocoloGerador && rowData.protocoloGerador.length > 0) {\r\n return rowData.protocoloGerador[0].logradouro + \", \" +\r\n rowData.protocoloGerador[0].numEndereco + \", \" +\r\n rowData.protocoloGerador[0].bairro;\r\n }\r\n else if (rowData.protocoloDestino && rowData.protocoloDestino.length > 0) {\r\n return rowData.protocoloDestino[0].logradouro + \", \" +\r\n rowData.protocoloDestino[0].numEndereco + \", \" +\r\n rowData.protocoloDestino[0].bairro;\r\n }\r\n }\r\n\r\n const handleView = (rowData) => {\r\n set_protocolo(rowData);\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 { handleSegmento(e.value) }}\r\n value={segmento != \"\" && options_segmento.find(obj => obj.value === segmento)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"segmento\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.segmento && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n option.descricao}\r\n getOptionValue={option => option.categoria_Id}\r\n onChange={(e) => { handleCategoria(e.categoria_Id) }}\r\n value={categoria != null && options_categoria.find(obj => obj.categoria_Id === categoria)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"categoria\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.categoria && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {segmento == \"Transportador\" &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {inputMostra && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {!protocolo && listProtocolos && listProtocolos.length > 0 &&\r\n \r\n \r\n {segmento == \"Transportador\" && listProtocolos.filter(f => f.status == \"Ativo\").length > 0 && setupSistema && setupSistema.tipoCertificadoTransportador == \"Unificado\" &&\r\n
\r\n
\r\n
Clique no QRCode abaixo para extrair o Certificado
\r\n window.open(\"/empty/CertificadoTransportadorUnificado?protocolo=\" + listProtocolos[0].numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x\">\r\n
\r\n
\r\n }\r\n \r\n \r\n handleColumnRazaoSocial(rowData) },\r\n { title: 'Responsável', render: (rowData) => handleColumnResponsavel(rowData) },\r\n { title: 'Endereço', render: (rowData) => handleColumnEndereco(rowData) }\r\n ]}\r\n data={listProtocolos}\r\n isLoading={false}\r\n options={{\r\n filtering: false,\r\n exportButton: true,\r\n table_style\r\n }}\r\n actions={[\r\n {\r\n icon: 'search',\r\n tooltip: 'Visualizar Registro',\r\n onClick: (event, rowData) => handleView(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n
\r\n }\r\n
\r\n
\r\n {protocolo != null && segmento == \"Transportador\" &&\r\n \r\n }\r\n {protocolo != null && segmento == \"Grande Gerador\" &&\r\n \r\n }\r\n {protocolo != null && segmento == \"Destino Final\" &&\r\n \r\n }\r\n
\r\n \r\n );\r\n}","import MaterialTable from 'material-table';\r\nimport React, { useState } from 'react';\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// Reactstrap components\r\nimport { Card, CardBody, FormGroup, Input, Row, Col, Form, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from '../../services/message';\r\nimport { api_GET } from '../../services/api_service';\r\nimport { formateDate } from \"../../helpers/formats\";\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth';\r\n\r\n\r\nexport default function ConsultaVeiculo() {\r\n const { setLoading } = useAuth();\r\n\r\n const { register, handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const [listVeiculos, setlistVeiculos] = useState([]);\r\n\r\n const onSubmit = (data) => {\r\n const { cpf_cnpj, placa } = data;\r\n\r\n if (cpf_cnpj.length === 0 && placa.length === 0) {\r\n showMessage(\"Aviso\", \"Preencher pelos menos um filtros\", \"error\", null);\r\n return;\r\n }\r\n\r\n const cpfcnpj = cpf_cnpj.length === 0 ? null : cpf_cnpj;\r\n const placaVeiculo = placa.length === 0 ? null : placa;\r\n\r\n setLoading(true);\r\n api_GET(`protocoloTransportador/ConsultaVeiculoTransportador/${cpfcnpj}/${placaVeiculo}`).then(result => {\r\n if (result.data && result.data.length === 0) {\r\n showMessage(\"Aviso\", \"Cadastro não localizado no sistema!\", \"error\", null);\r\n return;\r\n }\r\n\r\n // Formatar dataValidadeVistoria para o formato dd/mm/aaaa\r\n result.data.map(m => {\r\n m.dataValidadeTransportador = formateDate(m.dataValidadeTransportador)\r\n })\r\n\r\n setlistVeiculos(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", \"Não foi localizado nenhum veiculo com dados informados\", 'error', null))\r\n .finally(() => setLoading(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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n Pesquisar\r\n \r\n
\r\n \r\n
\r\n
\r\n {listVeiculos.length > 0 &&\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 moment from \"moment\";\r\n\r\n// reactstrap components\r\nimport {\r\n CardBody,\r\n Row,\r\n Col,\r\n} from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"services/acesso.js\";\r\n\r\nimport { useAuth } from 'context/auth.js';\r\nimport AcompanhamentoLista from 'views/Acompanhamento/Lista';\r\n\r\nexport default function CancelamentoRequerimentos({ history }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const [visualizarTela, setVisualizarTela] = useState(false)\r\n\r\n const [requerimentos, setRequerimentos] = useState([])\r\n\r\n const formateDate = (date) => {\r\n return moment(date).format('DD/MM/YYYY');\r\n };\r\n\r\n const handleReturn = () => {\r\n setRequerimentos([]);\r\n loadRequerimentos();\r\n }\r\n\r\n const loadRequerimentos = () => {\r\n setLoading(true)\r\n api_GET('requerimento/GetCancelamentoRequerimentos')\r\n .then(result => {\r\n const requerimentosExclusao = result.data.map(requerimento => (\r\n {...requerimento, excluirRequerimento: true}\r\n ))\r\n setRequerimentos(requerimentosExclusao)\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"AnaliseRequerimento.Visualizar\", function (result) { setVisualizarTela(result) });\r\n loadRequerimentos()\r\n }, []);\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n {(requerimentos.length > 0 && visualizarTela) &&\r\n }\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport { Row, Col, Card, CardBody } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET } from \"services/api_service.js\";\r\n\r\n// Views\r\nimport AgendamentoVistoria from \"views/Shared/Transportador/AgendamentoVistoria\";\r\nimport CalendarioVistoria from \"views/Shared/Transportador/CalendarioVistoria\";\r\nimport { useAuth } from \"context/auth\";\r\n\r\nexport default function AgendamentoVistoriaLista() {\r\n const {setLoading} = useAuth();\r\n\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const [showCalendario, set_showCalendario] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n }\r\n\r\n const loadList = () => {\r\n setLoading(true);\r\n api_GET('AgendamentoVistoria')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n }\r\n\r\n useEffect(() => {\r\n loadList();\r\n }, []);\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n
\r\n {rowEdit &&\r\n \r\n }\r\n {showCalendario &&\r\n set_showCalendario(false)}>\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Row, Col, FormGroup, Input, Button, Card, CardBody } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"constants/MaterialTable.js\";\r\n\r\n// helpers\r\nimport { formateDate } from \"helpers/formats\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET, api_POST } from \"services/api_service.js\";\r\nimport { formateDateApi } from \"helpers/formats\";\r\nimport { useAuth } from \"context/auth\";\r\n\r\n\r\nexport default function ExportacaoLauda() {\r\n const { setLoading } = useAuth();\r\n\r\n const { register, getValues, errors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleExport = (rowData) => {\r\n setLoading(true);\r\n api_GET('lauda/' + rowData.laudaDiarioOficial_Id)\r\n .then(result => {\r\n const element = document.createElement(\"a\");\r\n const file = new Blob([result.data],\r\n { type: 'text/plain;charset=utf-8' });\r\n element.href = URL.createObjectURL(file);\r\n element.download = \"Lauda.txt\";\r\n document.body.appendChild(element);\r\n element.click();\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const loadList = () => {\r\n let data = getValues();\r\n\r\n if (data.dataInicio == \"\" || data.dataFim == \"\") {\r\n showMessage(\"Aviso\", \"Preencha os campos de data!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n let json_filter = {\r\n inicio: formateDateApi(data.dataInicio),\r\n fim: formateDateApi(data.dataFim)\r\n }\r\n api_POST('lauda/ByPeriodo', json_filter)\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(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 {errors.dataInicio && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.dataFim && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n formateDate(rowData.dataPublicacao) },\r\n { title: 'Enquadramento', field: 'enquadramento.descricao' },\r\n { title: 'Total Registros', field: 'requerimentoLaudaDiarioOficial', render: (rowData) => rowData.requerimentoLaudaDiarioOficial.length, type: 'numeric', cellStyle: { textAlign: \"right\" } },\r\n ]}\r\n data={list_table}\r\n isLoading={false}\r\n actions={[\r\n {\r\n icon: 'download',\r\n tooltip: 'Exportar Registro',\r\n onClick: (event, rowData) => handleExport(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, FormGroup, Input, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../../services/acesso.js\";\r\nimport ManutencaoTransportadorForm from './ManutencaoTransportadorForm';\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function ManutencaoTransportadorLista({ history }) {\r\n const { setLoading } = useAuth();\r\n\r\n const location = useLocation();\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleEdit = (rowData) => {\r\n api_GET('protocolotransportador/' + rowData.protocolo_Id)\r\n .then(result => {\r\n set_rowEdit(result.data);\r\n set_showDetail(true);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n }\r\n\r\n const loadList = () => {\r\n let data = getValues();\r\n\r\n if (data.cpf_cnpj.length == 0 && data.codigoCadastro.length == 0 && data.nomeResponsavel.length == 0 && data.nomeFantasia.length == 0 && data.razaoSocial.length == 0) {\r\n showMessage(\"Aviso\", \"Informe ao menos um dos campos!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n api_GET(`protocolotransportador/GetListByCategoria/${location.state.categoria.categoria_Id}/${(data.cpf_cnpj.length == 0 ? \"0\" : data.cpf_cnpj)}/\r\n ${(data.codigoCadastro.length == 0 ? \"0\" : data.codigoCadastro)}/${(data.nomeResponsavel.length == 0 ? \"0\" : data.nomeResponsavel)}/\r\n ${(data.nomeFantasia.length == 0 ? \"0\" : data.nomeFantasia)}/${(data.razaoSocial.length == 0 ? \"0\" : data.razaoSocial)}`)\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Manutencao.EditarTransportador\", function (result) { set_permiteEditar(result) });\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Row, Col, FormGroup, Input, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../../services/acesso.js\";\r\nimport ManutencaoGeradorForm from './ManutencaoGeradorForm';\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function ManutencaoGeradorLista({ history }) {\r\n const { setLoading} = useAuth();\r\n\r\n const { register, getValues } = useForm({ mode: \"onBlur\" });\r\n const location = useLocation();\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleEdit = (rowData) => {\r\n api_GET('protocoloGerador/' + rowData.protocolo_Id)\r\n .then(result => {\r\n set_rowEdit(result.data);\r\n set_showDetail(true);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n }\r\n\r\n const loadList = () => {\r\n let data = getValues();\r\n\r\n if (data.cpf_cnpj.length == 0 && data.codigoCadastro.length == 0 && data.nomeResponsavel.length == 0 && data.nomeFantasia.length == 0 && data.razaoSocial.length == 0) {\r\n showMessage(\"Aviso\", \"Informe ao menos um dos campos!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n api_GET(`protocoloGerador/GetListByCategoria/${location.state.categoria.categoria_Id}/${(data.cpf_cnpj.length == 0 ? \"0\" : data.cpf_cnpj)}/\r\n ${(data.codigoCadastro.length == 0 ? \"0\" : data.codigoCadastro)}/${(data.nomeResponsavel.length == 0 ? \"0\" : data.nomeResponsavel)}/\r\n ${(data.nomeFantasia.length == 0 ? \"0\" : data.nomeFantasia)}/${(data.razaoSocial.length == 0 ? \"0\" : data.razaoSocial)}`)\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Manutencao.EditarGerador\", function (result) { set_permiteEditar(result) });\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n /* \r\n Novo Gerador\r\n */\r\n }\r\n\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n Options={table_style}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport { Row, Col, FormGroup, Input, Card, CardBody, Button } from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../../services/acesso.js\";\r\nimport ManutencaoDestinoForm from './ManutencaoDestinoForm';\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function ManutencaoDestinoLista({ history }) {\r\n const {setLoading} = useAuth();\r\n\r\n const { register, errors, setValue, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const location = useLocation();\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleEdit = (rowData) => {\r\n api_GET('protocoloDestino/' + rowData.protocolo_Id).then(result => {\r\n set_rowEdit(result.data);\r\n set_showDetail(true);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n }\r\n\r\n const loadList = () => {\r\n let data = getValues();\r\n\r\n if (data.cpf_cnpj.length == 0 && data.codigoCadastro.length == 0 && data.nomeResponsavel.length == 0 && data.nomeFantasia.length == 0 && data.razaoSocial.length == 0) {\r\n showMessage(\"Aviso\", \"Informe ao menos um dos campos!\", 'error', null);\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n api_GET(`protocoloDestino/GetListByCategoria/${location.state.categoria.categoria_Id}/${(data.cpf_cnpj.length == 0 ? \"0\" : data.cpf_cnpj)}/\r\n ${(data.codigoCadastro.length == 0 ? \"0\" : data.codigoCadastro)}/${(data.nomeResponsavel.length == 0 ? \"0\" : data.nomeResponsavel)}/\r\n ${(data.nomeFantasia.length == 0 ? \"0\" : data.nomeFantasia)}/${(data.razaoSocial.length == 0 ? \"0\" : data.razaoSocial)}`).then(result => {\r\n set_list_table(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Manutencao.EditarDestino\", function (result) { set_permiteEditar(result) });\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n Collapse,\r\n Form,\r\n Row,\r\n Col,\r\n Input,\r\n Button,\r\n FormGroup\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\nimport { useAuth } from \"context/auth.js\";\r\n\r\nexport default function CadastroEnquadramento({ history }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [openCollapse, set_openCollapse] = React.useState(false);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const loadList = () => {\r\n set_openCollapse(false);\r\n set_rowEdit(null);\r\n setLoading(true);\r\n api_GET('enquadramento')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n setValue(\"descricao\", \"\");\r\n setValue(\"textoLauda\", \"\");\r\n setValue(\"sigla\", \"\");\r\n setValue(\"status\", \"\", false);\r\n set_status(\"\");\r\n set_openCollapse(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n setValue(\"descricao\", rowData.descricao);\r\n setValue(\"sigla\", rowData.sigla);\r\n handleStatus(rowData.status);\r\n setValue(\"status\", rowData.status, false);\r\n setValue(\"textoLauda\", rowData.textoLauda);\r\n set_openCollapse(true);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n\r\n let json_submit = {\r\n enquadramento_Id: rowEdit != null ? rowEdit.enquadramento_Id : 0,\r\n descricao: data.descricao,\r\n sigla: data.sigla,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n UsuarioUltimaAlteracao_Id: session.usuario_Id,\r\n textoLauda: data.textoLauda\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.enquadramento_Id == 0) {\r\n api_POST('enquadramento', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('enquadramento', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroEnquadramento.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\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 \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.descricao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.sigla && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n Collapse,\r\n Form,\r\n Row,\r\n Col,\r\n Input,\r\n Button,\r\n FormGroup,\r\n Tooltip\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"services/acesso.js\";\r\n\r\nimport { useAuth } from 'context/auth.js';\r\n\r\nexport default function CadastroDocumentos({ history }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [openCollapse, set_openCollapse] = React.useState(false);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const loadList = () => {\r\n set_openCollapse(false);\r\n set_rowEdit(null);\r\n setLoading(true);\r\n api_GET('documento')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n setValue(\"descricao\", \"\");\r\n setValue(\"orientacao\", \"\");\r\n setValue(\"status\", \"\", false);\r\n set_status(\"\");\r\n set_openCollapse(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n setValue(\"descricao\", rowData.descricao);\r\n setValue(\"orientacao\", rowData.orientacao);\r\n setValue(\"status\", rowData.status, false);\r\n handleStatus(rowData.status);\r\n set_openCollapse(true);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n\r\n let json_submit = {\r\n documento_Id: rowEdit != null ? rowEdit.documento_Id : 0,\r\n descricao: data.descricao,\r\n orientacao: data.orientacao,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n UsuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.documento_Id == 0) {\r\n api_POST('documento', json_submit).then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList(); }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('documento', json_submit)\r\n .then(result => () => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList(); }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroDocumentos.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\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 \r\n \r\n \r\n {errors.descricao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n { handleStatus(e.value) }}\r\n getOptionLabel={({ label }) => label}\r\n getOptionValue={({ value }) => value}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\nimport { formateRSS } from \"../../helpers/formats\";\r\n\r\n// views\r\nimport CadastroSolicitacaoForm from \"./CadastroSolicitacaoForm.jsx\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function CadastroSolicitacaoLista() {\r\n const { setLoading } = useAuth();\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n loadList();\r\n }\r\n\r\n const loadList = () => {\r\n setLoading(true);\r\n api_GET('setupsolicitacao')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroDocumentos.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n \r\n \r\n \r\n formateRSS(rowData.segmento, rowData.categoria.descricao) },\r\n { title: 'Categoria', field: 'categoria.descricao' },\r\n { title: 'Status', field: 'status' },\r\n ]}\r\n data={list_table}\r\n isLoading={false}\r\n options={{\r\n ...table_style,\r\n filtering: false,\r\n exportButton: true\r\n }}\r\n actions={[\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n// views\r\nimport CadastroFluxoForm from \"./CadastroFluxoForm.jsx\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function CadastroFluxoLista() {\r\n const { setLoading } = useAuth();\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n loadList();\r\n }\r\n\r\n const loadList = () => {\r\n setLoading(true);\r\n api_GET('fluxocadastro')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroFluxo.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n \r\n \r\n \r\n rowData.setupSolicitacaoAcao.setupSolicitacao.descricao.includes(\"RSS\")\r\n ? rowData.setupSolicitacaoAcao.setupSolicitacao.segmento.replace(\"Grande\", \"\")\r\n : rowData.setupSolicitacaoAcao.setupSolicitacao.segmento\r\n },\r\n { title: 'Ação', field: 'setupSolicitacaoAcao.acao' },\r\n { title: \"Descrição\", field: \"setupSolicitacaoAcao.identificacao\" },\r\n { title: 'Status', field: 'status' },\r\n ]}\r\n data={list_table}\r\n isLoading={false}\r\n options={{\r\n ...table_style,\r\n filtering: false,\r\n exportButton: true\r\n }}\r\n actions={[\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n onClick: (event, rowData) => handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n Collapse,\r\n Form,\r\n Row,\r\n Col,\r\n Input,\r\n Button,\r\n FormGroup\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function CadastroSubPrefeitura({ history }) {\r\n const {session, setLoading} = useAuth();\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [openCollapse, set_openCollapse] = React.useState(false);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const loadList = () => {\r\n set_openCollapse(false);\r\n set_rowEdit(null);\r\n setLoading(true);\r\n api_GET('subprefeitura')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n setValue(\"nome\", \"\");\r\n set_status(\"\");\r\n setValue(\"status\", \"\", false);\r\n set_openCollapse(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n setValue(\"nome\", rowData.nome);\r\n handleStatus(rowData.status);\r\n setValue(\"status\", rowData.status, false);\r\n set_openCollapse(true);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n let json_submit = {\r\n subPrefeitura_Id: rowEdit != null ? rowEdit.subPrefeitura_Id : 0,\r\n nome: data.nome,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n UsuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n setLoading(true);\r\n if (json_submit.subPrefeitura_Id == 0) {\r\n api_POST('SubPrefeitura', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('SubPrefeitura', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroSubPrefeitura.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\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 \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.nome && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n// views\r\nimport CadastroClassesResiduosForm from \"./CadastroClassesResiduosForm.jsx\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function CadastroClassesResiduosLista() {\r\n const { setLoading } = useAuth();\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n loadList();\r\n }\r\n\r\n const loadList = () => {\r\n setLoading(true);\r\n api_GET('classeresiduo')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroClassesResiduos.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n \r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n\r\n \r\n\r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n Collapse,\r\n Form,\r\n Row,\r\n Col,\r\n Input,\r\n Button,\r\n FormGroup\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\nimport { InputHourMinutes } from \"../../services/mask.js\";\r\nimport { isValidHourMinute } from \"../../helpers/valid.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\nexport default function CadastroSetupAgendaVistoria({ history }) {\r\n const {session, setLoading} = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = useState(false);\r\n\r\n const [horarioInicio, set_horarioInicio] = useState(null);\r\n const handleChangeHorarioInicio = (event) => {\r\n set_horarioInicio(event.target.value);\r\n clearErrors(\"horarioInicio\");\r\n }\r\n\r\n const [horarioTermino, set_horarioTermino] = useState(null);\r\n const handleChangeHorarioTermino = (event) => {\r\n set_horarioTermino(event.target.value);\r\n clearErrors(\"horarioTermino\");\r\n }\r\n\r\n const [diaSemana, set_diaSemana] = useState(null);\r\n const [options_diaSemana] = useState([\r\n { value: \"Segunda\", label: \"Segunda\" },\r\n { value: \"Terça\", label: \"Terça\" },\r\n { value: \"Quarta\", label: \"Quarta\" },\r\n { value: \"Quinta\", label: \"Quinta\" },\r\n { value: \"Sexta\", label: \"Sexta\" },\r\n { value: \"Sábado\", label: \"Sábado\" },\r\n { value: \"Domingo\", label: \"Domingo\" },\r\n ]);\r\n const handleDiaSemana = (value) => {\r\n set_diaSemana(value);\r\n setValue(\"diaSemana\", value, true);\r\n clearErrors(\"diaSemana\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = useState(null);\r\n const [openCollapse, set_openCollapse] = useState(false);\r\n const [list_table, set_list_table] = useState([]);\r\n\r\n const loadList = () => {\r\n set_openCollapse(false);\r\n set_rowEdit(null);\r\n setLoading(true);\r\n api_GET('setupAgendaVistoria')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_diaSemana(null);\r\n setValue(\"diaSemana\", null, false);\r\n set_horarioInicio(\"\");\r\n set_horarioTermino(\"\");\r\n setValue(\"capacidadeDiaria\", \"\");\r\n setValue(\"duracaoVistoriaMinutos\", \"\");\r\n set_openCollapse(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n clearErrors();\r\n set_rowEdit(rowData);\r\n set_diaSemana(rowData.diaSemana);\r\n setValue(\"diaSemana\", rowData.diaSemana, true);\r\n set_horarioInicio(rowData.horarioInicio);\r\n set_horarioTermino(rowData.horarioTermino);\r\n setValue(\"capacidadeDiaria\", rowData.capacidadeDiaria);\r\n setValue(\"duracaoVistoriaMinutos\", rowData.duracaoVistoriaMinutos);\r\n set_openCollapse(true);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n let setupAgendaVistoria_Id = rowEdit ? rowEdit.setupAgendaVistoria_Id : 0;\r\n if (list_table.filter(f => f.diaSemana == diaSemana && f.setupAgendaVistoria_Id != setupAgendaVistoria_Id).length > 0) {\r\n showMessage(\"Aviso\", \"Este dia da semana já está configurado. Edite a configuração!\", 'error', null, null);\r\n return;\r\n }\r\n\r\n if (!isValidHourMinute(data.horarioInicio) || !isValidHourMinute(data.horarioTermino)) {\r\n showMessage(\"Aviso\", \"Horário inválido!\", 'error', null, null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n setupAgendaVistoria_Id: setupAgendaVistoria_Id,\r\n diaSemana: diaSemana,\r\n horarioInicio: data.horarioInicio,\r\n horarioTermino: data.horarioTermino,\r\n capacidadeDiaria: data.capacidadeDiaria,\r\n duracaoVistoriaMinutos: data.duracaoVistoriaMinutos,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n setLoading(true);\r\n if (json_submit.setupAgendaVistoria_Id == 0) {\r\n api_POST('setupAgendaVistoria', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('setupAgendaVistoria', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"SetupAgenda.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\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 \r\n
\r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleDiaSemana(e.value) }}\r\n value={diaSemana && options_diaSemana.find(obj => obj.value === diaSemana)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"diaSemana\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.diaSemana && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.horarioInicio && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.horarioTermino && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.capacidadeDiaria && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.duracaoVistoriaMinutos && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\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 MaterialTable from 'material-table';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select'\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n CardHeader,\r\n Collapse,\r\n Form,\r\n Row,\r\n Col,\r\n Input,\r\n Button,\r\n FormGroup\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\nimport { InputDIAMES } from \"../../services/mask.js\";\r\nimport { isValidDayMonth } from \"../../helpers/valid.js\";\r\n\r\nimport { useAuth } from \"context/auth.js\";\r\n\r\nexport default function CadastroDiasNaoUteis({ history }) {\r\n const { session, setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const [permiteEditar, set_permiteEditar] = useState(false);\r\n\r\n const [status, set_status] = React.useState(\"\");\r\n const [options_status] = React.useState([\r\n { value: \"Ativo\", label: \"Ativo\" },\r\n { value: \"Inativo\", label: \"Inativo\" },\r\n ]);\r\n const handleStatus = (value) => {\r\n set_status(value);\r\n setValue(\"status\", value, true);\r\n clearErrors(\"status\");\r\n }\r\n\r\n const [diaMes, set_diaMes] = useState(null);\r\n const handleChangeDiaMes = (event) => {\r\n set_diaMes(event.target.value);\r\n clearErrors(\"diaMes\");\r\n }\r\n\r\n const [rowEdit, set_rowEdit] = useState(null);\r\n const [openCollapse, set_openCollapse] = useState(false);\r\n const [list_table, set_list_table] = useState([]);\r\n\r\n const loadList = () => {\r\n set_openCollapse(false);\r\n set_rowEdit(null);\r\n setLoading(true);\r\n api_GET('DiaNaoUtil')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_diaMes(\"\");\r\n setValue(\"diaMes\", \"\", false);\r\n setValue(\"descricao\", \"\");\r\n setValue(\"status\", \"\", false);\r\n set_status(\"\");\r\n set_openCollapse(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n clearErrors();\r\n set_rowEdit(rowData);\r\n set_diaMes(rowData.diaMes);\r\n setValue(\"diaMes\", rowData.diaMes, true);\r\n setValue(\"descricao\", rowData.descricao);\r\n setValue(\"status\", rowData.status, true);\r\n set_status(rowData.status)\r\n set_openCollapse(true);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n let diaNaoUtil_Id = rowEdit ? rowEdit.diaNaoUtil_Id : 0;\r\n if (list_table.filter(f => f.diaMes == diaMes && f.diaNaoUtil_Id != diaNaoUtil_Id).length > 0) {\r\n showMessage(\"Aviso\", \"Este dia/mês já está configurado. Edite a configuração!\", 'error', null, null);\r\n return;\r\n }\r\n\r\n if (!isValidDayMonth(data.diaMes)) {\r\n showMessage(\"Aviso\", \"Dia/Mês inválido!\", 'error', null, null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n diaNaoUtil_Id: diaNaoUtil_Id,\r\n diaMes: diaMes,\r\n descricao: data.descricao,\r\n status: status,\r\n usuarioCadastro_Id: session.usuario_Id,\r\n usuarioUltimaAlteracao_Id: session.usuario_Id\r\n }\r\n setLoading(true);\r\n if (json_submit.diaNaoUtil_Id == 0) {\r\n api_POST('DiaNaoUtil', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('DiaNaoUtil', json_submit)\r\n .then(result => showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', function () { loadList() }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"CadastroDiasNaoUteis.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\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 \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {errors.descricao && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.diaMes && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n label}\r\n getOptionValue={({ value }) => value}\r\n onChange={(e) => { handleStatus(e.value) }}\r\n value={status != \"\" && options_status.find(obj => obj.value === status)}\r\n placeholder=\"Selecione\"\r\n ref={e => register(\r\n { name: \"status\" },\r\n { required: true })\r\n }\r\n />\r\n {errors.status && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n \r\n );\r\n\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\n// views\r\nimport PerfilForm from \"./PerfilForm.jsx\";\r\n\r\nexport default function PerfilLista() {\r\n const {setLoading} = useAuth();\r\n\r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n loadList();\r\n }\r\n\r\n const loadList = () => {\r\n setLoading(true);\r\n api_GET('perfil')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Perfis.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n \r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col\r\n} from \"reactstrap\";\r\n\r\n// style\r\nimport { table_translate, table_style } from \"../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\n\r\n// views\r\nimport UsuarioForm from \"./UsuarioForm.jsx\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\n\r\nexport default function UsuarioLista() {\r\n const { setLoading } = useAuth();\r\n \r\n const [permiteEditar, set_permiteEditar] = React.useState(false);\r\n const [showDetail, set_showDetail] = React.useState(false);\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const [list_table, set_list_table] = React.useState([]);\r\n\r\n const handleAdd = () => {\r\n set_rowEdit(null);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleEdit = (rowData) => {\r\n set_rowEdit(rowData);\r\n set_showDetail(true);\r\n }\r\n\r\n const handleReturn = () => {\r\n set_rowEdit(null);\r\n set_showDetail(false);\r\n loadList();\r\n }\r\n\r\n const loadList = () => {\r\n setLoading(true);\r\n api_GET('usuario')\r\n .then(result => set_list_table(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n ValidaAcessoFuncionalidadeAcao(\"Usuarios.Editar\", function (result) { set_permiteEditar(result) });\r\n loadList();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {!showDetail &&\r\n
\r\n \r\n \r\n \r\n handleEdit(rowData)\r\n }\r\n ]}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n
\r\n }\r\n {showDetail &&\r\n \r\n }\r\n \r\n );\r\n}","import React from \"react\";\r\n\r\n// components\r\nimport { Card, CardBody, CardFooter, Button, Row, Col, } from \"reactstrap\";\r\n\r\n// views\r\nimport RelatorioFichaRequerimentoGeradorRSS from \"./Fichas/RelatorioFichaRequerimentoGeradorRSS\";\r\nimport RelatorioManutecaoGeradorRSS from './Fichas/RelatorioManutecaoGeradorRSS';\r\nimport RelatorioManutecaoTransportadores from \"./Fichas/RelatorioManutecaoTransportadores\";\r\nimport RelatorioManutecaoDestinos from \"./Fichas/RelatorioManutecaoDestinos\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport ValidaAcessoFuncionalidadeAcao from \"../../services/acesso.js\";\r\nimport RelatorioFichaRequerimentoGeradorRGG from \"./Fichas/RelatorioFichaRequerimentoGeradorRGG\";\r\n\r\nexport default function ListaRelatorios({ history }) {\r\n\r\n const list_table = [\r\n {\r\n codigo: \"Relatorios.RequerimentoGeradorRGG\",\r\n title: \"Requerimento de Geradores de RGG\",\r\n description: \"Relatório detalhado de requerimentos de geradores de RGG.\",\r\n component: ( set_showFicha(false)} />)\r\n },\r\n {\r\n codigo: \"Relatorios.RequerimentoGeradorRSS\",\r\n title: \"Requerimento de Geradores de RSS\",\r\n description: \"Relatório detalhado de requerimentos de geradores de RSS.\",\r\n component: ( set_showFicha(false)} />)\r\n },\r\n {\r\n codigo: \"Relatorios.ManutencaoGeradoresRSS\",\r\n title: \"Manutenção de Geradores\",\r\n description: \"Relatório Detalhado de Manutenção de Geradores.\",\r\n component: ( set_showFicha(false)} />)\r\n },\r\n {\r\n codigo: \"Relatorios.ManutencaoTransportadores\",\r\n title: \"Manutenção de Transportadores\",\r\n description: \"Relatório Detalhado de Manutenção de Transportadores.\",\r\n component: ( set_showFicha(false)} />)\r\n },\r\n {\r\n codigo: \"Relatorios.ManutencaoDestinos\",\r\n title: \"Manutenção de Destinos\",\r\n description: \"Relatório Detalhado de Manutenção de Destinos.\",\r\n component: ( set_showFicha(false)} />)\r\n },\r\n ];\r\n\r\n const [showFicha, set_showFicha] = React.useState(false);\r\n const [ficha, set_ficha] = React.useState(null);\r\n\r\n const handleFicha = (item) => {\r\n ValidaAcessoFuncionalidadeAcao(item.codigo, function (result) {\r\n if (result) {\r\n set_showFicha(true);\r\n set_ficha(item.component);\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"Usuário não possui acesso a este relatório\", 'error', null);\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {!showFicha &&\r\n
\r\n \r\n {list_table.map((m, key) => (\r\n \r\n \r\n \r\n
{m.title}
\r\n {m.description}\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n ))}\r\n
\r\n
\r\n }\r\n {showFicha &&\r\n ficha\r\n }\r\n \r\n );\r\n}\r\n\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Card, CardHeader, CardBody, CardFooter, Row, Col, Button, Modal, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\n//api\r\nimport { api_GET } from \"../../services/api_service.js\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\n\r\n// Components\r\nimport DadosPrimarios from \"../Shared/DadosPrimarios\";\r\nimport CardOpcaoCadastro from \"./components/CardOpcaoCadastro\";\r\nimport CardIntegracao from \"./components/CardIntegracao\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function PortalOpcoes({ history }) {\r\n const { signOut, setupSistema } = useAuth();\r\n\r\n //Opções de integração (RGG, RCC, RSS)\r\n const [integracaoSelecionada, set_integracaoSelecionada] = useState(null);\r\n const [integracoes, set_integracoes] = useState([]);\r\n\r\n const [showModal, setShowModal] = useState(false);\r\n const toogleShowModal = () => setShowModal(!showModal);\r\n\r\n const LoadIntegracoes = () => {\r\n api_GET('categoria/GetOpcoesIntegracao')\r\n .then(result => set_integracoes(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n //Opções de Setup Solicitação\r\n const [opcaoSelecionada, set_opcaoSelecionada] = useState(null);\r\n const [opcoes, set_opcoes] = useState([]);\r\n\r\n const LoadOpcoes = () => {\r\n api_GET('categoria/GetListByExistsSetupSolicitacao')\r\n .then(result => set_opcoes(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n\r\n useEffect(() => {\r\n signOut(false, null);\r\n LoadOpcoes();\r\n LoadIntegracoes();\r\n }, []);\r\n\r\n\r\n const [subTitle, setSubTitle] = useState(\"\");\r\n \r\n return (\r\n <>\r\n {!integracaoSelecionada &&\r\n
\r\n \r\n \r\n

\r\n Cadastramento de Geradores de Resíduos Especiais\r\n

\r\n \r\n
\r\n \r\n {integracoes.map((m, key) => (\r\n {\r\n setSubTitle(m)\r\n set_integracaoSelecionada(m);\r\n if (m == \"RGG\")\r\n setShowModal(true)\r\n }}\r\n />\r\n ))\r\n }\r\n \r\n \r\n \r\n

\r\n Gestão Geradores de Resíduos Especiais\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Resíduos Construção Civil (RCC)\r\n \r\n
\r\n \r\n Sistema de gestão de resíduos da construção civil\r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n Resíduos Grande Gerador (RGG)\r\n \r\n
\r\n \r\n Cadastramento de grandes geradores, transportadoras e destinos finais da coleta privada\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {integracaoSelecionada && !opcaoSelecionada &&\r\n <>\r\n \r\n \r\n

ATENÇÃO

\r\n Em caso de dúvidas ou para ter acesso aos manuais de orientação do Recadastramento, por favor, acesse nossa opção Dúvidas history.push(\"./duvidas\")}>cliclando aqui.\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n

CADASTRE-SE

\r\n \r\n {subTitle != \"\" &&\r\n \r\n

Cadastro de {subTitle}

\r\n \r\n }\r\n \r\n Solicitação de Requerimento para criar Cadastro {setupSistema?.identificacao}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {opcoes.filter(f => f.sigla == integracaoSelecionada).map((m, key) => (\r\n {\r\n setSubTitle(m)\r\n set_opcaoSelecionada(m)\r\n }}\r\n />\r\n ))\r\n }\r\n \r\n
\r\n\r\n \r\n }\r\n\r\n {opcaoSelecionada &&\r\n \r\n }\r\n \r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Collapse } from 'reactstrap';\r\n\r\nimport Legislacao from '../Legislacao';\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function Duvidas() {\r\n const { setupSistema } = useAuth();\r\n\r\n const [manuais, setManuais] = useState([\r\n {\r\n title: \"RGG - Manual de cadastramento de Geradores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualCadastramentoGrandeGeradorRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de cadastramento de Transportadores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualCadastramentoTransportadorRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de cadastramento de Destinos\",\r\n link: setupSistema?.caminhoVirtual + \"ManualCadastramentoDestinoFinalRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Destinos\",\r\n link: setupSistema?.caminhoVirtual + \"ManualRecadastramentoDestinoFinal_RGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Geradores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualRecadastramentoGrandeGerador_RGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Transportadores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualRecadastramentoTransportador_RGG.pdf\"\r\n },\r\n ])\r\n\r\n const [informacoes, setInformacoes] = useState([\r\n {\r\n title: \"Qual o custo para o cadastro?\",\r\n texto: () => (\r\n
\r\n

\r\n Para o estabelecimento grande gerador, é devido o pagamento de preço público de R$ 286,50 (atualização anual dos valores por decreto) e tem validade de um ano.\r\n

\r\n

\r\n Os tratamentos são diferenciados para o Grande e para o Pequeno Gerador.\r\n

\r\n

\r\n Para o Pequeno Gerador, não é cobrado taxa ou o Preço Público e nem a obrigatoriedade de realização de cadastro, e não há previsão legal de multa.\r\n

\r\n

\r\n Para o Grande Gerador as obrigações estão discriminadas na legislação vigente Lei 13.478/02 e decreto 58.701/19 e estes não podem utilizar da coleta publica\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Qual a penalidade para quem não se cadastrar?\",\r\n texto: () => (\r\n
\r\n

\r\n Quem não estiver cadastrado e for enquadrado pela Prefeitura após fiscalização como um grande gerador de lixo\r\n – acima de 200 litros por dia – estará sujeito a multa de R$ 1.639,60 (valores reajustáveis)\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Quem precisa se cadastrar?\",\r\n texto: () => (\r\n
\r\n

\r\n Grandes Geradores - Estabelecimentos com geração de resíduos acima de 200 litros por dia.\r\n

\r\n

\r\n Condomínio Não Residencial ou Misto - cuja soma dos resíduos sólidos totalize o volume médio diário igual ou superior a 1.000 (mil) litros; privada para a remoção desses resíduos.\r\n

\r\n

\r\n Transportadores de Resíduos – Com SEDE ou FILIAL aberta no município de São Paulo.\r\n

\r\n

\r\n Áreas de Transbordo e Destino Final – Áreas licenciadas para a recepção de resíduos Classe II A (Resíduos Orgânicos)\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Como saber se sou um grande gerador?\",\r\n texto: () => (\r\n
\r\n

\r\n De acordo com a LEI 13.478/02 e suas alterações e os Decretos regulamentadores, estando estes em consonância com o PGIRS - Plano de Gestão Integrada de Resíduos Sólidos, todos os estabelecimentos com geração de resíduos acima de 200 litros por dia.\r\n

\r\n

\r\n Os condomínios de edifícios não-residenciais ou de uso misto cuja soma dos resíduos sólidos, caracterizados como resíduos da Classe 2 pela NBR 10.004, da ABNT, gerados pelas unidades autônomas que os compõem, totalize o volume médio diário igual ou superior a 1.000 (mil) litros; são considerados Grandes Geradores e devem contratar coleta privada para a remoção desses resíduos.\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Sou um transportador com sede em outro município, mas transporto resíduos na capital. Devo me cadastrar no sistema CTR-E RGG?\",\r\n texto: () => (\r\n
\r\n

\r\n Para os transportadores é obrigatório que os mesmos tenham SEDE ou FILIAL aberta no município de São Paulo bem como o Ato de registro de funcionamento emitido pela Subprefeitura local e demais documentos exigidos no momento do cadastro sendo essa uma condição indispensável para poder prestar os serviços na capital.\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Qual o custo de inscrição no CTR-E RGG?\",\r\n texto: () => (\r\n
\r\n

\r\n Não há custo para o uso do sistema CTR-E RGG. Porém há cobrança do preço público para a realização do cadastro na SP REGULA que já era aplicado no processo de cadastramento físico. Por exemplo, os grandes geradores deverão pagar uma taxa anual estabelecida pelo Decreto de Preços Público atualizada anualmente de: R$ 286,50 e para os Transportadores o valor de R$ 146,90 e para os Veículos R$58,20.\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Qual é a validade do cadastro pago para a SP REGULA?\",\r\n texto: () => (\r\n
\r\n

\r\n A validade do cadastro na SP REGULA é de 1 ano, para todos os entes envolvidos na cadeia de resíduos sólidos. Após esse período é preciso realizar o renovação cadastral no sistema CTR-E RGG.\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Minha empresa gera resíduos, mas ainda não tenho uma empresa de transportes para enviá-los para um destino autorizado. Como posso contratar este serviço?\",\r\n texto: () => (\r\n
\r\n

\r\n Você pode buscar a lista de transportadores licenciados na SP REGULA no site www.spregula.sp.gov.br.\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Como ficam as emissões de CTR, agora com a integração com SIGOR (Estadual) e o SINIR (Federal)?\",\r\n texto: () => (\r\n
\r\n

\r\n Conforme acordado entre os órgãos das esferas Municipal, Estadual e Federal, os Geradores situados nos municípios que já possuem o sistema CTR-E, devem utilizar deste sistema para a emissão dos seus CTRs. Os sistemas estão sendo integrados e todas as emissões serão compartilhadas entre os órgãos de fiscalização e controle. Portanto, todos devem continuar a emitir seus CTRs. A Transferência de dados é de responsabilidade da SP REGULA, CETESB e SINIR.\r\n

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n ]);\r\n\r\n const [informacoesRecadastramentro, setInformacoesRecadastramentro] = useState([\r\n {\r\n title: \"Quem precisa se recadastrar?\",\r\n texto: () => (\r\n
\r\n

\r\n Todos os Grandes Geradores, Transportadoras e Destinos Finais. Em resumo, todas as empresas\r\n que participam da cadeia de geração, coleta e destinação dos resíduos de Grandes Geradores\r\n do município de São Paulo, e que já possuem cadastro ativo.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"Será necessário pagar o preço público novamente?\",\r\n texto: () => (\r\n
\r\n

\r\n Não! Se a sua empresa possui atualmente um cadastro ativo, não será gerada nenhuma cobrança adicional.\r\n

\r\n

\r\n Porém será necessário informar a vigência do cadastro atual e enviar o comprovante de pagamento para análise.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"A validade do meu cadastro atual será mantida?\",\r\n texto: () => (\r\n
\r\n

\r\n A vigência do cadastro ativo será mantida, mas será necessário que seja preenchido corretamente a data de vencimento e submetida o comprovante de pagamento.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"Eu sou um Grande Gerador, como farei para vincular meu contrato com a minha Transportadora?\",\r\n texto: () => (\r\n
\r\n

\r\n O cadastro é efetuado em algumas etapas e o vínculo do contrato com a empresa de transporte será solicitado ao Grande Gerador na etapa de Locais de Coleta.\r\n

\r\n

\r\n Para maiores dúvidas, consulte o manual de recadastramento de Grandes Geradores clicando aqui.\r\n

\r\n

\r\n Importante: Nessa etapa, o Grande Gerador terá que selecionar o seu Transportador em uma lista que será exibida para ele. Só serão exibidos os Transportadores que realizaram o Recadastramento,\r\n caso seu Transportador não retorne é porque ele ainda não se recadastrou.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"Os Pequenos Geradores precisam se recadastrar?\",\r\n texto: () => (\r\n
\r\n

\r\n Não!\r\n

\r\n

\r\n O Recadastramento será apenas para os Grandes Geradores Privados, Condomínio Misto, Público (Estadual/Federal) e Público Municipal, além dos Transportadores e Destinos Finais.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"Será necessário imprimir as etiquetas de QR Code novamente?\",\r\n texto: () => (\r\n
\r\n

\r\n Sim, será necessário a impressão de uma nova etiqueta de identificação em cada estabelecimento.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"Quando posso começar a utilizar somente o novo sistema?\",\r\n texto: () => (\r\n
\r\n

\r\n O novo sistema irá trabalhar em paralelo com o antigo CTRE (ctre.com.br) durante 30 dias, com inicio no dia 20/12/2023, quando será liberado o recadastramento dos grandes geradores, até o dia 20/01/2024.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n {\r\n title: \"Sou Transportador, como cadastro meus veículos?\",\r\n texto: () => (\r\n
\r\n

\r\n O cadastro dos veículos será feito em 2 etapas.\r\n

\r\n

\r\n Durante o cadastro do Transportador é obrigatório o cadastramento de ao menos 1 veículo. Após esta etapa, poderá adicionado todos os outros.\r\n

\r\n

\r\n Todos os itens com cadastro atual ativo, incluindo veículos, não terão cobrança.\r\n

\r\n

\r\n Para maiores dúvidas, consulte o manual de recadastramento de Transportadores clicando aqui.\r\n

\r\n
\r\n ),\r\n collapse: false,\r\n link: null\r\n },\r\n ]);\r\n\r\n //State para mostrar legislação\r\n const [mostrarLegislacao, setMostrarLegislacao] = useState(false);\r\n const [mostrarManual, setMostrarManual] = useState(false);\r\n\r\n const handleMostrarTexto = (index) => {\r\n setInformacoes(prevState => {\r\n const _mensagens = [...prevState];\r\n _mensagens[index] = { ..._mensagens[index], collapse: !_mensagens[index].collapse };\r\n return _mensagens;\r\n });\r\n }\r\n\r\n const handleMostrarRecadastramentoTexto = (index) => {\r\n setInformacoesRecadastramentro(prevState => {\r\n const _mensagens = [...prevState];\r\n _mensagens[index] = { ..._mensagens[index], collapse: !_mensagens[index].collapse };\r\n return _mensagens;\r\n });\r\n }\r\n\r\n return
\r\n {/* cabeçalho */}\r\n
\r\n
\r\n
Dúvidas sobre coleta e destinação de resíduos?
\r\n
\r\n
\r\n \r\n
\r\n ?\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {/* Topicos */}\r\n
\r\n\r\n
\r\n
\r\n
Manuais
\r\n
\r\n
\r\n\r\n setMostrarManual(!mostrarManual)}\r\n >\r\n
Mostrar todos os manuais
\r\n \r\n
\r\n {mostrarManual &&\r\n manuais.map((value, index) => {\r\n return
\r\n
\r\n
window.open(value.link, \"_blank\")}\r\n >\r\n
{value.title}
\r\n \r\n
\r\n
\r\n
\r\n })\r\n }\r\n
\r\n\r\n
\r\n
\r\n
Grandes Geradores de Resíduos Sólidos
\r\n
\r\n
\r\n {/* Conteudo */}\r\n {informacoes.map((value, index) => {\r\n if(value.link == null)\r\n {\r\n const Component = value.texto;\r\n return
\r\n
handleMostrarTexto(index)}\r\n >\r\n
{value.title}
\r\n {informacoes[index].collapse ? : }\r\n
\r\n \r\n \r\n \r\n
\r\n } else {\r\n return
\r\n
window.open(value.link, \"_blank\")}\r\n >\r\n
{value.title}
\r\n \r\n
\r\n
\r\n }\r\n })}\r\n \r\n
Recadastramento de Grandes Geradores
\r\n
\r\n {informacoesRecadastramentro.map((value, index) => {\r\n if (value.link == null) {\r\n const Component = value.texto;\r\n return
\r\n
handleMostrarRecadastramentoTexto(index)}\r\n >\r\n
{value.title}
\r\n {informacoesRecadastramentro[index].collapse ? : }\r\n
\r\n \r\n \r\n \r\n
\r\n } else {\r\n return
\r\n
window.open(value.link, \"_blank\")}\r\n >\r\n
{value.title}
\r\n \r\n
\r\n
\r\n }\r\n })}\r\n \r\n\r\n
\r\n
\r\n
Legislações
\r\n
\r\n
\r\n\r\n setMostrarLegislacao(!mostrarLegislacao)}\r\n >\r\n
Mostrar todas as legislações
\r\n \r\n
\r\n {mostrarLegislacao &&\r\n \r\n }\r\n \r\n\r\n \r\n\r\n ;\r\n\r\n}","import React, { useEffect } from 'react';\r\nimport queryString from 'query-string';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Transportador/Identificacao\";\r\nimport Veiculos from \"../../../views/Shared/Transportador/Veiculos\";\r\nimport LocaisGuarda from \"../../../views/Shared/Transportador/LocaisGuarda\";\r\nimport LocaisDestinacao from \"../../../views/Shared/Transportador/LocaisDestinacao\";\r\nimport Equipamentos from \"../../../views/Shared/Transportador/Equipamentos\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function TransportadorRequerimentoNovoCadastro({ history }) {\r\n const { session, setupSistema } = useAuth();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if ((step == 7 && opcao.categoria.sigla != \"RGG\") || (step == 4 && opcao.categoria.sigla == \"RGG\")) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n useEffect(() => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n if (params != null && params.protocolo != null) {\r\n api_GET('requerimento/ByNumeroProtocolo/' + params.protocolo)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n\r\n if (result.data.status == \"Divergente\")\r\n set_step(0);\r\n else if (result.data.etapaCadastro != null)\r\n set_step(result.data.etapaCadastro);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n }, []);\r\n\r\n const steps = [];\r\n\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Veiculos', 'Guarda de Veiculos', 'Destinação', 'Equipamentos', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Guarda de Veiculos', 'Destinação', 'Documentação');\r\n }\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null && ((step < 5 && opcao.categoria.sigla == \"RGG\") || (step < 7 && opcao.categoria.sigla != \"RGG\")) &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 1 &&\r\n : \"\"}\r\n {((opcao.categoria.sigla != \"RGG\" && step == 2) || (opcao.categoria.sigla == \"RGG\" && step == 1)) &&\r\n \r\n }\r\n {((opcao.categoria.sigla != \"RGG\" && step == 3) || (opcao.categoria.sigla == \"RGG\" && step == 2)) &&\r\n }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 4 &&\r\n : \"\"}\r\n\r\n {((opcao.categoria.sigla != \"RGG\" && step == 5) || (opcao.categoria.sigla == \"RGG\" && step == 3)) && }\r\n\r\n {((opcao.categoria.sigla != \"RGG\" && step == 6) || (opcao.categoria.sigla == \"RGG\" && step == 4)) && }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && (step == 7 || (opcao.categoria.sigla == \"RGG\" && step == 5)) &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Transportador/Identificacao\";\r\nimport Veiculos from \"../../../views/Shared/Transportador/Veiculos\";\r\nimport LocaisGuarda from \"../../../views/Shared/Transportador/LocaisGuarda\";\r\nimport LocaisDestinacao from \"../../../views/Shared/Transportador/LocaisDestinacao\";\r\nimport Equipamentos from \"../../../views/Shared/Transportador/Equipamentos\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\nimport { useAuth } from 'context/auth';\r\n\r\nexport default function TransportadorRequerimentoRenovacaCadastro({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if ((step == 7 && opcao.categoria.sigla != \"RGG\") || (step == 4 && opcao.categoria.sigla == \"RGG\")) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });;\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n const steps = [];\r\n\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Veiculos', 'Guarda de Veiculos', 'Destinação', 'Equipamentos', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Guarda de Veiculos', 'Destinação', 'Documentação');\r\n }\r\n\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\")\r\n && ((step < 5 && opcao.categoria.sigla == \"RGG\") || (step < 7 && opcao.categoria.sigla != \"RGG\")) &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 1 &&\r\n : \"\"}\r\n {((opcao.categoria.sigla != \"RGG\" && step == 2) || (opcao.categoria.sigla == \"RGG\" && step == 1)) &&\r\n }\r\n\r\n {((opcao.categoria.sigla != \"RGG\" && step == 3) || (opcao.categoria.sigla == \"RGG\" && step == 2)) &&\r\n }\r\n\r\n {opcao.categoria.sigla != \"RGG\" ? step == 4 &&\r\n : \"\"}\r\n\r\n {((opcao.categoria.sigla != \"RGG\" && step == 5) || (opcao.categoria.sigla == \"RGG\" && step == 3)) &&\r\n }\r\n\r\n {((opcao.categoria.sigla != \"RGG\" && step == 6) || (opcao.categoria.sigla == \"RGG\" && step == 4)) &&\r\n }\r\n
\r\n }\r\n {requerimento != null && opcao != null && (step == 7 || (opcao.categoria.sigla == \"RGG\" && step == 5)) &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, Container, Card, CardBody } from \"reactstrap\";\r\nimport ProgressBar from \"../../../components/ProgressBar/StepperProgress.jsx\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Veiculos from \"../../Shared/Transportador/Veiculos\";\r\nimport Documentos from \"../../Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth.js';\r\n\r\nexport default function TransportadorRequerimentoInclusaoVeiculo({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Veículos\", \"Documentos\"]);\r\n else\r\n set_steps([\"Veículos\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 1) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n x.status == \"Ativo\").length}\r\n handleProximoStep={steps.length > 1 ? handleProximoStep : handleFinalizarRequerimento}\r\n />\r\n }\r\n {step == 1 &&\r\n \r\n }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col,\r\n Container,\r\n Card, CardBody\r\n} from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport ListaVeiculosExclusao from \"../../../views/Shared/Transportador/ListaVeiculosExclusao\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function TransportadorRequerimentoExclusaoVeiculo({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Veículos\", \"Documentos\"]);\r\n else\r\n set_steps([\"Veículos\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 2) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const loadProtocolo = (protocolo_Id) => {\r\n api_GET('ProtocoloTransportador/' + protocolo_Id)\r\n .then(result => set_protocolo(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => { showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n 1 ? handleProximoStep : handleFinalizarRequerimento}\r\n />\r\n }\r\n {step == 1 &&\r\n \r\n }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport MaterialTable from 'material-table';\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n Row,\r\n Col,\r\n Button,\r\n Container\r\n} from \"reactstrap\";\r\nimport ProgressBar from \"../../../components/ProgressBar/StepperProgress.jsx\";\r\n\r\n// style\r\nimport { table_translate } from \"../../../constants/MaterialTable.js\";\r\n\r\n// services\r\nimport { showMessage, showQuestion } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Veiculos from \"../../Shared/Transportador/Veiculos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth.js';\r\n\r\nexport default function TransportadorRequerimentoAlteracao({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const [veiculosAlteracao, setVeiculosAlteracao] = React.useState([]);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n\r\n const steps = ['Seleção do Veículo', 'Alteração'];\r\n const [step, set_step] = React.useState(0);\r\n\r\n const handleProximoStep = (_requerimento) => {\r\n if (veiculosAlteracao.length > 1 && requerimento?.setupSolicitacaoAcao?.setupSolicitacao?.categoria?.sigla == \"RGG\" && requerimento?.setupSolicitacaoAcao?.acao == \"Alteração\") {\r\n showMessage(\"Aviso\", \"Você deve selecionar um veículo que deseja alterar!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (step == 0) {\r\n if (veiculosAlteracao.length == 0) {\r\n showMessage(\"Aviso\", \"Você deve selecionar o(s) veículo(s) que deseja alterar!\", 'error', null);\r\n return;\r\n }\r\n else {\r\n setLoading(true);\r\n var vRequerimentoTransportadorVeiculo_Id = 0;\r\n let RequerimentoTransportadorVeiculo = new Array();\r\n\r\n for (let veiculo of veiculosAlteracao) {\r\n vRequerimentoTransportadorVeiculo_Id = 0;\r\n if (requerimento.requerimentoTransportadorVeiculo.length > 0) {\r\n var retVeiculoPorPlaca = requerimento.requerimentoTransportadorVeiculo.find(x => x.placaAntiga === veiculo.placa);\r\n if (!!retVeiculoPorPlaca) {\r\n vRequerimentoTransportadorVeiculo_Id = retVeiculoPorPlaca.requerimentoTransportadorVeiculo_Id;\r\n }\r\n }\r\n\r\n let requerimentoTransportadorVeiculoModalidade = [];\r\n veiculo.protocoloTransportadorVeiculoModalidades.map(m => {\r\n requerimentoTransportadorVeiculoModalidade.push({\r\n requerimentoTransportadorVeiculoModalidade_Id: 0,\r\n requerimentoTransportadorVeiculo_Id: vRequerimentoTransportadorVeiculo_Id,\r\n modalidade: m.modalidade\r\n });\r\n })\r\n\r\n let item = {\r\n requerimentoTransportadorVeiculo_Id: vRequerimentoTransportadorVeiculo_Id,\r\n requerimento_Id: requerimento.requerimento_Id,\r\n placa: veiculo.placa,\r\n placaAntiga: veiculo.placa,\r\n marca: veiculo.marca == null ? \"\" : veiculo.marca,\r\n tipo: veiculo.tipo == null ? \"\" : veiculo.tipo,\r\n capacidadeCarga: veiculo.capacidadeCarga == null ? \"\" : veiculo.capacidadeCarga,\r\n cor: veiculo.cor == null ? \"\" : veiculo.cor,\r\n tara: veiculo.tara == null ? \"\" : veiculo.tara,\r\n anoFabricacao: veiculo.anoFabricacao == null ? \"\" : veiculo.anoFabricacao,\r\n anoFabricacaoEquipamento: veiculo.anoFabricacaoEquipamento == null ? \"\" : veiculo.anoFabricacaoEquipamento,\r\n numeroRenavam: veiculo.numeroRenavam == null ? \"\" : veiculo.numeroRenavam,\r\n proprietarioOuLocado: veiculo.proprietarioOuLocado == null ? \"\" : veiculo.proprietarioOuLocado,\r\n arquivoRenavam: veiculo.arquivoRenavam,\r\n arquivoInspecaoInmetro: veiculo.arquivoInspecaoInmetro,\r\n arquivoComprovanteTara: veiculo.arquivoComprovanteTara,\r\n status: veiculo.status,\r\n volume: veiculo.volume,\r\n requerimentoTransportadorVeiculoModalidade: requerimentoTransportadorVeiculoModalidade\r\n };\r\n\r\n RequerimentoTransportadorVeiculo.push(item);\r\n };\r\n\r\n if (!!RequerimentoTransportadorVeiculo) {\r\n // Excluir veículos antes de adicionar os novos selecionados \r\n api_POST('requerimentoTransportador/PostRemoverVeiculosRequerimento/' + requerimento.requerimento_Id)\r\n .then(result => {\r\n let _requerimento = requerimento;\r\n _requerimento.requerimentoTransportadorVeiculo = new Array();\r\n _requerimento.requerimentoTransportadorVeiculo = RequerimentoTransportadorVeiculo;\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n };\r\n }\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n loadProtocolo(location.state.protocolo.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n loadProtocolo(location.state.protocolo.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const loadProtocolo = (protocolo_Id) => {\r\n api_GET('ProtocoloTransportador/' + protocolo_Id)\r\n .then(result => set_protocolo(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n var TodosAlteracao = true;\r\n\r\n if (!!requerimento.requerimentoTransportadorVeiculo) {\r\n for (var validaAlteracao of requerimento.requerimentoTransportadorVeiculo) {\r\n if ((!!validaAlteracao.Alteracao) && (TodosAlteracao)) {\r\n TodosAlteracao = true;\r\n }\r\n else {\r\n TodosAlteracao = false;\r\n }\r\n }\r\n }\r\n\r\n if (TodosAlteracao == false) {\r\n showQuestion(\"Aviso\", \"Existem veículos que ainda não foram alterados. Deseja criar o requerimento mesmo assim? Com a confirmação, os veículos pendentes serão ignorados\", \"question\", function (retorno) {\r\n if (retorno) {\r\n finalizaSolicitacaoRequerimento();\r\n }\r\n });\r\n }\r\n else {\r\n finalizaSolicitacaoRequerimento();\r\n }\r\n\r\n }\r\n\r\n const finalizaSolicitacaoRequerimento = () => {\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => {\r\n showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () {\r\n history.push(\"/auth/meucadastro\");\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 && protocolo != null &&\r\n \r\n \r\n \r\n

Lista de Veículos

\r\n
\r\n \r\n \r\n {\r\n setVeiculosAlteracao(rows)\r\n }}\r\n localization={table_translate}\r\n />\r\n \r\n \r\n \r\n \r\n {handleProximoStep != null &&\r\n Próxima Etapa \r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n {\r\n step == 1 &&\r\n \r\n \r\n }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n Row,\r\n Col,\r\n Container\r\n} from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from '../../../views/Shared/Transportador/Identificacao';\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function TransportadorRequerimentoAlteracao({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [opcao, set_opcao] = React.useState(Object);\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const steps = ['Identificação', 'Documentos'];\r\n const [step, set_step] = React.useState(0);\r\n\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 1) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Transportador\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 && }\r\n {step == 1 &&\r\n \r\n }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// reactstrap components\r\nimport {\r\n Button,\r\n Card,\r\n CardBody,\r\n Row,\r\n Col,\r\n Form,\r\n FormGroup,\r\n Input\r\n} from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { InputTELEFONE } from \"../../services/mask.js\";\r\nimport { api_PUT } from \"../../services/api_service.js\";\r\n\r\n//helpers\r\nimport { ValidaEmail } from \"../../helpers/email\";\r\n\r\n//Context\r\nimport { useAuth } from '../../context/auth';\r\n\r\n\r\nexport default function AtualizarContato({ history }) {\r\n const { setLoading } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n\r\n const location = useLocation();\r\n\r\n const [step, set_step] = React.useState(0);\r\n\r\n const loadDefaultValues = (field) => {\r\n var item = location.state.protocolo;\r\n\r\n if (item == null)\r\n return \"\";\r\n\r\n if (item.segmentoProtocolo == 'Grande Gerador' || item.segmentoProtocolo == 'Gerador') {\r\n switch (field) {\r\n case \"Telefone\": return item.protocoloGerador.length > 0 ? item.protocoloGerador[0].telefone : \"\";\r\n case \"Celular\": return item.protocoloGerador.length > 0 ? item.protocoloGerador[0].celular : \"\";\r\n case \"Email\": return item.email ? item.email : \"\";\r\n }\r\n }\r\n\r\n if (item.segmentoProtocolo == 'Transportador') {\r\n switch (field) {\r\n case \"Telefone\": return item.protocoloTransportador.length > 0 ? item.protocoloTransportador[0].telefone : \"\";\r\n case \"Celular\": return item.protocoloTransportador.length > 0 ? item.protocoloTransportador[0].celular : \"\";\r\n case \"Email\": return item.email ? item.email : \"\";\r\n }\r\n }\r\n\r\n if (item.segmentoProtocolo == 'Destino Final') {\r\n switch (field) {\r\n case \"Telefone\": return item.protocoloDestino.length > 0 ? item.protocoloDestino[0].telefone : \"\";\r\n case \"Celular\": return item.protocoloDestino.length > 0 ? item.protocoloDestino[0].celular : \"\";\r\n case \"Email\": return item.email ? item.email : \"\";\r\n }\r\n }\r\n\r\n }\r\n // E-Mail\r\n const [email, set_email] = React.useState(location.state.protocolo.email);\r\n const handleEmail = (event) => {\r\n\r\n if (event.target.value.length == 0)\r\n return;\r\n\r\n set_email(event.target.value);\r\n\r\n ValidaEmail(event.target.value, handleRetornoValidaEmail);\r\n }\r\n const handleRetornoValidaEmail = (result) => {\r\n if (!result.data) {\r\n showMessage(\"Aviso\", \"E-mail inválido.\", 'error', null);\r\n setValue(\"email\", \"\");\r\n set_email(\"\");\r\n }\r\n }\r\n\r\n\r\n const onSubmit = (data) => {\r\n setLoading(true);\r\n let item = location.state.protocolo;\r\n let controller = '';\r\n\r\n if (email == null || email.length == 0) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"E-mail não informado\", 'error', null);\r\n return;\r\n }\r\n\r\n if (data.telefone == null || data.telefone.length == 0) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Telefone não informado\", 'error', null);\r\n return;\r\n }\r\n\r\n if (data.password != '' || data.password.length > 0) {\r\n if (data.password.length < 5) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"A senha precisa conter no mínimo 5 caracteres\", 'error', null);\r\n return;\r\n }\r\n if (data.passwordRpt == null || data.passwordRpt == 0) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"É necessário repetir a senha\", 'error', null);\r\n return;\r\n } else if (data.passwordRpt != data.password) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"As senhas não conferem\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n var itemAtualizado = JSON.parse(JSON.stringify(item));;\r\n\r\n itemAtualizado.email = data.email.length > 0 || data.email != '' ? data.email : item.email;\r\n itemAtualizado.senha = data.password.length > 0 || data.password != '' ? data.password : item.senha;\r\n\r\n if (item.segmentoProtocolo == 'Grande Gerador' || item.segmentoProtocolo == 'Gerador') {\r\n itemAtualizado.protocoloGerador[0].telefone = data.telefone.length > 0 || data.telefone != '' ? data.telefone : item.protocoloGerador[0].telefone;\r\n itemAtualizado.protocoloGerador[0].celular = data.celular.length > 0 || data.celular != '' ? data.celular : item.protocoloGerador[0].celular;\r\n controller = \"protocoloGerador\";\r\n }\r\n\r\n if (item.segmentoProtocolo == 'Transportador') {\r\n itemAtualizado.protocoloTransportador[0].telefone = data.telefone.length > 0 || data.telefone != '' ? data.telefone : item.protocoloTransportador[0].telefone;\r\n itemAtualizado.protocoloTransportador[0].celular = data.celular.length > 0 || data.celular != '' ? data.celular : item.protocoloTransportador[0].celular\r\n controller = \"protocoloTransportador\";\r\n }\r\n\r\n if (item.segmentoProtocolo == 'Destino Final') {\r\n itemAtualizado.protocoloDestino[0].telefone = data.telefone.length > 0 || data.telefone != '' ? data.telefone : item.protocoloDestino[0].telefone;\r\n itemAtualizado.protocoloDestino[0].celular = data.celular.length > 0 || data.celular != '' ? data.celular : item.protocoloDestino[0].celular\r\n controller = \"protocoloDestino\";\r\n }\r\n\r\n\r\n api_PUT(`${controller}/PutContatoProtocolo`, itemAtualizado)\r\n .then(result => {\r\n setLoading(false);\r\n history.push({\r\n pathname: '/auth/MeuCadastro',\r\n })\r\n showMessage(\"Aviso\", \"Operação executada com sucesso!\", 'success', null);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {step == 0 &&\r\n <>\r\n \r\n \r\n
\r\n

Dados de Contato

\r\n \r\n \r\n \r\n \r\n \r\n {errors.email && * Campo Obrigatório}\r\n {errors.emailInvalido && E-mail Inválido}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.telefone && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.telefone && * Campo Obrigatório}\r\n \r\n \r\n \r\n

Senha de Acesso

\r\n \r\n \r\n \r\n \r\n \r\n {errors.password && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.password && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n }\r\n
\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, Container, Card, CardBody } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Equipamentos from \"../../../views/Shared/Transportador/Equipamentos\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function TransportadorRequerimentoAlteracaoEquipamento({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Transportador\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([\"Equipamentos\", \"Documentos\"]);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 1) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento).then(result => { showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n \r\n }\r\n {step == 1 &&\r\n \r\n }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// Reactstrap components\r\nimport { Button, Card, CardHeader, CardBody, CardFooter, FormGroup, Input, Row, Col, Container, Modal, ModalHeader, ModalBody, ModalFooter } from \"reactstrap\";\r\n\r\n// services\r\nimport { api_GET, api_POST } from \"../../services/api_service.js\";\r\nimport { showMessage, showQuestion } from \"../../services/message.js\";\r\nimport { CancelarRequerimentoByProtocolo } from \"../../services/requerimento_service.js\";\r\n\r\n// views\r\nimport FichaTransportador from \"../Shared/Transportador/FichaTransportador\";\r\nimport FichaGerador from \"../Shared/Gerador/FichaGerador\";\r\nimport FichaDestino from \"../Shared/Destino/FichaDestino\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function MeuCadastro({ history }) {\r\n const { session, setLoading, signIn, signOut, setupSistema } = useAuth();\r\n const { register, errors, setError, clearErrors, getValues } = useForm({ mode: \"onBlur\" });\r\n const [protocolo, set_protocolo] = useState(null);\r\n const [meuCadastro, set_MeuCadastro] = useState();\r\n const [itemMeuCadastro, set_itemMeuCadastro] = useState(null);\r\n\r\n const handleClickConsultar = () => {\r\n setLoading(true);\r\n let data = getValues();\r\n\r\n if (data.cpf_cnpj == \"\") {\r\n showMessage(\"Atenção\", \"Informe o CNPJ/CPF para acessar MEU CADASTRO!\", 'warning', null);\r\n setLoading(false);\r\n return;\r\n }\r\n\r\n api_GET('protocolo/MeuCadastro/' + data.cpf_cnpj)\r\n .then(result => set_MeuCadastro(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleCard = (item, key) => {\r\n return (\r\n \r\n \r\n \r\n {item.categoria_Descricao == \"RSS\" ? item.segmento.replace(\"Grande\", \"\") : item.segmento}\r\n
\r\n \r\n
\r\n Responsável: {item.nomeResponsavel}
\r\n Endereço: {item.endereco}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {item.mensagemBloqueioNovoCadastro != null &&\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n }\r\n {item.mensagemBloqueioNovoCadastro == null &&\r\n \r\n }\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n const handleCancelarRequerimento = (item) => {\r\n showQuestion('Atenção', 'Deseja cancelar este requerimento?', 'question', function (result) {\r\n if (result) {\r\n setLoading(true);\r\n CancelarRequerimentoByProtocolo(item.protocolo_Id, function (result) {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Requerimento cancelado com sucesso!\", 'success', function () { window.location.reload() })\r\n })\r\n }\r\n })\r\n }\r\n\r\n const [esqueceuSenha, set_esqueceuSenha] = useState(false);\r\n const [recuperarRequerimento, set_recuperarRequerimento] = useState(false);\r\n\r\n const [modal, setModal] = useState(false);\r\n const openModal = (item) => {\r\n set_itemMeuCadastro(item);\r\n set_esqueceuSenha(false);\r\n setModal(!modal);\r\n }\r\n\r\n const loadProtocolo = (sessionData = null) => {\r\n let paramentros = { protocolo_Id: null, senha: null }\r\n\r\n if (sessionData) {\r\n paramentros.protocolo_Id = sessionData.protocolo_Id;\r\n paramentros.senha = sessionData.senha;\r\n } else {\r\n let data = getValues();\r\n paramentros.senha = data.senhaModal;\r\n paramentros.protocolo_Id = itemMeuCadastro.protocolo_Id;\r\n }\r\n\r\n set_protocolo(null);\r\n setLoading(true);\r\n api_POST(\"Authenticate/AutenticarUsuarioProtocolo\", { protocolo_Id: paramentros.protocolo_Id, password: paramentros.senha })\r\n .then(responseToken => {\r\n setModal(false);\r\n if (responseToken.data?.accessToken) {\r\n api_GET('protocolo/ByDocumentoProtocolo/' + paramentros.protocolo_Id)\r\n .then(response => {\r\n if (response.data.status == \"Pendente\") {\r\n if (response.data.requerimento.filter(f => f.status == \"Em Andamento\" || f.status == \"Pendente\" || f.status == \"Divergente\").length == 0) {\r\n showMessage(\"Atenção\", \"Não foi localizado o requerimento do seu protocolo!\", 'warning', null);\r\n return;\r\n }\r\n else {\r\n setTimeout(function () {\r\n let _requerimento = response.data.requerimento.filter(f => f.status == \"Em Andamento\" || f.status == \"Pendente\" || f.status == \"Divergente\")[0];\r\n history.push({ pathname: \"/auth/ConsultaRequerimento\", state: { protocolo: response.data, requerimento: _requerimento } });\r\n }, 500)\r\n }\r\n }\r\n else {\r\n responseToken.data.senha = paramentros.senha;\r\n signIn(responseToken.data);\r\n set_protocolo(response.data);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false))\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const confirmaSenha = () => {\r\n let data = getValues();\r\n\r\n if (!data.senhaModal) {\r\n showMessage(\"Atenção\", \"Informe a senha para acessar MEU CADASTRO!\", 'warning', null);\r\n return;\r\n }\r\n\r\n loadProtocolo(null);\r\n }\r\n\r\n const recuperarSenha = () => {\r\n clearErrors();\r\n let data = getValues();\r\n\r\n if (data.novoEmail.length == 0 || data.codigoCadastro.length == 0) {\r\n if (data.novoEmail.length == 0)\r\n setError(\"novoEmail\", { type: \"focus\" }, { shouldFocus: false });\r\n if (data.codigoCadastro.length == 0)\r\n setError(\"codigoCadastro\", { type: \"focus\" }, { shouldFocus: false });\r\n return;\r\n }\r\n\r\n let new_password = Math.random().toString(36).slice(-8);\r\n let json_post = {\r\n protocolo_Id: itemMeuCadastro.protocolo_Id,\r\n novaSenha: new_password,\r\n email: data.novoEmail,\r\n codigoCadastro: data.codigoCadastro\r\n }\r\n\r\n setLoading(true);\r\n api_POST(`protocolo/PostAtualizarSenha`, json_post)\r\n .then(result => showMessage(\"Atenção\", \"Uma nova senha foi enviada para seu email.\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleRecuperarRequerimento = (item) => {\r\n openModal(item);\r\n set_recuperarRequerimento(true);\r\n }\r\n\r\n const confirmarRecuperarRequerimento = () => {\r\n clearErrors();\r\n let data = getValues();\r\n\r\n if (data.novoEmail.length == 0) {\r\n if (data.novoEmail.length == 0)\r\n setError(\"novoEmail\", { type: \"focus\" }, { shouldFocus: false });\r\n return;\r\n }\r\n\r\n let json_post = {\r\n protocolo_Id: itemMeuCadastro.protocolo_Id,\r\n email: data.novoEmail\r\n }\r\n\r\n setLoading(true);\r\n api_POST(`protocolo/PostRecuperarRequerimento`, json_post)\r\n .then(result => showMessage(\"Atenção\", \"Enviado o Requerimento para E-Mail informado.\", 'success', null))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n if (session && session.tipoAcesso != \"Protocolo\") {\r\n signOut(false);\r\n window.location.reload();\r\n }\r\n if (session && (new Date(session.expiration) < new Date())) {\r\n signOut(false);\r\n window.location.reload();\r\n } \r\n if (session && session.tipoAcesso == \"Protocolo\" && protocolo == null)\r\n loadProtocolo(session);\r\n }, [session]);\r\n\r\n return (\r\n <>\r\n
\r\n {protocolo == null &&\r\n \r\n \r\n \r\n {!meuCadastro &&\r\n

Meu Cadastro {setupSistema?.identificacao}

\r\n }\r\n {meuCadastro &&\r\n

Bem-vindo

\r\n }\r\n {meuCadastro && meuCadastro.segmentos.filter(f => f.statusProtocolo == \"Ativo\").length > 0 && setupSistema && setupSistema.tipoCertificadoTransportador == \"Unificado\" &&\r\n
\r\n
\r\n
Clique no QRCode abaixo para extrair seu Certificado
\r\n window.open(\"/empty/CertificadoTransportadorUnificado?protocolo=\" + meuCadastro.segmentos[0].numeroProtocolo, \"_blank\")} className=\"fas fa-qrcode fa-2x\">\r\n
\r\n
\r\n }\r\n
\r\n \r\n {!meuCadastro &&\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n {meuCadastro != null && meuCadastro.segmentos.length > 0 &&\r\n \r\n {meuCadastro.segmentos.map((item, key) => {\r\n return handleCard(item, key);\r\n })}\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n }\r\n\r\n setModal(false)}>\r\n setModal(false)}>×}\r\n className=\"md-hd\"> Acesso de {itemMeuCadastro && itemMeuCadastro.nomeResponsavel}\r\n \r\n \r\n \r\n {!esqueceuSenha && !recuperarRequerimento &&\r\n \r\n \r\n \r\n \r\n \r\n set_esqueceuSenha(true)}>Esqueci a Senha\r\n \r\n \r\n \r\n }\r\n {esqueceuSenha &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.novoEmail && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.codigoCadastro && * Campo Obrigatório}\r\n \r\n \r\n \r\n \r\n ATENÇÃO!\r\n Caso você seja Grande Gerador de Resíduo Comum (RGG), o seu Código Cadastro - SP Regula se encontra abaixo do QR-Code escaneado durante as coletas.\r\n Insira o código sem as letras e com a barra.\r\n Exemplo: 1234567/2024\r\n Para os demais resíduos como RCC e RSS favor entrar em contato com a SP-REGULA\r\n \r\n \r\n \r\n }\r\n {recuperarRequerimento &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {errors.novoEmail && * Campo Obrigatório}\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n {!esqueceuSenha && !recuperarRequerimento &&\r\n \r\n }\r\n {esqueceuSenha && !recuperarRequerimento &&\r\n \r\n }\r\n {!esqueceuSenha && recuperarRequerimento &&\r\n \r\n }\r\n \r\n \r\n \r\n \r\n\r\n {protocolo != null && protocolo.protocoloTransportador != null && protocolo.protocoloTransportador.length > 0 && protocolo.status !== \"Pendente\" &&\r\n \r\n }\r\n {protocolo != null && protocolo.protocoloGerador != null && protocolo.protocoloGerador.length > 0 && protocolo.status !== \"Pendente\" &&\r\n \r\n }\r\n {protocolo != null && protocolo.protocoloDestino != null && protocolo.protocoloDestino.length > 0 && protocolo.status !== \"Pendente\" &&\r\n \r\n }\r\n
\r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n\r\n\r\n// services\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { showMessage } from \"../../services/message.js\";\r\n\r\n// views\r\nimport FichaRequerimentoTransportador from \"../../views/Shared/Transportador/FichaRequerimento\"\r\nimport FichaRequerimentoGerador from \"../../views/Shared/Gerador/FichaRequerimento\"\r\nimport FichaRequerimentoDestino from \"../../views/Shared/Destino/FichaRequerimento\"\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function ConsultaRequerimento({ history }) {\r\n const { setLoading } = useAuth();\r\n\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n useEffect(() => {\r\n if (location.state.requerimento != null) {\r\n set_requerimento(null);\r\n setLoading(true);\r\n getRequerimento(location.state.requerimento.numeroRequerimento, location.state.protocolo.senha);\r\n }\r\n }, []);\r\n\r\n const getRequerimento = (numeroRequerimento, senha) => {\r\n api_GET('requerimento/ByNumeroRequerimentoSenha/' + numeroRequerimento + \"/\" + senha).then(result => {\r\n if (result.data.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Transportador\") {\r\n api_GET('protocolotransportador/' + result.data.protocolo_Id)\r\n .then(result_protocolo => handleOpenRequerimentoTransportador(result_protocolo.data, result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else if (result.data.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Grande Gerador\") {\r\n api_GET('protocologerador/' + result.data.protocolo_Id)\r\n .then(result_protocolo => handleOpenRequerimentoGerador(result_protocolo.data, result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else if (result.data.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Destino Final\") {\r\n api_GET('protocolodestino/' + result.data.protocolo_Id)\r\n .then(result_protocolo => handleOpenRequerimentoDestino(result_protocolo.data, result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleOpenRequerimentoTransportador = (protocolo, rowData) => {\r\n if (rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\") {\r\n switch (rowData.setupSolicitacaoAcao.acao) {\r\n case \"Novo Cadastro\": {\r\n window.location = '/auth/TransportadorRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n break;\r\n }\r\n case \"Inclusão\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoInclusaoVeiculo',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Exclusão\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoExclusaoVeiculo',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Renovação\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Cancelamento\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração\":\r\n history.push({\r\n pathname: '/auth/TransportadorRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n }\r\n }\r\n else {\r\n set_requerimento(rowData);\r\n }\r\n }\r\n\r\n const handleOpenRequerimentoGerador = (protocolo, rowData) => {\r\n if (rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\") {\r\n switch (rowData.setupSolicitacaoAcao.acao) {\r\n case \"Novo Cadastro\":\r\n if (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RCC\" || protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\")\r\n window.location = '/auth/GeradorRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n else\r\n window.location = '/auth/GeradorRSSRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n break;\r\n case \"Renovação\":\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Cancelamento\":\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoCancelamento',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração\":\r\n if (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RCC\" || protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\")\r\n history.push({\r\n pathname: '/auth/GeradorRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n else\r\n history.push({\r\n pathname: '/auth/GeradorRSSRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n }\r\n }\r\n else {\r\n set_requerimento(rowData);\r\n }\r\n }\r\n\r\n const handleOpenRequerimentoDestino = (protocolo, rowData) => {\r\n if (rowData.status == \"Em Andamento\" || rowData.status == \"Divergente\") {\r\n switch (rowData.setupSolicitacaoAcao.acao) {\r\n case \"Novo Cadastro\":\r\n window.location = '/auth/DestinoRequerimento?protocolo=' + protocolo.numeroProtocolo;\r\n break;\r\n case \"Inclusão\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoInclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Exclusão\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoExclusaoLocal',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Renovação\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoRenovacao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n case \"Alteração\":\r\n history.push({\r\n pathname: '/auth/DestinoRequerimentoAlteracao',\r\n state: { protocolo: protocolo, setupSolicitacaoAcao: rowData.setupSolicitacaoAcao, requerimento: rowData }\r\n });\r\n break;\r\n }\r\n }\r\n else {\r\n set_requerimento(rowData);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n\r\n {requerimento != null && requerimento.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Transportador\" &&\r\n \r\n }\r\n {requerimento != null && requerimento.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Grande Gerador\" &&\r\n \r\n }\r\n {requerimento != null && requerimento.setupSolicitacaoAcao.setupSolicitacao.segmento == \"Destino Final\" &&\r\n \r\n }\r\n\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport queryString from 'query-string';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate } from \"../../helpers/formats\";\r\n\r\n// components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\nimport { useAuth } from \"context/auth\";\r\n\r\nexport default function CarteirinhaVeiculo({ history }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n const [titleCard, setTitleCard] = useState(\"Transportador de Entulho\")\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n setLoading(true);\r\n api_GET('protocolotransportador/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n if (result.data.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.sigla == \"RGG\")\r\n setTitleCard(\"Transportador de Grandes Geradores\")\r\n\r\n let protocolo = result.data;\r\n let _carteirinha = {\r\n codCadastro: protocolo.codigoCadastro,\r\n validade: protocolo.dataFimVigencia,\r\n placa: protocolo.protocoloTransportador[0].protocoloTransportadorVeiculo.filter(f => f.protocoloTransportadorVeiculo_Id == params.veiculo)[0].placa,\r\n documento: protocolo.cpf_Cnpj,\r\n nome: protocolo.protocoloTransportador[0].razaoSocial,\r\n endereco: protocolo.protocoloTransportador[0].logradouro + \", \" + protocolo.protocoloTransportador[0].numEndereco + \", \" + protocolo.protocoloTransportador[0].bairro,\r\n protocolo: params.protocolo,\r\n veiculo: params.veiculo,\r\n status: protocolo.protocoloTransportador[0].protocoloTransportadorVeiculo.filter(f => f.protocoloTransportadorVeiculo_Id == params.veiculo)[0].status\r\n }\r\n set_dadoscarteirinha(_carteirinha);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {(dadoscarteirinha != null && dadoscarteirinha.status == \"Ativo\") ?\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n

{titleCard}

\r\n \r\n \r\n \r\n \r\n \r\n Código Cadastro - {setupSistema?.identificacao}:
{dadoscarteirinha.codCadastro}\r\n \r\n \r\n Validade:
{formateDate(dadoscarteirinha.validade)}\r\n \r\n \r\n Placa:
{dadoscarteirinha.placa}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"CNPJ\" : \"CPF\"}: {dadoscarteirinha.documento}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"Razão Social\" : \"Nome\"}: {dadoscarteirinha.nome}\r\n \r\n \r\n Endereço: {dadoscarteirinha.endereco}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n :\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n

{titleCard}

\r\n \r\n \r\n \r\n \r\n \r\n
Não é possível visualizar a carteirinha de um veículo inativo
\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 queryString from 'query-string';\r\nimport MaterialTable from 'material-table';\r\n\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container, Modal, ModalBody, Button, ModalFooter } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Gerador/Identificacao\";\r\nimport LocaisColeta from \"../../../views/Shared/Gerador/LocaisColeta\";\r\nimport Residuos from \"../../../views/Shared/Gerador/Residuos\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\nimport CaracterizacaoResiduos from 'views/Shared/Gerador/CaracterizacaoResiduos';\r\n\r\n//Contants\r\nimport { table_translate, table_style } from '../../../constants/MaterialTable';\r\n\r\n//Helpers\r\nimport mascaras from '../../../helpers/mascaras';\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function GeradorRequerimentoNovoCadastro({ history }) {\r\n const { session, setupSistema } = useAuth();\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n // State para pega a opção do cadastro\r\n const [opcao, set_opcao] = useState(null);\r\n\r\n // State para definir o passa a passa do formulário\r\n const [steps, setSteps] = useState([]);\r\n\r\n //State para modal\r\n const [isModal, setIsModal] = useState(false);\r\n\r\n //Função para alterar o state do modal\r\n const toggle = () => setIsModal(!isModal);\r\n\r\n //State para pegar os transportadores no sistema de cadastro do tipo RGG\r\n const [list_transportadoresRGG, set_list_transportadores] = useState([]);\r\n\r\n //State para controlar o botão para aparecer ou não a olista dos transportadores\r\n const [visualizarTransportadores, setVisualizarTransportadoes] = useState(false);\r\n\r\n const [step, set_step] = useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadTransportadoresRGG = () => {\r\n api_GET('ProtocoloTransportador/GetListTransportadoresRGG').then(result => {\r\n set_list_transportadores(result.data.map(value => {\r\n value.telefone = mascaras.telefoneMask(value.telefone);\r\n return value;\r\n }))\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n\r\n const loadRequerimento = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n if (params != null && params.protocolo != null) {\r\n api_GET('requerimento/ByNumeroProtocolo/' + params.protocolo)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n\r\n if (result.data.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla != \"RGG\") {\r\n setSteps(['Identificação', 'Locais de Coleta', 'Resíduos', 'Documentação']);\r\n setIsModal(false);\r\n } else {\r\n setSteps(['Identificação', 'Locais de Coleta', 'Caracterização dos Residuos', 'Documentação']);\r\n if (result.data.requerimentoGeradorLocal.length == 0) {\r\n loadTransportadoresRGG();\r\n }\r\n setIsModal(true)\r\n }\r\n set_requerimento(result.data);\r\n\r\n if (result.data.status == \"Divergente\")\r\n set_step(0);\r\n else if (result.data.etapaCadastro != null)\r\n set_step(result.data.etapaCadastro);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n\r\n return (\r\n <>\r\n {isModal && step == 0 &&\r\n \r\n \r\n \r\n \r\n

Você já possui contrato de coleta privada?

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

\r\n Caso possua, pode prosseguir para a próxima etapa, onde você deverá informar o endereço de coleta e incluir o contrato que possui com o Transportador.\r\n

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

\r\n Caso não possua, verifique abaixo a lista dos Transportadores credenciados na SP Regula. Para prosseguir com seu cadastro, você terá que contratar a coleta privada primeiro, pois será necessário incluir o contrato de prestação de serviços na solicitação de cadastro.\r\n

\r\n \r\n
\r\n {list_transportadoresRGG.length > 0 &&\r\n \r\n \r\n setVisualizarTransportadoes(!visualizarTransportadores)}\r\n >\r\n Visualizar transportadores\r\n \r\n \r\n {visualizarTransportadores &&\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n
\r\n \r\n \r\n \r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 &&\r\n \r\n }\r\n\r\n {step == 1 &&\r\n \r\n }\r\n\r\n {opcao.categoria.sigla != \"RGG\" && step == 2 &&\r\n \r\n\r\n }\r\n\r\n {opcao.categoria.sigla == \"RGG\" && step == 2 &&\r\n \r\n }\r\n\r\n {step == 3 &&\r\n \r\n }\r\n\r\n {step == 4 &&\r\n \r\n }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && step == 5 &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Gerador/Identificacao\";\r\nimport LocaisColeta from \"../../../views/Shared/Gerador/LocaisColeta\";\r\nimport Residuos from \"../../../views/Shared/Gerador/Residuos\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\nimport CaracterizacaoResiduos from '../../../views/Shared/Gerador/CaracterizacaoResiduos';\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function GeradorRequerimentoRenovacaoCadastro({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n // State para pega a opção do cadastro\r\n const [opcao, set_opcao] = useState(null);\r\n\r\n // State para definir o passa a passa do formulário\r\n const [steps, setSteps] = useState([]);\r\n\r\n const [step, set_step] = useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n\r\n if (result.data.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla != \"RGG\") {\r\n setSteps(['Identificação', 'Locais de Coleta', 'Resíduos', 'Documentação']);\r\n } else {\r\n setSteps(['Identificação', 'Locais de Coleta', 'Caracterização dos Residuos', 'Documentação']);\r\n }\r\n\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });;\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 &&\r\n \r\n }\r\n\r\n {step == 1 &&\r\n \r\n }\r\n {step == 2 && opcao.categoria.sigla != \"RGG\" &&\r\n \r\n }\r\n\r\n {step == 2 && opcao.categoria.sigla == \"RGG\" &&\r\n \r\n }\r\n\r\n {step == 3 &&\r\n \r\n }\r\n\r\n {step == 4 &&\r\n \r\n }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && step == 5 &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, Container, Card, CardBody } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport LocaisColeta from \"../../../views/Shared/Gerador/LocaisColeta\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function GeradorRequerimentoInclusaoLocal({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Locais de Coleta\", \"Documentação\"]);\r\n else\r\n set_steps([\"Locais de Coleta\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 1) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => { showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && 1 ? handleProximoStep : handleFinalizarRequerimento}>}\r\n {step == 1 && }\r\n
\r\n }\r\n\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, Container, Card, CardBody } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport ListaLocaisColetaExclusao from \"../../../views/Shared/Gerador/ListaLocaisColetaExclusao\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function GeradorRequerimentoExclusaoLocal({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Locais de Coleta\", \"Documentos\"]);\r\n else\r\n set_steps([\"Locais de Coleta\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 2) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const loadProtocolo = (protocolo_Id) => {\r\n api_GET('ProtocoloGerador/' + protocolo_Id).then(result => {\r\n set_protocolo(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => { showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 && 1 ? handleProximoStep : handleFinalizarRequerimento}>}\r\n {step == 1 && }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n\r\n// API\r\nimport { api_GET, api_POST } from \"../../../services/api_service\";\r\n\r\n//Helpers\r\nimport { showMessage } from \"../../../services/message\";\r\n\r\n//Views\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport CaracterizacaoResiduos from \"../../../views/Shared/Gerador/CaracterizacaoResiduos\";\r\nimport Residuos from \"../../../views/Shared/Gerador/Residuos\";\r\nimport LocaisColeta from \"../../../views/Shared/Gerador/LocaisColeta\";\r\nimport Identificacao from \"../../../views/Shared/Gerador/Identificacao\";\r\n\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../../context/auth\";\r\n\r\nexport default function RequerimentoAlteracaoCadastro({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = useState(null);\r\n\r\n // State para pega a opção do cadastro\r\n const [opcao, set_opcao] = useState(null);\r\n\r\n // State para definir o passa a passa do formulário\r\n const [steps, setSteps] = useState([]);\r\n\r\n const [step, set_step] = useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento', json_submit)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n\r\n if (result.data.setupSolicitacaoAcao.setupSolicitacao.categoria.sigla != \"RGG\") {\r\n setSteps(['Identificação', 'Locais de Coleta', 'Resíduos', 'Documentação']);\r\n } else {\r\n setSteps(['Identificação', 'Locais de Coleta', 'Caracterização dos Residuos', 'Documentação']);\r\n }\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 &&\r\n \r\n }\r\n\r\n {step == 1 &&\r\n \r\n }\r\n\r\n {step == 2 && opcao.categoria.sigla != \"RGG\" &&\r\n \r\n }\r\n\r\n {step == 2 && opcao.categoria.sigla == \"RGG\" &&\r\n \r\n }\r\n\r\n {step == 3 &&\r\n \r\n }\r\n\r\n {step == 4 &&\r\n \r\n }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && step == 5 &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport queryString from 'query-string';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate } from \"../../helpers/formats\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth.js\";\r\n\r\n//Components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema.jsx\";\r\n\r\nexport default function CarteirinhaGG({ history }) {\r\n\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = React.useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n\r\n setLoading(true);\r\n api_GET('ProtocoloGerador/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n let protocolo = result.data;\r\n\r\n // array dos locais\r\n const _enderencosLocais = protocolo.protocoloGerador && protocolo.protocoloGerador[0].protocoloGeradorLocais\r\n\r\n let _carteirinha = {\r\n sigla: protocolo?.setupSolicitacaoAcaoNovoCadastro?.setupSolicitacao?.categoria?.sigla,\r\n codCadastro: protocolo.codigoCadastro,\r\n validade: protocolo.dataFimVigencia,\r\n documento: protocolo.cpf_Cnpj,\r\n nome: protocolo.protocoloGerador[0].razaoSocial,\r\n endereco: _enderencosLocais,\r\n protocolo: params.protocolo,\r\n }\r\n set_dadoscarteirinha(_carteirinha);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha != null &&\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n

Grandes Geradores de Resíduos {dadoscarteirinha.sigla == \"RGG\" ? \"Sólidos\" : \"Inertes\"}

\r\n \r\n \r\n \r\n \r\n \r\n Nº de Cadastro:
{dadoscarteirinha.codCadastro}\r\n \r\n \r\n Validade:
{formateDate(dadoscarteirinha.validade)}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"CNPJ\" : \"CPF\"}: {dadoscarteirinha.documento}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"Razão Social\" : \"Nome\"}: {dadoscarteirinha.nome}\r\n \r\n {dadoscarteirinha.endereco.length > 0 && dadoscarteirinha.endereco.map((value, index) => (\r\n \r\n Endereço{dadoscarteirinha.endereco.length > 1 ? `(${index + 1}):` : \":\"} {value.logradouro + \", \" + value.numEndereco + \", \" + value.bairro}\r\n \r\n ))}\r\n
\r\n \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, useRef, useState } from \"react\";\r\nimport queryString from 'query-string';\r\nimport { useReactToPrint } from \"react-to-print\";\r\n\r\n// reactstrap components\r\nimport { Button } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\n\r\n//Logos\r\nimport ImageLogo from \"../../assets/img/logoSPRegula.png\";\r\nimport logoFooterSPRegula from \"../../assets/img/logoFooterSPRegula.png\"\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function QrCodeLocalidadeRGG({ history }) {\r\n const { setLoading } = useAuth();\r\n const [localidades, setLocalidades] = useState([]);\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const componentRef = useRef();\r\n const handlePrint = useReactToPrint({\r\n content: () => componentRef.current,\r\n copyStyles: true\r\n });\r\n\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n setLoading(true);\r\n api_GET('ProtocoloGerador/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n let protocolo = result.data;\r\n if (protocolo) {\r\n api_GET('RGG/GetLocalidadesGeradoresTAG/' + protocolo.cpf_Cnpj).then(result => {\r\n if (result.data?.length > 0 && result.data.filter(x => x.contratos.length > 0).length == 0) {\r\n showMessage(\"Aviso\", \"Você não possuir contratos!\", 'warning', null);\r\n return;\r\n }\r\n setLocalidades(result.data)\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else {\r\n showMessage(\"Error\", \"Error ao consultar QrCodes do contratos.\", 'error', null);\r\n return;\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {localidades.length > 0 && localidades.filter(x => x.contratos.length > 0).length > 0 &&\r\n <>\r\n \r\n
\r\n \r\n
\r\n
\r\n {localidades.map((local, key) => (\r\n local.contratos.map((contrato, keyContrato) => (\r\n
\r\n
\r\n {!!ImageLogo && \"Logo\"}\r\n
\r\n
\r\n \r\n
\r\n

{contrato.modalidade}

\r\n

Gerador: {local.identificacao}

\r\n

Transportador: {contrato.nomeFantasiaTransportador}

\r\n\r\n
\r\n {!!logoFooterSPRegula &&\r\n \"Footer\r\n }\r\n

Endereço: {local.logradouro}, {local.numero}, {local.bairro}{local.complemento ? ` - ${local.complemento}` : \"\"}, {local.cidade} - {local.uf}

\r\n
\r\n
\r\n ))\r\n ))}\r\n
\r\n \r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport queryString from 'query-string';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Gerador/Identificacao\";\r\nimport CaracterizacaoResiduos from \"../../../views/Shared/Gerador/CaracterizacaoResiduos\";\r\nimport LocaisArmazenagem from \"../../../views/Shared/Gerador/LocaisArmazenagem\";\r\nimport LocaisColeta from '../../../views/Shared/Gerador/LocaisColeta';\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function GeradorRSSRequerimentoNovoCadastro({ history }) {\r\n const { session, setupSistema } = useAuth();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n let _classificacaoGG = [\"EGRS 1\", \"EGRS 2\", \"EGRS 3\", \"EGRS 4\", \"EGRS 5\", \"EGRS 6\"]\r\n\r\n const steps = ['Identificação', 'Caracterização dos Resíduos', 'Armazenagem dos Resíduos', 'Pontos de Coleta', 'Documentação'];\r\n const [step, set_step] = React.useState(0);\r\n\r\n const [opcao, set_opcao] = React.useState(Object);\r\n\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 6) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n if (step == 2 && _classificacaoGG.filter(f => f == _requerimento.requerimentoGerador[0].classificacaoEstabelecimento.codigo).length == 0)\r\n set_step(step + 2);\r\n else\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n if (step == 4 && _classificacaoGG.filter(f => f == _requerimento.requerimentoGerador[0].classificacaoEstabelecimento.codigo).length == 0)\r\n set_step(step - 2);\r\n else\r\n set_step(step - 1);\r\n }\r\n\r\n useEffect(() => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n if (params != null && params.protocolo != null) {\r\n api_GET('requerimento/ByNumeroProtocolo/' + params.protocolo)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n if (result.data.status == \"Divergente\")\r\n set_step(0);\r\n else if (result.data.etapaCadastro != null) {\r\n if (result.data.etapaCadastro == 3 && _classificacaoGG.filter(f => f == result.data.requerimentoGerador[0].classificacaoEstabelecimento.codigo).length == 0)\r\n set_step(4);\r\n else\r\n set_step(result.data.etapaCadastro);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && step < 6 &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && }\r\n {step == 1 && }\r\n {step == 2 && }\r\n {step == 3 && }\r\n {step == 4 && }\r\n {step == 5 && }\r\n
\r\n }\r\n\r\n {requerimento != null && step == 6 &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Gerador/Identificacao\";\r\nimport CaracterizacaoResiduos from \"../../../views/Shared/Gerador/CaracterizacaoResiduos\";\r\nimport LocaisArmazenagem from \"../../../views/Shared/Gerador/LocaisArmazenagem\";\r\nimport LocaisColeta from '../../../views/Shared/Gerador/LocaisColeta';\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function GeradorRSSRequerimentoNovoCadastro({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const location = useLocation();\r\n let _classificacaoGG = [\"EGRS 1\", \"EGRS 2\", \"EGRS 3\", \"EGRS 4\", \"EGRS 5\", \"EGRS 6\"]\r\n\r\n const steps = ['Identificação', 'Caracterização dos Resíduos', 'Armazenagem dos Resíduos', 'Pontos de Coleta', 'Documentação'];\r\n const [step, set_step] = React.useState(0);\r\n\r\n const [opcao, set_opcao] = React.useState(Object);\r\n\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 6) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n if (step == 2 && _classificacaoGG.filter(f => f == _requerimento.requerimentoGerador[0].classificacaoEstabelecimento.codigo).length == 0)\r\n set_step(step + 2);\r\n else\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n if (step == 4 && _classificacaoGG.filter(f => f == _requerimento.requerimentoGerador[0].classificacaoEstabelecimento.codigo).length == 0)\r\n set_step(step - 2);\r\n else\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Grande Gerador\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && step < 6 &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && }\r\n {step == 1 && }\r\n {step == 2 && }\r\n {step == 3 && }\r\n {step == 4 && }\r\n {step == 5 && }\r\n
\r\n }\r\n\r\n {requerimento != null && step == 6 &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport queryString from 'query-string';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Destino/Identificacao\";\r\nimport Locais from '../../../views/Shared/Destino/Locais';\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function DestinoRequerimentoNovoCadastro({ history }) {\r\n const { session, setupSistema } = useAuth();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if ((step == 3 && opcao.categoria.sigla != \"RGG\") || (step == 2 && opcao.categoria.sigla == \"RGG\")) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n useEffect(() => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n if (params != null && params.protocolo != null) {\r\n api_GET('requerimento/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n\r\n if (result.data.status == \"Divergente\")\r\n set_step(0);\r\n else if (result.data.etapaCadastro != null)\r\n set_step(result.data.etapaCadastro);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n }\r\n }, []);\r\n\r\n const steps = [];\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Locais de Destinação', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Documentação');\r\n }\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null && ((step < 3 && opcao.categoria.sigla == \"RGG\") || (step < 4 && opcao.categoria.sigla != \"RGG\")) &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 1 && : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 2 && \r\n :\r\n step == 1 && \r\n }\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 3 && \r\n :\r\n step == 2 && \r\n }\r\n
\r\n }\r\n {requerimento != null && opcao != null && (step == 4 || (opcao.categoria.sigla == \"RGG\" && step == 3)) &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Row, Col, Container, Card, CardBody } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Locais from \"../../../views/Shared/Destino/Locais\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function DestinoRequerimentoInclusaoLocal({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id).then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Locais de Destinação\", \"Documentação\"]);\r\n else\r\n set_steps([\"Locais de Destinação\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 1) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit).then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && 1 ? handleProximoStep : handleFinalizarRequerimento}>}\r\n {step == 1 && }\r\n
\r\n }\r\n\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"services/message.js\";\r\nimport { api_GET, api_POST } from \"services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Destino/Identificacao\";\r\nimport Locais from \"../../../views/Shared/Destino/Locais\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function DestinoRequerimentoRenovacaoCadastro({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if ((step == 3 && opcao.categoria.sigla != \"RGG\") || (step == 2 && opcao.categoria.sigla == \"RGG\")) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit).then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id).then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });;\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n const steps = [];\r\n\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Locais de Destinação', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Documentação');\r\n }\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null && ((step < 3 && opcao.categoria.sigla == \"RGG\") || (step < 4 && opcao.categoria.sigla != \"RGG\")) &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 1 && : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 2 && \r\n :\r\n step == 1 && \r\n }\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 3 && \r\n :\r\n step == 2 && \r\n }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && (step == 4 || (opcao.categoria.sigla == \"RGG\" && step == 3)) &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport {\r\n Row,\r\n Col,\r\n Container,\r\n Card, CardBody\r\n} from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport ListaLocaisExclusao from \"../../../views/Shared/Destino/ListaLocaisExclusao\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function DestinoRequerimentoExclusaoLocal({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [protocolo, set_protocolo] = React.useState(null);\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Locais de Destinação\", \"Documentos\"]);\r\n else\r\n set_steps([\"Locais de Destinação\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 2) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n loadProtocolo(result.data.protocolo_Id);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const loadProtocolo = (protocolo_Id) => {\r\n api_GET('ProtocoloDestino/' + protocolo_Id)\r\n .then(result => set_protocolo(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => { showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\"); }); })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 && 1 ? handleProximoStep : handleFinalizarRequerimento}>}\r\n {step == 1 && }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n// views\r\nimport Identificacao from \"../../../views/Shared/Destino/Identificacao\";\r\nimport Locais from \"../../../views/Shared/Destino/Locais\";\r\nimport Documentos from \"../../../views/Shared/Documentos\";\r\nimport Declaracao from \"../../../views/Shared/Declaracao\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function DestinoRequerimentoAlteracao({ history }) {\r\n const {session, setLoading, setupSistema} = useAuth();\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n const [opcao, set_opcao] = React.useState(null);\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if ((step == 3 && opcao.categoria.sigla != \"RGG\") || (step == 2 && opcao.categoria.sigla == \"RGG\")) {\r\n history.push(\"opcoes\");\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimentoDestino/PostRequerimentoDestinoAlteracaoCompleta ', json_submit).then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_opcao({\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: result.data.setupSolicitacaoAcao.setupSolicitacao.categoria\r\n });;\r\n set_requerimento(result.data);\r\n set_step(0);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadRequerimento();\r\n }, []);\r\n\r\n const steps = [];\r\n\r\n if (opcao != null) {\r\n if (opcao.categoria.sigla != \"RGG\")\r\n steps.push('Identificação', 'Locais de Destinação', 'Documentação');\r\n else\r\n steps.push('Identificação', 'Documentação');\r\n }\r\n\r\n return (\r\n <>\r\n {requerimento != null && opcao != null && ((step < 3 && opcao.categoria.sigla == \"RGG\") || (step < 4 && opcao.categoria.sigla != \"RGG\")) &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && }\r\n {opcao.categoria.sigla != \"RGG\" ? step == 1 && : \"\"}\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 2 && \r\n :\r\n step == 1 && \r\n }\r\n {opcao.categoria.sigla != \"RGG\" ?\r\n step == 3 && \r\n :\r\n step == 2 && \r\n }\r\n
\r\n }\r\n\r\n {requerimento != null && opcao != null && (step == 4 || (opcao.categoria.sigla == \"RGG\" && step == 3)) &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { useLocation } from \"react-router-dom\";\r\nimport MaterialTable from 'material-table';\r\nimport Documentos from 'views/Shared/Documentos';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col, Button, Modal, ModalHeader, ModalBody, ModalFooter, Form, Input, Container } from \"reactstrap\";\r\nimport { table_translate, table_style } from \"constants/MaterialTable.js\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../../services/api_service.js\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nexport default function DestinoRequerimentoAumentoCapacidade({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n const location = useLocation();\r\n const [requerimento, set_requerimento] = useState(null);\r\n const [locais, set_locais] = useState([]);\r\n const [capacidadeAtualizada, set_capacidadeAtualizada] = useState('');\r\n const opcao = {\r\n tipoCadastro: \"Requerimento\",\r\n segmento: \"Destino Final\",\r\n categoria: \"RCC\"\r\n }\r\n\r\n const [localDestinoAtual, set_LocalDestinoAtual] = useState({\r\n identificacao: \"\",\r\n cep: \"\",\r\n logradouro: \"\",\r\n numEndereco: \"\",\r\n complemento: \"\",\r\n bairro: \"\",\r\n cidade: \"\",\r\n uf: \"\",\r\n geoLocalizacao: \"\",\r\n capacidadeAntiga: \"\",\r\n capacidadeNova: \"\"\r\n });\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0) {\r\n set_steps([\"Locais de Destinação\", \"Documentação\"]);\r\n }\r\n else {\r\n set_steps([\"Locais de Destinação\"]);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const [modal, setModal] = useState(false);\r\n const toggle = (rowData) => {\r\n set_LocalDestinoAtual({\r\n identificacao: rowData.identificacao,\r\n cep: rowData.cep,\r\n bairro: rowData.bairro,\r\n cidade: rowData.cidade,\r\n complemento: rowData.complemento,\r\n geoLocalizacao: rowData.geoLocalizacao,\r\n logradouro: rowData.logradouro,\r\n numEndereco: rowData.numEndereco,\r\n uf: rowData.uf,\r\n capacidadeAntiga: rowData.capacidade\r\n });\r\n\r\n setModal(!modal);\r\n };\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.protocolo != null && location.state.protocolo.protocoloDestino[0].protocoloDestinoLocais.length > 0) {\r\n set_locais(location.state.protocolo.protocoloDestino[0].protocoloDestinoLocais)\r\n }\r\n\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento', json_submit)\r\n .then(result => set_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n } else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => set_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n // Material-Table > Actions\r\n const [actions, set_actions] = useState([\r\n {\r\n icon: 'edit',\r\n tooltip: 'Editar Registro',\r\n disabled: location.state.edit,\r\n onClick: (event, rowData) => {\r\n toggle(rowData);\r\n }\r\n }\r\n ]);\r\n\r\n const handleAumentoCapacidade = (event) => {\r\n set_capacidadeAtualizada(event.target.value);\r\n }\r\n\r\n const handleFinalizarAumento = () => {\r\n\r\n if (capacidadeAtualizada === \"\") {\r\n showMessage(\"Aviso\", \"Por favor preencha o campo!\", 'error', null);\r\n return;\r\n }\r\n\r\n if (capacidadeAtualizada <= localDestinoAtual.capacidadeAntiga) {\r\n showMessage(\"Aviso\", \"A Capacidade alterada tem que ser maior!\", 'error', null);\r\n return;\r\n }\r\n\r\n const json_submit = {\r\n requerimento_Id: requerimento.requerimento_Id,\r\n identificacao: localDestinoAtual.identificacao,\r\n cep: localDestinoAtual.cep,\r\n logradouro: localDestinoAtual.logradouro,\r\n numEndereco: localDestinoAtual.numEndereco,\r\n complemento: localDestinoAtual.complemento,\r\n bairro: localDestinoAtual.bairro,\r\n cidade: localDestinoAtual.cidade,\r\n uf: localDestinoAtual.uf,\r\n geoLocalizacao: localDestinoAtual.geoLocalizacao,\r\n capacidadeAntiga: localDestinoAtual.capacidadeAntiga,\r\n capacidadeNova: capacidadeAtualizada\r\n }\r\n\r\n setLoading(true);\r\n api_POST('RequerimentoDestino/PostRequerimentoDestinoAumentoCapacidade', json_submit)\r\n .then(result => {\r\n if (steps.length == 1) {\r\n handleFinalizarRequerimento();\r\n } else {\r\n set_step(step + 1);\r\n }\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => { showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro!\", 'success', function () { history.push(\"/auth/meucadastro\") }) })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado por {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n\r\n {step == 0 && (\r\n <>\r\n \r\n \r\n Capacidade\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n rowData.status != null ? rowData.status : \"Ativo\" }\r\n ]}\r\n data={locais}\r\n isLoading={false}\r\n actions={actions}\r\n localization={table_translate}\r\n options={table_style}\r\n />\r\n \r\n \r\n \r\n \r\n\r\n )\r\n }\r\n\r\n {steps.length > 1 && step == 1 && }\r\n
\r\n }\r\n\r\n\r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport queryString from 'query-string';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate } from \"../../helpers/formats\";\r\n\r\n// components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function CertificadoRSS({ history }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n const d = new Date();\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n\r\n setLoading(true);\r\n api_GET('ProtocoloGerador/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n let protocolo = result.data;\r\n let _carteirinha = {\r\n codCadastro: protocolo.codigoCadastro,\r\n dataCadastro: protocolo.dataCadastro,\r\n dataFinalizacaoRequerimento: protocolo?.requerimento[0]?.dataUltimaAcao,\r\n nome: protocolo.protocoloGerador[0].razaoSocial != null && protocolo.protocoloGerador[0].razaoSocial != \"\" ? protocolo.protocoloGerador[0].razaoSocial : protocolo.protocoloGerador[0].nome_Fantasia,\r\n cpfCnpj: protocolo.cpf_Cnpj,\r\n endereco: protocolo.protocoloGerador[0].logradouro,\r\n numero: protocolo.protocoloGerador[0].numEndereco,\r\n complemento: protocolo.protocoloGerador[0].complemento,\r\n bairro: protocolo.protocoloGerador[0].bairro,\r\n cep: protocolo.protocoloGerador[0].cep,\r\n telefone: protocolo.protocoloGerador[0].telefone,\r\n tipoEstabelecimento: protocolo.protocoloGerador[0].tipoEstabelecimento != null ? protocolo.protocoloGerador[0].tipoEstabelecimento.descricao : \"\",\r\n protocolo: params.protocolo\r\n }\r\n set_dadoscarteirinha(_carteirinha);\r\n }\r\n )\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha != null &&\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
Agência Reguladora de Serviços Públicos
\r\n
do Município de São Paulo
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Certificado de Cadastramento

\r\n
Coleta de Resíduos de Serviços de Saúde
\r\n \r\n
\r\n \r\n \r\n Código do Gerador:\r\n \r\n \r\n {dadoscarteirinha.codCadastro}\r\n \r\n \r\n Nome do Estabelecimento:\r\n \r\n \r\n {dadoscarteirinha.nome}\r\n \r\n \r\n CPF / CNPJ:\r\n \r\n \r\n {dadoscarteirinha.cpfCnpj}\r\n \r\n \r\n Endereço:\r\n \r\n \r\n {dadoscarteirinha.endereco}\r\n \r\n \r\n Número:\r\n \r\n \r\n {dadoscarteirinha.numero}\r\n \r\n \r\n Complemento:\r\n \r\n \r\n {dadoscarteirinha.complemento}\r\n \r\n \r\n Bairro:\r\n \r\n \r\n {dadoscarteirinha.bairro}\r\n \r\n \r\n CEP:\r\n \r\n \r\n {dadoscarteirinha.cep}\r\n \r\n \r\n Telefone:\r\n \r\n \r\n {dadoscarteirinha.telefone}\r\n \r\n \r\n Tipo de Estabelecimento:\r\n \r\n \r\n {dadoscarteirinha.tipoEstabelecimento}\r\n \r\n \r\n Data de Cadastro:\r\n \r\n \r\n {formateDate(dadoscarteirinha.dataFinalizacaoRequerimento != null ? dadoscarteirinha.dataFinalizacaoRequerimento : dadoscarteirinha.dataCadastro)}\r\n \r\n \r\n \r\n \r\n

O estabelecimento citado encontra-se cadastrado junto a Agência Reguladora de Serviços Públicos do Município de São Paulo - SP REGULA\r\n para a Coleta de Resíduos de Serviços de Saúde e deverá obedecer todas as exigências legais próprias deste serviço (Decreto Municipal 37066/97).\r\n

\r\n \r\n \r\n São Paulo, {formateDate(d.toDateString())}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n

Exigências Mínimas:

\r\n

1. Apresentar para a coleta somente resíduos infectantes;

\r\n

2. Adicionar todos os resíduos em sacos plásticos branco-leitosos, padrão ABNT NBR-9190.
\r\n Utilizar até 2/3 do volume da embalagem que deve ser fechada e apresentada sem vazamentos;

\r\n

3. Acondicionar os materiais perfurocortantes em embalagens rígidas, previamente em saco plástico branco-leitoso;

\r\n

4. Os abrigos para os resíduos devem apresentar o padrão ABNT NBR-12809 e ser desinfetados e lavados periodicamente;

\r\n

5. Fácil acesso dos veículos coletores ao abrigo de resíduos;

\r\n

6. Respeito aos funcionários da coleta.

\r\n \r\n
\r\n \r\n \r\n Solicitações, Reclamações ou Sugestões na prestação de serviços, favor acessar o Portal 156.\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect } from \"react\";\r\nimport queryString from 'query-string';\r\nimport Parser from 'html-react-parser';\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate, transformValueFloattoFormated } from \"../../helpers/formats\";\r\n\r\n// components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function CertificadoTransportador({ history }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = React.useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n\r\n setLoading(true);\r\n api_GET('protocolotransportador/GetCertificadoTransportador/' + params.protocolo)\r\n .then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n set_dadoscarteirinha(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha &&\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {Parser(dadoscarteirinha.cabecalho)}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

CERTIFICADO DE CREDENCIAMENTO PARA TRANSPORTE DE RESÍDUOS

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

Protocolo: {dadoscarteirinha.protocolo}

\r\n

Validade: {formateDate(dadoscarteirinha.validadeCadastro)}

\r\n
\r\n
\r\n
\r\n
\r\n {Parser(dadoscarteirinha.legislacao)}\r\n

CNPJ: {dadoscarteirinha.cnpj}

\r\n

Razão Social: {dadoscarteirinha.razaoSocial}

\r\n

Endereço: {dadoscarteirinha.enderecoCompleto}

\r\n

Os veículos credenciados (citados na tabela \"Quadro Demonstrativo da Frota\" deste certificado) deverão ser de uso exclusivo dos serviços de coleta e transporte de resíduos requeridos, sendo vedada a sua utilização para outras modalidades.

\r\n

Este certificado de credenciamento tem validade até {formateDate(dadoscarteirinha.validadeCadastro)}, e sua renovação dependerá de requerimento do interessado, desde que haja o cumprimento das exigências conferidas na legislação municipal, estadual e federal acerca do tema.

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

Quadro Demonstrativo da Frota

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {dadoscarteirinha.veiculos.map((m, key) => {\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
PlacaPróprio ou LocadoMarca e Modelo do ChassiAno de Fab. do ChassiCap. de Carga (KG)Tara (KG)Tipo de EquipamentoAno de Fab. do Equip.CorVolume (m³)
{m.placa}{m.proprioOuLocado}{m.marcaModelo}{m.anoFabricacao}{m.capacidadeCarga}{m.tara}{m.tipoEquipamento}{m.anoFabricacaoEquipamento}{m.cor}{transformValueFloattoFormated(m.volume)}
\r\n
\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 } from \"react\";\r\nimport queryString from 'query-string';\r\nimport Parser from 'html-react-parser';\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate, transformValueFloattoFormated } from \"../../helpers/formats\";\r\n\r\n// components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function CertificadoTransportadorUnificado({ history }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = React.useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n setLoading(true);\r\n api_GET('protocolotransportador/GetCertificadoTransportadorUnificado/' + params.protocolo)\r\n .then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n set_dadoscarteirinha(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha &&\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {Parser(dadoscarteirinha.cabecalho)}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

CERTIFICADO DE CREDENCIAMENTO PARA TRANSPORTE DE RESÍDUOS SÓLIDOS

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

Processo de Credenciamento: {dadoscarteirinha.codigoSistemaPrefeitura}

\r\n

Validade: {formateDate(dadoscarteirinha.validadeCadastro)}

\r\n
\r\n
\r\n
\r\n
\r\n {Parser(dadoscarteirinha.legislacao)}\r\n

CNPJ: {dadoscarteirinha.cnpj}

\r\n

Razão Social: {dadoscarteirinha.razaoSocial}

\r\n

Endereço: {dadoscarteirinha.enderecoCompleto}

\r\n

Os veículos credenciados (citados na tabela \"Quadro Demonstrativo da Frota\" deste certificado) deverão ser de uso exclusivo dos serviços de coleta e transporte de resíduos requeridos, sendo vedada a sua utilização para outras modalidades.

\r\n

Este certificado de credenciamento tem validade até {formateDate(dadoscarteirinha.validadeCadastro)}, e sua renovação dependerá de requerimento do interessado, desde que haja o cumprimento das exigências conferidas na legislação municipal, estadual e federal acerca do tema.

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {dadoscarteirinha.categorias.map((m, key) => (\r\n
\r\n
\r\n

{m.categoria_Descricao}

\r\n
Quadro Demonstrativo da Frota
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {m.veiculos.map((m, key2) => {\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
PlacaPróprio ou LocadoMarca e Modelo do ChassiAno de Fab. do ChassiCap. de Carga (KG)Tara (KG)Tipo de EquipamentoAno de Fab. do Equip.CorVolume
{m.placa}{m.proprioOuLocado}{m.marcaModelo}{m.anoFabricacao}{m.capacidadeCarga}{m.tara}{m.tipoEquipamento}{m.anoFabricacaoEquipamento}{m.cor}{transformValueFloattoFormated(m.volume)}
\r\n
\r\n
\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 queryString from 'query-string';\r\nimport Parser from 'html-react-parser';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col } from \"reactstrap\";\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate } from \"../../helpers/formats\";\r\n\r\n// components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\n\r\nexport default function CertificadoDestino({ history }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n setLoading(true);\r\n api_GET('protocolodestino/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n\r\n let protocolo = result.data;\r\n\r\n let local = protocolo.protocoloDestino[0].protocoloDestinoLocais.filter(f => f.protocoloDestinoLocal_Id == params.local)[0];\r\n\r\n let _carteirinha = {\r\n cabecalho: protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.cabecalhoCertificado,\r\n codCadastro: protocolo.codigoCadastro,\r\n validade: protocolo.dataFimVigencia,\r\n documento: protocolo.cpf_Cnpj,\r\n nome: local.identificacao,\r\n endereco: local.logradouro + \", \" + local.numEndereco + \", \" + local.bairro,\r\n protocolo: params.protocolo,\r\n localId: local.protocoloDestinoLocal_Id\r\n }\r\n\r\n if (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao == \"Destino Final de RCC\") {\r\n _carteirinha.endereco = protocolo.protocoloDestino[0].logradouro + \", \" +\r\n protocolo.protocoloDestino[0].numEndereco + \", \" +\r\n protocolo.protocoloDestino[0].bairro;\r\n _carteirinha.nome = protocolo.protocoloDestino[0].razaoSocial;\r\n }\r\n\r\n if (protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.categoria.descricao == \"Banco de Manejo - Até 1.000m³\") {\r\n _carteirinha.nome = protocolo.protocoloDestino[0].razaoSocial;\r\n }\r\n\r\n set_dadoscarteirinha(_carteirinha)\r\n\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha != null &&\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {Parser(dadoscarteirinha.cabecalho)}\r\n \r\n \r\n \r\n \r\n ÁREA DE DESTINAÇÃO DOS RESÍDUOS DA CONSTRUÇÃO CIVIL\r\n \r\n \r\n Código Cadastro - {setupSistema?.identificacao}: {dadoscarteirinha.codCadastro}\r\n \r\n \r\n Validade: {formateDate(dadoscarteirinha.validade)}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"CNPJ\" : \"CPF\"}: {dadoscarteirinha.documento}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"Razão Social\" : \"Nome\"}: {dadoscarteirinha.nome}\r\n \r\n \r\n Endereço: {dadoscarteirinha.endereco}\r\n \r\n \r\n \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 queryString from 'query-string';\r\nimport Parser from 'html-react-parser';\r\n\r\n// reactstrap components\r\nimport { Card, CardBody, Row, Col } from \"reactstrap\";\r\n\r\n\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\nimport { formateDate } from \"../../helpers/formats\";\r\n\r\n// components\r\nimport LogoSistema from \"../../components/LogoSistema/LogoSistema\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function CertificadoDestinoRGG({ history }) {\r\n const { setLoading, setupSistema } = useAuth();\r\n\r\n\r\n var QRCode = require('qrcode.react');\r\n\r\n const [dadoscarteirinha, set_dadoscarteirinha] = useState(null);\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n\r\n setLoading(true);\r\n api_GET('protocolodestino/ByNumeroProtocolo/' + params.protocolo).then(result => {\r\n if ([\"Cancelado\", \"Pendente\", \"Inativo\"].includes(result.data.status)) {\r\n if (result.data.status == \"Inativo\") {\r\n showMessage(\"Aviso\", \"Cadastro Inativo no Sistema.\", 'error', null);\r\n return;\r\n } else {\r\n showMessage(\"Aviso\", \"Carteirinha não disponível\", 'error', null);\r\n return;\r\n }\r\n }\r\n let protocolo = result.data;\r\n const { logradouro, numEndereco, bairro, razaoSocial } = protocolo.protocoloDestino[0];\r\n\r\n let _carteirinha = {\r\n cabecalho: protocolo.setupSolicitacaoAcaoNovoCadastro.setupSolicitacao.cabecalhoCertificado ?? \"cabeçalho TESTE\",\r\n codCadastro: protocolo.codigoCadastro,\r\n validade: protocolo.dataFimVigencia,\r\n documento: protocolo.cpf_Cnpj,\r\n razaoSocial: razaoSocial,\r\n endereco: logradouro + \", \" + numEndereco + \", \" + bairro,\r\n protocolo: protocolo\r\n }\r\n\r\n set_dadoscarteirinha(_carteirinha);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {dadoscarteirinha != null &&\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n {Parser(dadoscarteirinha.cabecalho)}\r\n \r\n \r\n \r\n \r\n ÁREA DE DESTINAÇÃO DOS RESÍDUOS DE GRANDES GERADORES\r\n \r\n \r\n Código Cadastro - {setupSistema?.identificacao}: {dadoscarteirinha.codCadastro}\r\n \r\n \r\n Validade: {formateDate(dadoscarteirinha.validade)}\r\n \r\n \r\n Razão Social: {dadoscarteirinha?.razaoSocial}\r\n \r\n \r\n {dadoscarteirinha.documento.length > 11 ? \"CNPJ\" : \"CPF\"}: {dadoscarteirinha.documento}\r\n \r\n \r\n Endereço: {dadoscarteirinha.endereco}\r\n \r\n \r\n \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 } from 'react';\r\nimport { useForm } from 'react-hook-form';\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// reactstrap components\r\nimport { Button, Card, CardBody, FormGroup, Form, Input, Row, Col, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST, api_PUT } from \"../../services/api_service.js\";\r\n\r\n// views\r\nimport Documentos from \"../../views/Shared/Documentos\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\n\r\nexport default function RequerimentoCancelamento({ history }) {\r\n const { session, setLoading, setupSistema } = useAuth();\r\n\r\n const { register, handleSubmit, errors, setError, setValue, clearErrors } = useForm({ mode: \"onBlur\" });\r\n const location = useLocation();\r\n\r\n const [requerimento, set_requerimento] = React.useState(null);\r\n\r\n const [opcao, set_opcao] = React.useState(Object);\r\n\r\n const [steps, set_steps] = React.useState([]);\r\n const loadSteps = () => {\r\n api_GET('setupSolicitacao/GetByAcaoId/' + location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)\r\n .then(result => {\r\n set_opcao({ tipoCadastro: \"Requerimento\", segmento: result.data.segmento, categoria: result.data.categoria });\r\n if (result.data.solicitacaoAcoes.filter(f => f.setupSolicitacaoAcao_Id == location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id)[0].acaoDocumentos.length > 0)\r\n set_steps([\"Motivo\", \"Documentos\"]);\r\n else\r\n set_steps([\"Motivo\"]);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = (_requerimento) => {\r\n if (step == 2) {\r\n\r\n }\r\n else {\r\n set_requerimento(_requerimento);\r\n set_step(step + 1);\r\n }\r\n }\r\n const handleStepAnterior = (_requerimento) => {\r\n set_requerimento(_requerimento)\r\n set_step(step - 1);\r\n }\r\n\r\n const loadRequerimento = () => {\r\n if (location.state.requerimento == null) {\r\n setLoading(true);\r\n let json_submit = {\r\n protocolo_Id: location.state.protocolo.protocolo_Id,\r\n requerimento_Id: 0,\r\n nomeSolicitante: location.state.protocolo.nomeSolicitante,\r\n email: location.state.protocolo.email,\r\n cpf_Cnpj: location.state.protocolo.cpf_Cnpj,\r\n setupSolicitacaoAcao_Id: location.state.setupSolicitacaoAcao.setupSolicitacaoAcao_Id,\r\n }\r\n\r\n api_POST('requerimento/PostRequerimento ', json_submit)\r\n .then(result => set_requerimento(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_GET('requerimento/' + location.state.requerimento.requerimento_Id)\r\n .then(result => {\r\n set_requerimento(result.data);\r\n if (result.data.requerimentoMotivoCancelamento.length > 0)\r\n setValue(\"motivo\", result.data.requerimentoMotivoCancelamento[0].motivo);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n const handleFinalizarRequerimento = () => {\r\n setLoading(true);\r\n api_POST('requerimento/PostFinalizarSolicitacaoRequerimento', requerimento)\r\n .then(result => showMessage(\"Aviso\", \"Solicitação enviada com sucesso. Acompanhe o andamento através do seu cadastro! \", 'success', function () { history.push(\"/auth/meucadastro\") }))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (data.motivo == \"\") {\r\n showMessage(\"Aviso\", \"Preencha a descrição do motivo do cancelamento!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n requerimentoMotivoCancelamento_Id: requerimento.requerimentoMotivoCancelamento.length > 0 ? requerimento.requerimentoMotivoCancelamento[0].requerimentoMotivoCancelamento_Id : 0,\r\n requerimento_Id: requerimento.requerimento_Id,\r\n motivo: data.motivo\r\n }\r\n\r\n setLoading(true);\r\n if (json_submit.requerimentoMotivoCancelamento_Id == 0) {\r\n api_POST('Requerimento/PostRequerimentoMotivoCancelamento', json_submit)\r\n .then(result => {\r\n if (steps.length > 1)\r\n handleProximoStep(result.data);\r\n else\r\n handleFinalizarRequerimento();\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n api_PUT('Requerimento/PutRequerimentoMotivoCancelamento', json_submit)\r\n .then(result => {\r\n if (steps.length > 1)\r\n handleProximoStep(result.data);\r\n else\r\n handleFinalizarRequerimento()\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadSteps();\r\n loadRequerimento();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {requerimento != null && (requerimento.status == \"Em Andamento\" || requerimento.status == \"Divergente\") &&\r\n
\r\n \r\n \r\n \r\n {requerimento.status == \"Divergente\" && requerimento.requerimentoAnaliseGestor.length > 0 &&\r\n \r\n \r\n
Seu requerimento foi rejeitado pela {setupSistema?.identificacao}. Verifique as informações abaixo e corrija os dados necessários.
\r\n

{requerimento.requerimentoAnaliseGestor.sort(function (a, b) { return new Date(b.dataAnalise) - new Date(a.dataAnalise); })[0].observacao}

\r\n
\r\n
\r\n }\r\n {step == 0 &&\r\n \r\n \r\n
\r\n

Motivo do Cancelamento

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n }\r\n {step == 1 && }\r\n
\r\n }\r\n {requerimento != null && (requerimento.status != \"Em Andamento\" && requerimento.status != \"Divergente\") &&\r\n \r\n
\r\n \r\n \r\n Este requerimento já foi finalizado. Para visualizar e acompanhar as informações do requerimento, acesse o menu \"Meu Cadastro\".\r\n \r\n \r\n
\r\n
\r\n }\r\n \r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\nimport queryString from 'query-string';\r\n\r\n// components\r\nimport { Button, Row, Col, Card, CardBody, Form } from \"reactstrap\";\r\nimport InputPDF from \"../../components/Input/InputPDF\";\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET, api_POST } from \"../../services/api_service.js\";\r\n\r\n// helpers\r\nimport { formateDate, formateDateApi } from \"../../helpers/formats.js\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function AnexoComprovantePagamento({ history }) {\r\n const { setLoading} = useAuth();\r\n const { handleSubmit } = useForm({ mode: \"onBlur\" });\r\n const [dadosComprovantePagamento, set_dadosComprovantePagamento] = useState(null)\r\n const loadDados = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n if (params != null && params.hash != null) {\r\n setLoading(true);\r\n api_GET(`Requerimento/GetRequerimentoCobranca/${params.hash}`)\r\n .then(result => {\r\n setLoading(false);\r\n set_dadosComprovantePagamento(result.data);\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n }\r\n useEffect(() => {\r\n loadDados();\r\n }, []);\r\n\r\n const [arquivo, set_arquivo] = useState(null);\r\n const handleFile = (file, callback) => {\r\n if (file == null) {\r\n return;\r\n }\r\n\r\n set_arquivo(file);\r\n callback();\r\n }\r\n\r\n const onSubmit = (data) => {\r\n if (!arquivo) {\r\n showMessage(\"Aviso\", \"Selecione um arquivo para importação!\", 'error', null);\r\n return;\r\n }\r\n\r\n let json_submit = {\r\n requerimentoCobranca_Id: dadosComprovantePagamento.requerimentoCobranca_Id,\r\n dataImportacao: formateDateApi(new Date()),\r\n arquivo: arquivo.name,\r\n arquivoBase64: arquivo.base64\r\n }\r\n\r\n setLoading(true);\r\n api_POST(`AnaliseRequerimento/PostRequerimentoCobrancaComprovante/${dadosComprovantePagamento.requerimento_Id}`, json_submit)\r\n .then(result => {\r\n setLoading(false);\r\n showMessage(\"Aviso\", \"Comprovante enviado com sucesso\", 'success', function () {\r\n window.location.reload();\r\n });\r\n })\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n

Dados do Requerimento

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

Documento: {dadosComprovantePagamento && dadosComprovantePagamento.requerimento.cpf_Cnpj}

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

Tipo Requerimento: {dadosComprovantePagamento && dadosComprovantePagamento.requerimento.setupSolicitacaoAcao.acao}

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

Responsável: {dadosComprovantePagamento && dadosComprovantePagamento.requerimento.nomeSolicitante}

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

Data Requerimento: {dadosComprovantePagamento && formateDate(dadosComprovantePagamento.requerimento.dataCriacaoRequerimento)}

\r\n \r\n
\r\n {dadosComprovantePagamento && dadosComprovantePagamento.status == \"Confirmado\" &&\r\n \r\n \r\n

Seu comprovante de pagamento já foi enviado.

\r\n \r\n
\r\n }\r\n {dadosComprovantePagamento && dadosComprovantePagamento.status == \"Pendente\" &&\r\n <>\r\n \r\n \r\n

Anexar Comprovante de Pagamento

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \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 } from \"react\";\r\nimport queryString from 'query-string';\r\n\r\n// services\r\nimport { showMessage } from \"../../services/message.js\";\r\nimport { api_GET } from \"../../services/api_service.js\";\r\n\r\n// Views\r\nimport AgendamentoVistoria from \"../../views/Shared/Transportador/AgendamentoVistoria\";\r\n\r\n//Context\r\nimport { useAuth } from \"../../context/auth\";\r\n\r\nexport default function AgendamentoVistoriaPortal({ history }) {\r\n const { setLoading } = useAuth();\r\n\r\n const [rowEdit, set_rowEdit] = React.useState(null);\r\n const loadItem = () => {\r\n let urls = history.location.search;\r\n let params = queryString.parse(urls);\r\n if (params != null && params.protocolo != null && params.requerimento != null) {\r\n setLoading(true);\r\n api_GET(`AgendamentoVistoria/GetItemListByProtocoloAndRequerimento/${params.protocolo}/${params.requerimento}`)\r\n .then(result => set_rowEdit(result.data))\r\n .catch(err => showMessage(\"Aviso\", err.message, 'error', null))\r\n .finally(() => setLoading(false));\r\n }\r\n else {\r\n showMessage(\"Aviso\", \"URL inválida!\", 'error', null);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadItem();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {rowEdit &&\r\n \r\n }\r\n \r\n );\r\n}","import React from \"react\";\r\nimport { useForm } from 'react-hook-form';\r\n\r\n// components\r\nimport { Row, Col, Card, CardBody, Container } from \"reactstrap\";\r\nimport ProgressBar from \"components/ProgressBar/StepperProgress\";\r\nimport InputPDF from \"components/Input/InputPDF\";\r\n\r\n\r\nexport default function ImplantacaoDatasys({ history }) {\r\n\r\n const { handleSubmit } = useForm({ mode: \"onBlur\" });\r\n\r\n const steps = ['Lojas', 'Usuários', 'Fornecedores', 'Produtos', 'Clientes', 'Importação de Saldo'];\r\n const [step, set_step] = React.useState(0);\r\n const handleProximoStep = () => {\r\n set_step(step + 1);\r\n }\r\n const handleStepAnterior = () => {\r\n set_step(step - 1);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n {step == 0 &&\r\n \r\n \r\n \r\n

Cadastro de Lojas

\r\n
\r\n \r\n
\r\n \r\n \r\n Selecione o arquivo para importar as lojas no sistema
\r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n {step == 1 &&\r\n \r\n \r\n \r\n

Cadastro de Usuários

\r\n
\r\n \r\n
\r\n
\r\n }\r\n {step == 2 &&\r\n \r\n \r\n \r\n

Cadastro de Fornecedores

\r\n
\r\n \r\n
\r\n
\r\n }\r\n {step == 3 &&\r\n \r\n \r\n \r\n

Cadastro de Produtos

\r\n
\r\n \r\n
\r\n
\r\n }\r\n {step == 4 &&\r\n \r\n \r\n \r\n

Cadastro de Clientes

\r\n
\r\n \r\n
\r\n
\r\n }\r\n {step == 5 &&\r\n \r\n \r\n \r\n

Importação de Saldo

\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 {\r\n Collapse,\r\n Navbar,\r\n NavbarToggler,\r\n NavbarBrand,\r\n Nav,\r\n Dropdown,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem,\r\n Container\r\n} from \"reactstrap\";\r\n\r\nimport { getSessionCookie } from \"services/session.js\";\r\n\r\nimport routes from \"../../routes/routes\";\r\n\r\nclass Header extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isOpen: false,\r\n dropdownOpen: false,\r\n color: \"transparent\",\r\n };\r\n this.toggle = this.toggle.bind(this);\r\n this.dropdownToggle = this.dropdownToggle.bind(this);\r\n this.sidebarToggle = React.createRef();\r\n this.session = getSessionCookie();\r\n }\r\n toggle() {\r\n if (this.state.isOpen) {\r\n this.setState({\r\n color: \"transparent\",\r\n });\r\n } else {\r\n this.setState({\r\n color: \"dark\",\r\n });\r\n }\r\n this.setState({\r\n isOpen: !this.state.isOpen,\r\n });\r\n }\r\n dropdownToggle(e) {\r\n this.setState({\r\n dropdownOpen: !this.state.dropdownOpen,\r\n });\r\n }\r\n\r\n getIcon() {\r\n let iconName = \"\";\r\n routes.map((prop, key) => {\r\n if (window.location.href.indexOf(prop.layout + prop.path) !== -1) {\r\n iconName = prop.icon;\r\n }\r\n return null;\r\n });\r\n return iconName;\r\n }\r\n\r\n getBrand() {\r\n let brandName = \"Default Brand\";\r\n routes.map((prop, key) => {\r\n if (window.location.href.indexOf(prop.layout + prop.path) !== -1) {\r\n brandName = prop.name;\r\n }\r\n return null;\r\n });\r\n return brandName;\r\n }\r\n openSidebar() {\r\n document.documentElement.classList.toggle(\"nav-open\");\r\n this.sidebarToggle.current.classList.toggle(\"toggled\");\r\n }\r\n updateColor() {\r\n if (window.innerWidth < 993 && this.state.isOpen) {\r\n this.setState({\r\n color: \"dark\",\r\n });\r\n } else {\r\n this.setState({\r\n color: \"transparent\",\r\n });\r\n }\r\n }\r\n componentDidMount() {\r\n window.addEventListener(\"resize\", this.updateColor.bind(this));\r\n }\r\n componentDidUpdate(e) {\r\n if (\r\n window.innerWidth < 993 &&\r\n e.history.location.pathname !== e.location.pathname &&\r\n document.documentElement.className.indexOf(\"nav-open\") !== -1\r\n ) {\r\n document.documentElement.classList.toggle(\"nav-open\");\r\n this.sidebarToggle.current.classList.toggle(\"toggled\");\r\n }\r\n }\r\n render() {\r\n return (\r\n // add or remove classes depending if we are on full-screen-maps page or not\r\n \r\n \r\n
\r\n
\r\n this.openSidebar()}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n {this.getBrand()}\r\n
\r\n \r\n \r\n \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 Header;\r\n","import React from \"react\";\r\nimport { Container, Row } from \"reactstrap\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nclass Footer extends React.Component {\r\n render() {\r\n return (\r\n \r\n \r\n \r\n
\r\n
\r\n © {1900 + new Date().getYear()},\r\n \r\n CSJ Sistemas\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nFooter.propTypes = {\r\n default: PropTypes.bool,\r\n fluid: PropTypes.bool,\r\n};\r\n\r\nexport default Footer;\r\n","import React, { useState } from 'react';\r\nimport {\r\n UncontrolledPopover,\r\n UncontrolledCollapse,\r\n PopoverHeader,\r\n PopoverBody,\r\n Button\r\n} from 'reactstrap';\r\nimport { useHistory } from \"react-router\";\r\n\r\n//Context\r\nimport { useAuth } from '../../../context/auth';\r\n\r\nfunction Popover({ id = \"UncontrolledPopover\" }) {\r\n const { setupSistema } = useAuth();\r\n\r\n const history = useHistory();\r\n const [manuais, setManuais] = useState([\r\n {\r\n title: \"RGG - Manual de cadastramento de Geradores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualCadastramentoGrandeGeradorRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de cadastramento de Transportadores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualCadastramentoTransportadorRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de cadastramento de Destinos\",\r\n link: setupSistema?.caminhoVirtual + \"ManualCadastramentoDestinoFinalRGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Destinos\",\r\n link: setupSistema?.caminhoVirtual + \"ManualRecadastramentoDestinoFinal_RGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Geradores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualRecadastramentoGrandeGerador_RGG.pdf\"\r\n },\r\n {\r\n title: \"RGG - Manual de recadastramento de Transportadores\",\r\n link: setupSistema?.caminhoVirtual + \"ManualRecadastramentoTransportador_RGG.pdf\"\r\n },\r\n ])\r\n\r\n const [mensagens, setMensagens] = useState([\r\n {\r\n title: \"Manuais\",\r\n texto: () => (\r\n manuais.map((value, index) => {\r\n return
\r\n
\r\n
window.open(value.link, \"_blank\")}\r\n >\r\n
{value.title}
\r\n \r\n
\r\n
\r\n
\r\n })\r\n\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"O que é o Controle de Transporte de Resíduos (CTR)?\",\r\n texto: () => (\r\n
\r\n

O Controle de Transporte de Resíduos (CTR) é o documento numerado que fornece informações sobre a geração, o transporte e o destinação final dos resíduos dos estabelecimentos grandes gerador à SP REGULA\r\n A implementação do Controle de Transporte de Resíduos (CTR-E RGG) se deu por meio da resolução no 130/AMLURB/2019, visando preservar as regras que regem o segmento, sem alteração na legislação atual, criando mecanismos de controle e monitoramento.

\r\n\r\n

O Controle de Transporte de Resíduos (CTR-E) é uma ferramenta de fiscalização e rastreabilidade criado para cadastrar todos os entes privados (geradores, transportadores, cooperativas e destinos finais),\r\n que fazem parte dos sistemas de limpeza urbana e que geram mais de 200L/ díade resíduos. A tecnologia permite que a Prefeitura Municipal de São Paulo,\r\n por meio da SP REGULA, saiba como o resíduo é coletado, transportado e por fim, destinado. Com isto, espera se melhorias na zeladoria urbana, na saúde pública,\r\n além de economia de recursos públicos.

\r\n\r\n

De acordo com a Legislação Vigente todos os estabelecimentos privados que geram mais de 200 litros / dia de resíduos devem realizar seu cadastro perante à SP REGULA,\r\n a partir de autodeclaração, sendo os mesmos sujeitos às sanções e responsabilidades, de acordo com o ART. 299 do Código Penal.

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Quem deve se cadastrar?\",\r\n texto: () => (\r\n
\r\n

Todos os estabelecimentos considerados pela LEI como grande geradores, ou seja, geram mais de 200 litros / dia de resíduos devem realizar seu cadastro perante à SP REGULA,

\r\n\r\n

No caso dos transportadores, é obrigatório que os mesmos tenham SEDE ou FILIAL aberta no município de São Paulo bem como o Ato de registro de funcionamento emitido pela Subprefeitura local e demais documentos exigidos no momento do cadastro sendo essa uma condição indispensável para poder prestar os serviços na capital.

\r\n\r\n

A coleta domiciliar do Município é realizada pelas Concessionarias LOGA e ECOURBIS e é destinada exclusivamente para as residências, logo, de acordo com a legislação vigente, todos os estabelecimentos privados que geram mais de 200 litros de resíduos, precisam contratar uma empresa privada para fazer a coleta, transporte, tratamento e destinação ambientalmente correta dos seus resíduos.

\r\n
\r\n ),\r\n collapse: false\r\n },\r\n {\r\n title: \"Por que devo me cadastrar no CTR-E RGG?\",\r\n texto: () => (\r\n
\r\n

A Prefeitura de São Paulo, por meio da SP REGULA, em cumprimento as Políticas Publicas dentre elas o PGIRS – Plano de Gestão Integrada de Resíduos Sólidos da Cidade de São Paulo, almeja melhorias contínuas com o gerenciamento dos resíduos sólidos gerados na cidade.

\r\n\r\n

A iniciativa pretende diminuir os impactos na coleta publica bem como melhorar as ações de zeladoria da cidade e aumentar o controle das etapas do sistema, além de minimizar a proliferação de pragas urbanas (roedores, aves e insetos) a partir da melhoria do sistema de coleta e destinação dos resíduos.\r\n Portanto, o cadastramento dos estabelecimentos considerados grandes geradores é fundamental para o controle efetivo de todos os entes envolvidos.

\r\n
\r\n ),\r\n collapse: false\r\n }\r\n ]);\r\n\r\n const handleCollapse = (index) => {\r\n setMensagens(prevState => {\r\n const _mensagens = [...prevState];\r\n _mensagens[index] = { ..._mensagens[index], collapse: !_mensagens[index].collapse };\r\n return _mensagens;\r\n });\r\n }\r\n\r\n return \r\n \r\n \r\n
\r\n ?\r\n
\r\n \r\n

Dúvidas?

\r\n
\r\n\r\n \r\n {mensagens.map((value, index) => {\r\n const Component = value.texto;\r\n\r\n return
\r\n
handleCollapse(index)}\r\n >\r\n
{value.title}
\r\n {mensagens[index].collapse ? : }\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n })}\r\n
\r\n
\r\n history.push(\"/auth/duvidas\")}\r\n >\r\n Saiba Mais\r\n \r\n
\r\n ;\r\n}\r\n\r\nexport default Popover;","import React from 'react';\r\nimport {\r\n Navbar,\r\n NavbarBrand,\r\n NavbarToggler,\r\n Collapse,\r\n Nav,\r\n NavItem,\r\n NavLink\r\n} from 'reactstrap';\r\nimport Popover from './components/Popover';\r\n\r\nimport LogoSistema from '../../components/LogoSistema/LogoSistema';\r\n\r\nclass Navigation extends React.Component {\r\n constructor(props) {\r\n\r\n super(props);\r\n this.toggle = this.toggle.bind(this);\r\n this.state = {\r\n isOpen: false\r\n };\r\n }\r\n toggle() {\r\n this.setState({\r\n isOpen: !this.state.isOpen\r\n });\r\n }\r\n\r\n render() {\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 GESTÃO RESÍDUOS SÓLIDOS ESPECIAIS\r\n \r\n\r\n \r\n \r\n \r\n {window.location.pathname != \"/auth/duvidas\" &&\r\n <>\r\n \r\n
\r\n Dúvidas\r\n
\r\n
\r\n \r\n \r\n }\r\n \r\n
\r\n );\r\n }\r\n}\r\nexport default Navigation;","import React from \"react\";\r\n// javascript plugin used to create scrollbars on windows\r\nimport { Route, Switch } from \"react-router-dom\";\r\n\r\nimport Navigation from \"components/Navbars/Navigation\";\r\nimport { Container } from \"reactstrap\";\r\n\r\n//Routes\r\nimport routes from \"../routes/routes\";\r\nimport LogoSistema from \"../components/LogoSistema/LogoSistema\";\r\n\r\nclass Auth extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n if (!localStorage.getItem('firstAccess')) {\r\n localStorage.setItem('firstAccess', 'true');\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n {routes.map((prop, key) => {\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\nexport default Auth;\r\n","import React from \"react\";\r\n// javascript plugin used to create scrollbars on windows\r\nimport { Route, Switch } from \"react-router-dom\";\r\n\r\nimport { Container } from \"reactstrap\";\r\n\r\n//Routes\r\nimport routes from \"../routes/routes\";\r\n\r\nclass Empty extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n {routes.map((prop, key) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Empty;\r\n","import React from \"react\";\r\n// javascript plugin used to create scrollbars on windows\r\nimport { Route, Switch } from \"react-router-dom\";\r\n\r\nimport { Container } from \"reactstrap\";\r\n\r\n//Routes\r\nimport routes from \"../routes/routes\";\r\n\r\nclass External extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return (\r\n\r\n
\r\n \r\n \r\n {routes.map((prop, key) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default External;\r\n","import React from 'react'\r\n\r\n// style\r\nimport \"assets/css/loading.css\";\r\n\r\nexport default function Loading() {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n\r\nimport { createBrowserHistory } from \"history\";\r\nimport { Router, Route, Switch, Redirect } from \"react-router-dom\";\r\n\r\n\r\nimport AdminLayout from \"layouts/Admin\";\r\nimport AuthLayout from \"layouts/Auth\";\r\nimport EmptyLayout from \"layouts/Empty\";\r\nimport ExternalLayout from \"layouts/External\";\r\n\r\n//Context\r\nimport { useAuth } from \"../context/auth\";\r\n\r\n\r\nimport Loading from \"../components/Loading/Loading\";\r\n\r\nconst hist = createBrowserHistory();\r\n\r\nexport default function RoutesComponent() {\r\n const { session, loading } = useAuth();\r\n return (\r\n \r\n {loading && }\r\n \r\n } />\r\n } />\r\n } />\r\n } />\r\n {session && session.tipoAcesso == \"AreaRestrita\" &&\r\n } />\r\n }\r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport AuthProvider from './context/auth';\r\nimport RoutesComponent from '../src/routes/RoutesComponent';\r\n\r\nfunction App() {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","\r\nimport React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n\r\n\r\nimport \"bootstrap/dist/css/bootstrap.css\";\r\nimport \"assets/scss/paper-dashboard.scss?v=1.2.0\";\r\nimport \"assets/demo/demo.css\";\r\nimport \"perfect-scrollbar/css/perfect-scrollbar.css\";\r\nimport \"assets/css/default.css\";\r\nimport \"assets/css/loading.css\";\r\n\r\nimport App from './App';\r\n\r\nReactDOM.render(\r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n"],"sourceRoot":""}